Usage of RecoParam in QADataMaker and macro for Time slewing
[u/mrichter/AliRoot.git] / AD / ADrec / AliADReconstructor.h
1 #ifndef ALIADRECONSTRUCTOR_H
2 #define ALIADRECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.*/
4 /* See cxx source for full Copyright notice                              */
5 /* $Id: AliADReconstructor.h 20956 2007-09-26 14:22:18Z cvetan $  */
6
7 ///////////////////////////////////////////////////////////////////////////
8 ///                                                                      //
9 /// class for AD reconstruction                                       //
10 ///                                                                      //
11 ///////////////////////////////////////////////////////////////////////////
12
13 #include "AliReconstructor.h"
14 #include "AliLog.h"
15 #include "AliADConst.h"
16 #include "AliCDBManager.h"
17 #include "AliCDBStorage.h"
18 #include "AliCDBEntry.h"
19 #include "AliADRecoParam.h"
20
21 class AliESDAD;
22 class AliESDADfriend;
23 class AliESDEvent;
24 class AliADCalibData;
25
26 class AliADReconstructor: public AliReconstructor {
27 public:
28   AliADReconstructor();
29   virtual ~AliADReconstructor();
30   virtual void   Init();
31   
32   virtual void   Reconstruct(AliRawReader* /*rawReader*/, 
33                              TTree* /*clustersTree*/) const {
34     AliError("Method not implemented"); return;};
35   virtual void   Reconstruct(TTree*, TTree*) const {return;};
36   
37   virtual void   FillESD(TTree* digitsTree, TTree* /*clustersTree*/, 
38                          AliESDEvent* esd) const;
39
40   virtual void   FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
41                          AliESDEvent* /*esd*/) const { 
42     AliError("Method not implemented"); return;};
43   
44   virtual Bool_t HasDigitConversion() const { return kTRUE; }
45   virtual void ConvertDigits(AliRawReader* rawReader, TTree* digitsTree) const;
46
47   static const AliADRecoParam* GetRecoParam() { return dynamic_cast<const AliADRecoParam*>(AliReconstructor::GetRecoParam(14)); }
48
49   AliCDBStorage     *SetStorage(const char* uri);
50   void GetCollisionMode();
51
52   AliADCalibData *GetCalibData() const; 
53
54   enum {kInvalidADC   =  -1024,
55         kInvalidTime  =  -1024};
56
57   AliESDAD*    GetESDAD() { return fESDAD; }
58
59 protected:
60
61   AliESDAD*        fESDAD;       // AD ESD object 
62   AliESDEvent*     fESD;         // ESD object
63   AliESDADfriend*  fESDADfriend; // AD ESDfriend object  
64
65 private:
66   AliADReconstructor(const AliADReconstructor &reconstructor); //Not implemented
67   AliADReconstructor& operator = (const AliADReconstructor &reconstructor); //Not implemented
68   
69   AliADCalibData* fCalibData;      //! calibration data
70   mutable TClonesArray *fDigitsArray;  // clones-array for ConvertDigits() and FillESD()
71   
72   Int_t              fCollisionMode;  // =0->p-p, =1->A-A
73   Float_t            fBeamEnergy;     // beam energy
74
75   ClassDef(AliADReconstructor, 1)  // class for the AD reconstruction
76 };
77
78 #endif