Fix plus small changes
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisSelector.h
1 #ifndef ALIANALYSISSELECTOR_H
2 #define ALIANALYSISSELECTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // Author: Andrei Gheata, 31/05/2006
7
8 //==============================================================================
9 //   AliAnalysisSelector - Transparent selector class instantiated by an
10 // analysis manager object.
11 //==============================================================================
12
13 #ifndef ROOT_TSelector
14 #include "TSelector.h"
15 #endif
16
17 class AliAnalysisManager;
18
19 class AliAnalysisSelector : public TSelector {
20
21 protected:
22    Bool_t              fInitialized; // Flag that initialization was done
23    AliAnalysisManager *fAnalysis;    // Analysis manager to be processed
24    
25 private:
26    AliAnalysisSelector(const AliAnalysisSelector&);            // not implemented
27    AliAnalysisSelector& operator=(const AliAnalysisSelector&); // not implemented
28    void                RestoreAnalysisManager();
29
30 public:
31    AliAnalysisSelector();
32    AliAnalysisSelector(AliAnalysisManager *mgr);
33    virtual ~AliAnalysisSelector();
34    
35    virtual int         Version() const {return 2;}
36    virtual void        Init(TTree *tree);
37    virtual void        Begin(TTree *);
38    virtual void        SlaveBegin(TTree *tree);
39    virtual Bool_t      Notify();
40    virtual Bool_t      Process(Long64_t entry);
41    virtual void        SlaveTerminate();
42    virtual void        Terminate();
43
44    ClassDef(AliAnalysisSelector,0)  //A class for processing jobs using AliAnalysisManager
45 };
46
47 #endif