Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id: AliHLTCALOConstants.h $
3 :
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 */
7 :
8 : /// @file AliHLTCaloConstants.h
9 : /// @author Svein Lindal
10 : /// @date
11 : /// @brief Class containing constants for PHOS and EMCAL
12 : /// loaded libraries
13 :
14 :
15 : #include "Rtypes.h"
16 : #include "TString.h"
17 : #ifndef ALIHLTCALOCONSTANTS_H
18 : #define ALIHLTCALOCONSTANTS_H
19 :
20 : #include "AliCaloConstants.h"
21 :
22 :
23 : class AliHLTCaloConstants
24 : {
25 : public:
26 : AliHLTCaloConstants();
27 : virtual ~AliHLTCaloConstants();
28 : virtual void InitConstants() = 0;
29 :
30 : // Common PHOS / EMCAL stuff
31 0 : static Int_t GetALTROMAXSAMPLES() { return ALTRO::ALTROMAXSAMPLES; };
32 0 : static Int_t GetNGAINS() { return ALTRO::NGAINS; };
33 0 : static Int_t GetHIGHGAIN() { return ALTRO::HIGHGAIN; };
34 0 : static Int_t GetLOWGAIN() { return ALTRO::LOWGAIN; };
35 0 : static Double_t GetHGLGFACTOR() { return CALO::HGLGFACTOR;}; //FR
36 0 : static Int_t GetMAXBINVALUE() { return ALTRO::MAXBINVALUE; };
37 0 : static Int_t GetCSPSPERFEE() { return CALO::CSPSPERFEE; };
38 0 : static Int_t GetNALTROS() { return ALTRO::NALTROS; };
39 0 : static Int_t GetNALTROCHANNELS() { return ALTRO::NALTROCHANNELS; };
40 0 : static Int_t GetNBRANCHES() { return CALO::NBRANCHES; };
41 : //static Int_t GetMAXHWADDRESSES() { return CALO::MAXHWADDRESSES; }
42 0 : static Int_t GetMAXHWADDRESSES() { return PHOS::MAXHWADDR; }
43 : // Detector specific stuff
44 : // PHOS Only, bad move somewher else, PTH
45 0 : virtual Int_t GetNZROWSRCU() const { return 56 ; } ;
46 0 : virtual Int_t GetNXCOLUMNSRCU() const { return 16; } ;
47 : // END PHOS Only
48 :
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;
54 :
55 0 : Int_t GetDDLOFFSET() const { return fkDDLOFFSET; }
56 0 : Float_t GetCELLSTEP() const { return fkCELLSTEP; }
57 :
58 : //EMCAL specific, !! Move somewhere else, PTH
59 0 : Float_t GetCELLSTEPPHI() const { return fkCELLSTEPPHI; } //FR
60 0 : Float_t GetCELLHEIGHT() const { return fkCELLHEIGHT; } //FR
61 0 : Float_t GetCELLANGLE() const { return fkCELLANGLE; } //FR
62 0 : Float_t GetRADLENGTH() const { return fkRADLENGTH; } //FR
63 0 : Float_t GetCRITICENERGY() const { return fkCRITICENERGY; } //FR
64 0 : Float_t GetCJ() const { return fkCJ;} //FR
65 0 : TString GetDETNAME() { return fkDETNAME; };
66 :
67 : protected:
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.
71 :
72 : Float_t fkCELLSTEPPHI;
73 : Float_t fkCELLHEIGHT;
74 : Float_t fkCELLANGLE;
75 : Float_t fkRADLENGTH;
76 : Float_t fkCRITICENERGY;
77 :
78 : Float_t fkCJ;
79 : Float_t fkCELLSTEP; //Constant
80 :
81 : Int_t fkDDLOFFSET; //Constant
82 : TString fkDETNAME;
83 :
84 : private:
85 : AliHLTCaloConstants(const AliHLTCaloConstants & );
86 : AliHLTCaloConstants & operator = (const AliHLTCaloConstants &);
87 :
88 6 : ClassDef(AliHLTCaloConstants, 1)
89 : };
90 :
91 :
92 :
93 : #endif
|