// @(#)root/tree:$Name: $:$Id: TSelector.h,v 1.19 2005/02/21 09:41:39 rdm Exp $
// Author: Rene Brun 05/02/97
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TSelector
#define ROOT_TSelector
//////////////////////////////////////////////////////////////////////////
// //
// TSelector //
// //
// A utility class for Trees selections. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
class TTree;
class TSelector : public TObject {
protected:
Int_t fStatus; //selector status
TString fOption; //option given to TTree::Process
TObject *fObject; //current object if processing object (vs. TTree)
TList *fInput; //list of objects available during processing (on PROOF)
TList *fOutput; //list of objects created during processing (on PROOF)
public:
TSelector();
virtual ~TSelector();
virtual int Version() const { return 0; }
virtual void Init(TTree *) { }
virtual void Begin(TTree *) { }
virtual void SlaveBegin(TTree *) { }
virtual Bool_t Notify() { return kTRUE; }
virtual const char *GetOption() const { return fOption; }
virtual Int_t GetStatus() const { return fStatus; }
virtual Bool_t ProcessCut(Long64_t /*entry*/) { return kTRUE; }
virtual void ProcessFill(Long64_t /*entry*/) { }
virtual Bool_t Process(Long64_t /*entry*/) { return kFALSE; }
virtual void SetOption(const char *option) { fOption = option; }
virtual void SetObject(TObject *obj) { fObject = obj; }
virtual void SetInputList(TList *input) { fInput = input; }
virtual void SetStatus(Int_t status) { fStatus = status; }
virtual TList *GetOutputList() const { return fOutput; }
virtual void SlaveTerminate() { }
virtual void Terminate() { }
static TSelector *GetSelector(const char *filename);
ClassDef(TSelector,0) //A utility class for tree and object processing
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1