]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliRecoParam.h
macro and flowevent maker to run part of the code in root
[u/mrichter/AliRoot.git] / STEER / AliRecoParam.h
1 #ifndef ALIRECOPARAM_H
2 #define ALIRECOPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 //                                                                           //
8 // Steering Class for reconstruction parameters                              //
9 // Revision: cvetan.cheshkov@cern.ch 12/06/2008                              //
10 // Its structure has been revised and it is interfaced to AliRunInfo and     //
11 // AliEventInfo.                                                             //
12 //                                                                           //
13 ///////////////////////////////////////////////////////////////////////////////
14
15
16 #include "TObject.h"
17
18 class AliDetectorRecoParam;
19 class AliRunInfo;
20 class AliEventInfo;
21
22 class AliRecoParam : public TObject
23 {
24
25  public: 
26   AliRecoParam();
27   virtual ~AliRecoParam();  
28   //
29   enum {
30     kNSpecies = 5,   // number of event species
31     kNDetectors = 16 // number of detectors (last one is GRP!)
32   };
33   enum EventSpecie_t {kDefault = 1,
34                       kLowMult = 2,
35                       kHighMult = 4,
36                       kCosmic = 8,
37                       kCalib = 16};
38
39   static Int_t                  AConvert(EventSpecie_t es) ; 
40   static EventSpecie_t          Convert(Int_t es) ; 
41   virtual void                  Print(Option_t *option="") const;
42   const TObjArray              *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
43   void                          SetEventSpecie(const AliRunInfo*runInfo, const AliEventInfo &evInfo);
44   EventSpecie_t                 GetEventSpecie() const { return fEventSpecie; }
45   static const char*            GetEventSpecieName(EventSpecie_t es);
46   static const char*            GetEventSpecieName(Int_t esIndex);
47   const char*                   PrintEventSpecie() const;
48   const AliDetectorRecoParam   *GetDetRecoParam(Int_t iDet) const;
49   void                          AddDetRecoParam(Int_t iDet, AliDetectorRecoParam* param);
50   Bool_t                        AddDetRecoParamArray(Int_t iDet, TObjArray* parArray);
51
52   AliRecoParam(const AliRecoParam&);
53   AliRecoParam& operator=(const AliRecoParam&);
54
55
56 private:
57
58   Int_t      fDetRecoParamsIndex[kNSpecies][kNDetectors]; // index to fDetRecoParams arrays
59   TObjArray *fDetRecoParams[kNDetectors];   // array with reconstruction-parameter objects for all detectors
60   EventSpecie_t fEventSpecie;               // current event specie
61   static TString fkgEventSpecieName[] ; // the names of the event species
62   ClassDef(AliRecoParam, 6)
63 };
64
65
66 #endif