CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Numbers.h
Go to the documentation of this file.
1 #ifndef NUMBERS_H
2 #define NUMBERS_H
3 
12 #include <string>
13 #include <stdexcept>
14 #include <vector>
15 
17 
20 
21 class DetId;
22 class EBDetId;
23 class EEDetId;
24 
25 class EcalTrigTowerDetId;
26 class EcalElectronicsId;
27 class EcalPnDiodeDetId;
28 class EcalScDetId;
29 
30 class EcalDCCHeaderBlock;
31 
34 
35 class Numbers {
36 
37  public:
38 
39  static void initGeometry( const edm::EventSetup& setup, bool verbose = false );
40 
41  static int iEB( const int ism ) throw( std::runtime_error );
42 
43  static std::string sEB( const int ism );
44 
45  static int iEE( const int ism ) throw( std::runtime_error );
46 
47  static std::string sEE( const int ism );
48 
49  static EcalSubdetector subDet( const EBDetId& id );
50 
51  static EcalSubdetector subDet( const EEDetId& id );
52 
53  static EcalSubdetector subDet( const EcalTrigTowerDetId& id );
54 
55  static EcalSubdetector subDet( const EcalScDetId& id );
56 
57  static EcalSubdetector subDet( const EcalElectronicsId& id );
58 
59  static EcalSubdetector subDet( const EcalPnDiodeDetId& id );
60 
61  static EcalSubdetector subDet( const EcalDCCHeaderBlock& id ) throw( std::runtime_error );
62 
63  static int iSM( const int ism, const EcalSubdetector subdet ) throw( std::runtime_error );
64 
65  static int iSM( const EBDetId& id ) throw( std::runtime_error );
66 
67  static int iSM( const EEDetId& id ) throw( std::runtime_error );
68 
69  static int iSM( const EcalTrigTowerDetId& id ) throw( std::runtime_error );
70 
71  static int iSM( const EcalElectronicsId& id ) throw( std::runtime_error );
72 
73  static int iSM( const EcalPnDiodeDetId& id ) throw( std::runtime_error );
74 
75  static int iSM( const EcalScDetId& id ) throw( std::runtime_error );
76 
77  static int iSM( const EcalDCCHeaderBlock& id, const EcalSubdetector subdet ) throw( std::runtime_error );
78 
79  static int iSC( const EcalScDetId& id ) throw( std::runtime_error );
80 
81  static int iSC( const int ism, const EcalSubdetector subdet, const int i1, const int i2 ) throw( std::runtime_error );
82 
83  static int iTT( const int ism, const EcalSubdetector subdet, const int i1, const int i2 ) throw( std::runtime_error );
84 
85  static int iTT( const EcalTrigTowerDetId& id ) throw( std::runtime_error );
86 
87  static int iTCC(const int ism, const EcalSubdetector subdet, const int i1, const int i2) throw( std::runtime_error );
88 
89  static int iTCC(const EcalTrigTowerDetId& id) throw( std::runtime_error );
90 
91  static std::vector<DetId>* crystals( const EcalTrigTowerDetId& id ) throw( std::runtime_error );
92 
93  static std::vector<DetId>* crystals( const EcalElectronicsId& id ) throw( std::runtime_error );
94 
95  static std::vector<DetId>* crystals( int idcc, int isc ) throw( std::runtime_error );
96 
97  static const EcalScDetId getEcalScDetId( const EEDetId& id ) throw( std::runtime_error );
98 
99  static int indexEB( const int ism, const int ie, const int ip );
100 
101  static int indexEE( const int ism, const int ix, const int iy );
102 
103  static int icEB( const int ism, const int ix, const int iy );
104 
105  static int icEE( const int ism, const int ix, const int iy ) throw( std::runtime_error );
106 
107  static int RtHalf(const EBDetId& id);
108 
109  static int RtHalf(const EEDetId& id);
110 
111  static int ix0EE( const int ism );
112 
113  static int iy0EE( const int ism );
114 
115  static bool validEE( const int ism, const int ix, const int iy );
116 
117 private:
118 
119  Numbers() {}; // Hidden to force static use
120  ~Numbers() {}; // Hidden to force static use
121 
122  static bool init;
123 
126 
127  static std::vector<DetId> crystalsTCC_[100*108];
128  static std::vector<DetId> crystalsDCC_[100* 54];
129 
130 };
131 
132 #endif // NUMBERS_H
static int iEB(const int ism)
Definition: Numbers.cc:65
static std::string sEB(const int ism)
Definition: Numbers.cc:81
static int iSC(const EcalScDetId &id)
Definition: Numbers.cc:456
static std::vector< DetId > crystalsDCC_[100 *54]
Definition: Numbers.h:128
static int RtHalf(const EBDetId &id)
Definition: Numbers.cc:761
static int iy0EE(const int ism)
Definition: Numbers.cc:964
Ecal readout channel identification [32:20] Unused (so far) [19:13] DCC id [12:6] tower [5:3] strip [...
static std::string sEE(const int ism)
Definition: Numbers.cc:199
static bool init
Definition: Numbers.h:120
static int indexEE(const int ism, const int ix, const int iy)
Definition: Numbers.cc:871
static int icEB(const int ism, const int ix, const int iy)
Definition: Numbers.cc:892
static int iTCC(const int ism, const EcalSubdetector subdet, const int i1, const int i2)
Definition: Numbers.cc:615
static const EcalElectronicsMapping * map
Definition: Numbers.h:124
static int iTT(const int ism, const EcalSubdetector subdet, const int i1, const int i2)
Definition: Numbers.cc:520
static int indexEB(const int ism, const int ie, const int ip)
Definition: Numbers.cc:863
static std::vector< DetId > * crystals(const EcalTrigTowerDetId &id)
Definition: Numbers.cc:734
static int iSM(const int ism, const EcalSubdetector subdet)
Definition: Numbers.cc:216
static int icEE(const int ism, const int ix, const int iy)
Definition: Numbers.cc:900
static int iEE(const int ism)
Definition: Numbers.cc:98
Definition: DetId.h:20
static void initGeometry(const edm::EventSetup &setup, bool verbose=false)
Definition: Numbers.cc:43
~Numbers()
Definition: Numbers.h:120
static const EcalTrigTowerConstituentsMap * mapTT
Definition: Numbers.h:125
static int ix0EE(const int ism)
Definition: Numbers.cc:946
static const EcalScDetId getEcalScDetId(const EEDetId &id)
Definition: Numbers.cc:838
static EcalSubdetector subDet(const EBDetId &id)
Definition: Numbers.cc:130
static bool validEE(const int ism, const int ix, const int iy)
Definition: Numbers.cc:982
EcalSubdetector
int ism(int ieta, int iphi)
Definition: EcalPyUtils.cc:47
static std::vector< DetId > crystalsTCC_[100 *108]
Definition: Numbers.h:127
Numbers()
Definition: Numbers.h:119