Cleaning the code and using "const" wherever it is ppossible (Boris)
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnBaseAT.h
1 #ifndef AliRsnBaseAT_cxx\r
2 #define AliRsnBaseAT_cxx\r
3 \r
4 #include <TChain.h>\r
5 \r
6 #include "AliAnalysisTask.h"\r
7 \r
8 class AliAnalysisManager;\r
9 \r
10 class AliESDEvent;\r
11 class AliAODEvent;\r
12 class AliRsnEvent;\r
13 \r
14 \r
15 class AliRsnBaseAT : public AliAnalysisTask\r
16 {\r
17   public:\r
18     AliRsnBaseAT ( const char *name = "AliRsnBaseAT" );\r
19     virtual ~AliRsnBaseAT() {}\r
20 \r
21     enum EInputType\r
22     {\r
23       kAOD = 0,\r
24       kESD,\r
25       kESDMC,\r
26       kMC,\r
27       kRSN,\r
28       kLastIndex\r
29     };\r
30 \r
31     virtual void   InitIOVars();\r
32     virtual void   LocalInit() {;}\r
33     virtual Bool_t Notify();\r
34     virtual void   ConnectInputData ( Option_t * );\r
35     virtual void   CreateOutputObjects() {;}\r
36     virtual void   Exec ( Option_t *option ) {;}\r
37     virtual void   Terminate ( Option_t * ) {;}\r
38 \r
39     void SetInputType (EInputType& theValue, Short_t inputIndex=0) { fInputType[inputIndex] = theValue; }\r
40     EInputType GetInputType ( Short_t inputIndex=0 ) { return fInputType[inputIndex]; }\r
41 \r
42     TChain* GetChain ( const Int_t& index = 0) const { return fChain[index]; }\r
43 \r
44     AliRsnEvent *GetRSNEvent ( Int_t index=0 ) { return fRSN[index]; }\r
45 \r
46     void SetAnalysisMgr ( AliAnalysisManager* theValue ) { fAnalysisMgr = theValue; }\r
47     AliAnalysisManager* GetAnalysisMgr() const { return fAnalysisMgr; }\r
48 \r
49   protected:\r
50     \r
51     Long64_t      fNumOfEvents;\r
52 \r
53     TChain        *fChain[2];         // input chain\r
54     EInputType    fInputType[2];      // input type\r
55 \r
56     AliRsnEvent *fRSN[2];           // RsnMV event\r
57     AliESDEvent   *fESD[2];           // ESD event\r
58     AliAODEvent   *fAOD[2];           // AOD event\r
59 \r
60     AliAnalysisManager *fAnalysisMgr; // pointer to current AnalysisMgr\r
61 \r
62     virtual void  ConnectInputDataByInputType ( EInputType type ,Short_t inputIndex=0 );\r
63     virtual void  ConnectRSN ( Short_t inputIndex );\r
64     virtual void  ConnectESD ( Short_t inputIndex );\r
65     virtual void  ConnectESDMC ( Short_t inputIndex );\r
66     virtual void  ConnectAOD ( Short_t inputIndex );\r
67 \r
68     ClassDef ( AliRsnBaseAT, 1 );\r
69 };\r
70 \r
71 #endif\r