#ifndef ALIRECOPARAM_H
#define ALIRECOPARAM_H
#include "TObject.h"
class AliDetectorRecoParam;
class AliRunInfo;
class AliEventInfo;
class THashTable;
class AliRecoParam : public TObject
{
public:
AliRecoParam();
virtual ~AliRecoParam();
enum {
kNSpecies = 5,
kNDetectors = 19
};
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;
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);
AliRecoParam(const AliRecoParam&);
AliRecoParam& operator=(const AliRecoParam&);
private:
Int_t fDetRecoParamsIndex[kNSpecies][kNDetectors];
TObjArray *fDetRecoParams[kNDetectors];
EventSpecie_t fEventSpecie;
static TString fkgEventSpecieName[] ;
ClassDef(AliRecoParam, 6)
};
#endif