///////////////////////////////////////////////////////////////////////////////
// //
-// Base Class for Detector reconstruction parameters //
+// Steering Class for reconstruction parameters //
// Revision: cvetan.cheshkov@cern.ch 12/06/2008 //
-// Its structure has been revised and it is interfaced to AliEventInfo. //
+// Its structure has been revised and it is interfaced to AliRunInfo and //
+// AliEventInfo. //
// //
///////////////////////////////////////////////////////////////////////////////
-#include "TNamed.h"
+#include "TObject.h"
+
class AliDetectorRecoParam;
+class AliRunInfo;
class AliEventInfo;
+class THashTable;
-class AliRecoParam : public TNamed
+class AliRecoParam : public TObject
{
public:
AliRecoParam();
- AliRecoParam(const char *detector);
virtual ~AliRecoParam();
//
+ enum {
+ kNSpecies = 5, // number of event species
+ kNDetectors = 16 // number of detectors (last one is GRP!)
+ };
+ enum EventSpecie_t {kDefault = 1,
+ kLowMult = 2,
+ kHighMult = 4,
+ kCosmic = 8,
+ kCalib = 16};
+
+ static Int_t AConvert(EventSpecie_t es) ;
+ static EventSpecie_t Convert(Int_t ies) ;
+ static EventSpecie_t ConvertIndex(Int_t index) ;
+
virtual void Print(Option_t *option="") const;
- TObjArray *GetAllRecoParams() const { return fRecoParamArray; }
- virtual AliDetectorRecoParam *GetRecoParam(const AliEventInfo &evInfo) const = 0;
- void AddRecoParam(AliDetectorRecoParam* param);
+ const TObjArray *GetDetRecoParamArray(Int_t iDet) const { return fDetRecoParams[iDet]; }
+ void SetEventSpecie(const AliRunInfo*runInfo, const AliEventInfo &evInfo,
+ const THashTable*cosmicTriggersList);
+ EventSpecie_t GetEventSpecie() const { return fEventSpecie; }
+ static const char* GetEventSpecieName(EventSpecie_t es);
+ static const char* GetEventSpecieName(Int_t esIndex);
+ const char* PrintEventSpecie() const;
+ const AliDetectorRecoParam *GetDetRecoParam(Int_t iDet) const;
+ void AddDetRecoParam(Int_t iDet, AliDetectorRecoParam* param);
+ Bool_t AddDetRecoParamArray(Int_t iDet, TObjArray* parArray);
-protected:
+ AliRecoParam(const AliRecoParam&);
+ AliRecoParam& operator=(const AliRecoParam&);
- TObjArray *fRecoParamArray; //array with reconstruction-parameter objects
private:
- AliRecoParam(const AliRecoParam&); // Not implemented
- AliRecoParam& operator=(const AliRecoParam&); // Not implemented
-
- ClassDef(AliRecoParam, 2)
+ Int_t fDetRecoParamsIndex[kNSpecies][kNDetectors]; // index to fDetRecoParams arrays
+ TObjArray *fDetRecoParams[kNDetectors]; // array with reconstruction-parameter objects for all detectors
+ EventSpecie_t fEventSpecie; // current event specie
+ static TString fkgEventSpecieName[] ; // the names of the event species
+ ClassDef(AliRecoParam, 6)
};