2 // $Id: AliHLTCALOConstants.h $
4 //* This file is property of and copyright by the ALICE HLT Project *
5 //* ALICE Experiment at CERN, All rights reserved. *
6 //* See cxx source for full Copyright notice */
8 /// @file AliHLTCaloConstants.h
9 /// @author Svein Lindal
11 /// @brief Class containing constants for PHOS and EMCAL
17 #ifndef ALIHLTCALOCONSTANTS_H
18 #define ALIHLTCALOCONSTANTS_H
20 #include "AliCaloConstants.h"
23 class AliHLTCaloConstants
26 AliHLTCaloConstants();
27 virtual ~AliHLTCaloConstants();
28 virtual void InitConstants() = 0;
30 // Common PHOS / EMCAL stuff
31 static Int_t GetALTROMAXSAMPLES() { return ALTRO::ALTROMAXSAMPLES; };
32 static Int_t GetNGAINS() { return ALTRO::NGAINS; };
33 static Int_t GetHIGHGAIN() { return ALTRO::HIGHGAIN; };
34 static Int_t GetLOWGAIN() { return ALTRO::LOWGAIN; };
35 static Double_t GetHGLGFACTOR() { return CALO::HGLGFACTOR;}; //FR
36 static Int_t GetMAXBINVALUE() { return ALTRO::MAXBINVALUE; };
37 static Int_t GetCSPSPERFEE() { return CALO::CSPSPERFEE; };
38 static Int_t GetNALTROS() { return ALTRO::NALTROS; };
39 static Int_t GetNALTROCHANNELS() { return ALTRO::NALTROCHANNELS; };
40 static Int_t GetNBRANCHES() { return CALO::NBRANCHES; };
41 //static Int_t GetMAXHWADDRESSES() { return CALO::MAXHWADDRESSES; }
42 static Int_t GetMAXHWADDRESSES() { return PHOS::MAXHWADDR; }
43 // Detector specific stuff
44 // PHOS Only, bad move somewher else, PTH
45 virtual Int_t GetNZROWSRCU() const { return 56 ; } ;
46 virtual Int_t GetNXCOLUMNSRCU() const { return 16; } ;
49 virtual Int_t GetNZROWSMOD() const = 0;
50 virtual Int_t GetNXCOLUMNSMOD() const = 0;
51 virtual Int_t GetNMODULES() const = 0;
52 virtual Int_t GetNRCUSPERMODULE() const = 0;
53 virtual Int_t GetNFEECS() const = 0;
55 Int_t GetDDLOFFSET() const { return fkDDLOFFSET; }
56 Float_t GetCELLSTEP() const { return fkCELLSTEP; }
58 //EMCAL specific, !! Move somewhere else, PTH
59 Float_t GetCELLSTEPPHI() const { return fkCELLSTEPPHI; } //FR
60 Float_t GetCELLHEIGHT() const { return fkCELLHEIGHT; } //FR
61 Float_t GetCELLANGLE() const { return fkCELLANGLE; } //FR
62 Float_t GetRADLENGTH() const { return fkRADLENGTH; } //FR
63 Float_t GetCRITICENERGY() const { return fkCRITICENERGY; } //FR
64 Float_t GetCJ() const { return fkCJ;} //FR
65 TString GetDETNAME() { return fkDETNAME; };
68 //EMCAL specific, !! Move somewhere else, PTH
69 // @todo: These variables should be declared constant, doesnt work right now
70 // because the default copy contructor is called somewhere.
72 Float_t fkCELLSTEPPHI;
76 Float_t fkCRITICENERGY;
79 Float_t fkCELLSTEP; //Constant
81 Int_t fkDDLOFFSET; //Constant
85 AliHLTCaloConstants(const AliHLTCaloConstants & );
86 AliHLTCaloConstants & operator = (const AliHLTCaloConstants &);
88 ClassDef(AliHLTCaloConstants, 1)