]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/STEER/AliRecoParam.h
Added possibility to monitor performance in simulation with respect to geometry and...
[u/mrichter/AliRoot.git] / STEER / 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 class THashTable;
22
23 class AliRecoParam : public TObject
24 {
25
26  public: 
27   AliRecoParam();
28   virtual ~AliRecoParam();  
29   //
30   enum {
31     kNSpecies = 5,   // number of event species
32 // #ifdef MFT_UPGRADE  
33 //     kNDetectors = 17 // number of detectors (last one is MFT!)
34 // #else
35 //     kNDetectors = 16 // number of detectors (last one is GRP!)
36 // #endif
37     kNDetectors = 17 // number of detectors (last one is MFT!)   // AU
38   };
39   enum EventSpecie_t {kDefault = 1,
40                       kLowMult = 2,
41                       kHighMult = 4,
42                       kCosmic = 8,
43                       kCalib = 16};
44
45   static Int_t                  AConvert(EventSpecie_t es) ; 
46   static EventSpecie_t          Convert(Int_t ies) ; 
47   static EventSpecie_t          ConvertIndex(Int_t index) ;
48
49   virtual void                  Print(Option_t *option="") const;
50   const TObjArray              *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
51   void                          SetEventSpecie(const AliRunInfo*runInfo, const AliEventInfo &evInfo,
52                                                const THashTable*cosmicTriggersList);
53   EventSpecie_t                 GetEventSpecie() const { return fEventSpecie; }
54   static const char*            GetEventSpecieName(EventSpecie_t es);
55   static const char*            GetEventSpecieName(Int_t esIndex);
56   const char*                   PrintEventSpecie() const;
57   const AliDetectorRecoParam   *GetDetRecoParam(Int_t iDet) const;
58   void                          AddDetRecoParam(Int_t iDet, AliDetectorRecoParam* param);
59   Bool_t                        AddDetRecoParamArray(Int_t iDet, TObjArray* parArray);
60
61   AliRecoParam(const AliRecoParam&);
62   AliRecoParam& operator=(const AliRecoParam&);
63
64
65 private:
66
67   Int_t      fDetRecoParamsIndex[kNSpecies][kNDetectors]; // index to fDetRecoParams arrays
68   TObjArray *fDetRecoParams[kNDetectors];   // array with reconstruction-parameter objects for all detectors
69   EventSpecie_t fEventSpecie;               // current event specie
70   static TString fkgEventSpecieName[] ; // the names of the event species
71   ClassDef(AliRecoParam, 6)
72 };
73
74
75 #endif