Assignment operator implemented.
[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 = 15 // number of detectors
32   };
33   enum EventSpecie_t {kDefault = 1,
34                       kLowMult = 2,
35                       kHighMult = 4,
36                       kCosmic = 8,
37                       kCalib = 16};
38
39   virtual void                  Print(Option_t *option="") const;
40   const TObjArray              *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
41   void                          SetEventSpecie(const AliRunInfo*/*runInfo*/, const AliEventInfo &/*evInfo*/);
42   EventSpecie_t                 GetEventSpecie() const { return fEventSpecie; }
43   const AliDetectorRecoParam   *GetDetRecoParam(Int_t iDet) const;
44   void                          AddDetRecoParam(Int_t iDet, AliDetectorRecoParam* param);
45   Bool_t                        AddDetRecoParamArray(Int_t iDet, TObjArray* parArray);
46
47   AliRecoParam(const AliRecoParam&);
48   AliRecoParam& operator=(const AliRecoParam&);
49
50 private:
51
52   Int_t      fDetRecoParamsIndex[kNSpecies][kNDetectors]; // index to fDetRecoParams arrays
53   TObjArray *fDetRecoParams[kNDetectors];   // array with reconstruction-parameter objects for all detectors
54   EventSpecie_t fEventSpecie;               // current event specie
55
56   ClassDef(AliRecoParam, 4)
57 };
58
59
60 #endif