Fixes to the raw-data reco. 1. Possibility to select the max adc search window. 2...
[u/mrichter/AliRoot.git] / VZERO / AliVZEROReconstructor.h
1 #ifndef ALIVZERORECONSTRUCTOR_H
2 #define ALIVZERORECONSTRUCTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.*/
4 /* See cxx source for full Copyright notice                              */
5 /* $Id$  */
6
7 ///////////////////////////////////////////////////////////////////////////
8 ///                                                                      //
9 /// class for VZERO reconstruction                                       //
10 ///                                                                      //
11 ///////////////////////////////////////////////////////////////////////////
12
13 #include "AliReconstructor.h"
14 #include "AliCDBManager.h"
15 #include "AliCDBStorage.h"
16 #include "AliCDBEntry.h"
17
18 #include "AliLog.h"
19 #include "AliESDVZERO.h"
20 #include "AliVZERORecoParam.h"
21
22 class AliVZEROCalibData;
23 class AliESDEvent;
24 class AliESDVZEROfriend;
25
26 class AliVZEROReconstructor: public AliReconstructor {
27 public:
28   AliVZEROReconstructor();
29   virtual ~AliVZEROReconstructor();
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,
46                                TTree* digitsTree) const;
47
48   static const AliVZERORecoParam* GetRecoParam() { return dynamic_cast<const AliVZERORecoParam*>(AliReconstructor::GetRecoParam(12)); }
49                                  
50   AliCDBStorage     *SetStorage(const char* uri);
51   void GetCollisionMode();
52   
53   AliVZEROCalibData *GetCalibData() const; 
54
55   enum {kInvalidADC   =  -1024,
56         kInvalidTime  =  -1};
57
58 protected:
59   AliESDVZERO*        fESDVZERO;       // ESD output object  
60   AliESDEvent*             fESD;       // ESD object
61   AliESDVZEROfriend*  fESDVZEROfriend; // ESD friend object (complete raw data)
62   
63 private:
64   AliVZEROReconstructor(const AliVZEROReconstructor& reconstructor);
65   AliVZEROReconstructor& operator = (const AliVZEROReconstructor& reconstructor);
66   
67   AliVZEROCalibData* fCalibData;      //! calibration data
68
69   Int_t              fCollisionMode;  // =0->p-p, =1->A-A
70   Float_t            fBeamEnergy;     // beam energy
71     
72   ClassDef(AliVZEROReconstructor, 1)  // class for the VZERO reconstruction
73 };
74
75 #endif