]>
Commit | Line | Data |
---|---|---|
178dd351 | 1 | //-*- Mode: C++ -*- |
c375e15d | 2 | // $Id: AliHLTCALOConstants.h $ |
178dd351 | 3 | |
c375e15d | 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 AliHLCaloConstants.h | |
9 | /// @author Svein Lindal | |
10 | /// @date | |
11 | /// @brief Class containing constants for PHOS and EMCAL | |
12 | /// loaded libraries | |
178dd351 | 13 | |
a9c18ed8 | 14 | |
9107088d | 15 | #include "Rtypes.h" |
4f4b7ba4 | 16 | #include "TString.h" |
178dd351 | 17 | #ifndef ALIHLTCALOCONSTANTS_H |
18 | #define ALIHLTCALOCONSTANTS_H | |
19 | ||
df3d9e0e | 20 | #include "AliCaloConstants.h" |
21 | ||
22 | ||
23 | // namespace CaloHLTConst | |
24 | // { | |
25 | // const int MAXHOSTS=20; | |
26 | // //Constants related to the ALTRO chip (Common to EMCAL / PHOS ) | |
27 | // const int MAXBINVALUE = 1023; | |
28 | // const int NGAINS = 2; | |
29 | // const int HIGHGAIN = 1; | |
30 | // const int LOWGAIN = 0; | |
31 | // const int ALTROMAXSAMPLES = 1008; /**<The maximum number of samples of the ALTRO*/ | |
32 | // const int ALTROMAXPRESAMPLES = 15; | |
33 | // const int NALTROS = 4; /**<Number of ALTROs per frontend card*/ | |
34 | // const int NALTROCHANNELS = 16; | |
35 | ||
36 | // //FEE constants common to PHOS EMCAL | |
37 | // const int CSPSPERFEE = 32; | |
38 | // const int NBRANCHES = 2; | |
39 | // const int MAXHWADDRESSES = 4096; | |
dc3d3428 | 40 | |
df3d9e0e | 41 | // namespace EmcalHLTConst |
42 | // { | |
43 | // const int NZROWSMOD = 48; /**<Number of rows per module*/ | |
44 | // const int NXCOLUMNSMOD = 24; /**<Number of columns per module*/ | |
45 | // const int NRCUSPERSECTOR = 4; /**<Number of RCUs per sector*/ | |
46 | // const int NMODULES = 10; /**<Number of modules of the EMCAL detector*/ | |
47 | // const int NRCUSPERMODULE = 2 ; /**<Number of RCUs per Module*/ | |
48 | // const int NFEECS = 9; /**<Number of Frontend cards per branch*/ | |
49 | // }; | |
f71641f9 | 50 | |
df3d9e0e | 51 | // namespace PhosHLTConst |
52 | // { | |
53 | // const int NZROWSMOD = 56; /**<Number of rows per module*/ | |
54 | // const int NXCOLUMNSMOD = 64; /**<Number of columns per module*/ | |
55 | // const int NMODULES = 5; /**<Number of modules of the PHOS detector*/ | |
56 | // const int NRCUSPERMODULE = 4 ; /**<Number of RCUs per Module*/ | |
57 | // const int NFEECS = 14; /**<Number of Frontend cards per branch*/ | |
58 | // }; | |
59 | ||
60 | // }; | |
61 | ||
62 | ||
63 | // namespace CALO = CaloHLTConst; // just for easier notation | |
64 | // namespace EMCAL = CaloHLTConst::EmcalHLTConst; | |
65 | // namespace PHOS = CaloHLTConst::PhosHLTConst; | |
66 | ||
67 | ||
5addc185 | 68 | |
a0fab818 | 69 | |
77f350f7 | 70 | class AliHLTCaloConstants |
71 | { | |
72 | public: | |
4f4b7ba4 | 73 | AliHLTCaloConstants(); |
8c6eca17 | 74 | virtual ~AliHLTCaloConstants(); |
dc3d3428 | 75 | virtual void InitConstants() = 0; |
76 | ||
77 | // Common PHOS / EMCAL stuff | |
df3d9e0e | 78 | static Int_t GetALTROMAXSAMPLES() { return ALTRO::ALTROMAXSAMPLES; }; |
79 | static Int_t GetNGAINS() { return ALTRO::NGAINS; }; | |
80 | static Int_t GetHIGHGAIN() { return ALTRO::HIGHGAIN; }; | |
81 | static Int_t GetLOWGAIN() { return ALTRO::LOWGAIN; }; | |
82 | static Int_t GetMAXBINVALUE() { return ALTRO::MAXBINVALUE; }; | |
d9f3fa24 | 83 | static Int_t GetCSPSPERFEE() { return CALO::CSPSPERFEE; }; |
df3d9e0e | 84 | static Int_t GetNALTROS() { return ALTRO::NALTROS; }; |
85 | static Int_t GetNALTROCHANNELS() { return ALTRO::NALTROCHANNELS; }; | |
dc3d3428 | 86 | static Int_t GetNBRANCHES() { return CALO::NBRANCHES; }; |
f71641f9 | 87 | static Int_t GetMAXHWADDRESSES() { return CALO::MAXHWADDRESSES; } |
1ff2323f | 88 | |
dc3d3428 | 89 | // Detector specific stuff |
dc3d3428 | 90 | // PHOS Only, bad move somewher else, PTH |
91 | virtual Int_t GetNZROWSRCU() const { return 56 ; } ; | |
92 | virtual Int_t GetNXCOLUMNSRCU() const { return 16; } ; | |
93 | // END PHOS Only | |
94 | ||
95 | virtual Int_t GetNZROWSMOD() const = 0; | |
96 | virtual Int_t GetNXCOLUMNSMOD() const = 0; | |
97 | virtual Int_t GetNMODULES() const = 0; | |
dc3d3428 | 98 | virtual Int_t GetNRCUSPERMODULE() const = 0; |
dc3d3428 | 99 | virtual Int_t GetNFEECS() const = 0; |
c65aa222 | 100 | |
c65aa222 | 101 | Int_t GetDDLOFFSET() const { return fkDDLOFFSET; } |
532aa795 | 102 | Float_t GetCELLSTEP() const { return fkCELLSTEP; } |
dc3d3428 | 103 | |
104 | //EMCAL specific, !! Move somewhere else, PTH | |
532aa795 | 105 | Float_t GetMAXCELLSTEPETA() const { return fkMAXCELLSTEPETA; } //FR |
106 | Float_t GetMINCELLSTEPETA() const { return fkMINCELLSTEPETA; } //FR | |
107 | Float_t GetCELLSTEPPHI() const { return fkCELLSTEPPHI; } //FR | |
108 | Float_t GetCELLHEIGHT() const { return fkCELLHEIGHT; } //FR | |
109 | Float_t GetCELLANGLE() const { return fkCELLANGLE; } //FR | |
110 | Float_t GetRADLENGTH() const { return fkRADLENGTH; } //FR | |
111 | Float_t GetCRITICENERGY() const { return fkCRITICENERGY; } //FR | |
112 | Float_t GetCJ() const { return fkCJ;} //FR | |
532aa795 | 113 | TString GetDETNAME() { return fkDETNAME; }; |
8c6eca17 | 114 | |
532aa795 | 115 | protected: |
dc3d3428 | 116 | //EMCAL specific, !! Move somewhere else, PTH |
117 | // @todo: These variables should be declared constant, doesnt work right now | |
118 | // because the default copy contructor is called somewhere. | |
532aa795 | 119 | Float_t fkMAXCELLSTEPETA; |
120 | Float_t fkMINCELLSTEPETA; | |
121 | Float_t fkCELLSTEPPHI; | |
122 | Float_t fkCELLHEIGHT; | |
123 | Float_t fkCELLANGLE; | |
124 | Float_t fkRADLENGTH; | |
125 | Float_t fkCRITICENERGY; | |
2436a6a2 | 126 | |
532aa795 | 127 | Float_t fkCJ; |
2436a6a2 | 128 | Float_t fkCELLSTEP; //Constant |
129 | ||
f3e5fbc0 | 130 | Int_t fkDDLOFFSET; //Constant |
131 | TString fkDETNAME; | |
d9f3fa24 | 132 | |
532aa795 | 133 | private: |
d9f3fa24 | 134 | AliHLTCaloConstants(const AliHLTCaloConstants & ); |
135 | AliHLTCaloConstants & operator = (const AliHLTCaloConstants &); | |
136 | ||
dc3d3428 | 137 | ClassDef(AliHLTCaloConstants, 1) |
77f350f7 | 138 | }; |
a0fab818 | 139 | |
140 | ||
a0fab818 | 141 | |
178dd351 | 142 | #endif |