Bug fix. Removed delete statement
[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 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     kNDetectors = 16 // number of detectors (last one is GRP!)
33   };
34   enum EventSpecie_t {kDefault = 1,
35                       kLowMult = 2,
36                       kHighMult = 4,
37                       kCosmic = 8,
38                       kCalib = 16};
39
40   static Int_t                  AConvert(EventSpecie_t es) ; 
41   static EventSpecie_t          Convert(Int_t ies) ; 
42   static EventSpecie_t          ConvertIndex(Int_t index) ;
43
44   virtual void                  Print(Option_t *option="") const;
45   const TObjArray              *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
46   void                          SetEventSpecie(const AliRunInfo*runInfo, const AliEventInfo &evInfo,
47                                                const THashTable*cosmicTriggersList);
48   EventSpecie_t                 GetEventSpecie() const { return fEventSpecie; }
49   static const char*            GetEventSpecieName(EventSpecie_t es);
50   static const char*            GetEventSpecieName(Int_t esIndex);
51   const char*                   PrintEventSpecie() const;
52   const AliDetectorRecoParam   *GetDetRecoParam(Int_t iDet) const;
53   void                          AddDetRecoParam(Int_t iDet, AliDetectorRecoParam* param);
54   Bool_t                        AddDetRecoParamArray(Int_t iDet, TObjArray* parArray);
55
56   AliRecoParam(const AliRecoParam&);
57   AliRecoParam& operator=(const AliRecoParam&);
58
59
60 private:
61
62   Int_t      fDetRecoParamsIndex[kNSpecies][kNDetectors]; // index to fDetRecoParams arrays
63   TObjArray *fDetRecoParams[kNDetectors];   // array with reconstruction-parameter objects for all detectors
64   EventSpecie_t fEventSpecie;               // current event specie
65   static TString fkgEventSpecieName[] ; // the names of the event species
66   ClassDef(AliRecoParam, 6)
67 };
68
69
70 #endif