CMS 3D CMS Logo

EcalRingCalibrationTools.h
Go to the documentation of this file.
1 #ifndef EcalRingCalibrationTools_h
2 #define EcalRingCalibrationTools_h
3 
4 /****************************************
5  *
6  * 25/09/2007 P. Meridiani (CERN)
7  * Description:
8  * Tools to ease the hanling of indices
9  * for ECAL ring intercalibration
10  *
11  ***************************************/
12 
13 #include <vector>
14 #include <mutex>
15 #include <atomic>
19 
20 class DetId;
21 class CaloGeometry;
22 
24 public:
27 
29  static short getRingIndex(DetId aDetId);
30 
31  static short getModuleIndex(DetId aDetId);
32 
34  static std::vector<DetId> getDetIdsInRing(short aRingIndex);
35  static std::vector<DetId> getDetIdsInModule(short int);
36  static std::vector<DetId> getDetIdsInECAL();
37 
38  static constexpr short N_RING_TOTAL = 248;
39  static constexpr short N_RING_BARREL = 170;
40  static constexpr short N_RING_ENDCAP = 78;
41 
42  static constexpr short N_MODULES_BARREL = 144;
43 
44  static void setCaloGeometry(const CaloGeometry* geometry);
45 
46 private:
47  static void initializeFromGeometry(CaloGeometry const* geometry); // needed only for the endcap
48 
49  static std::atomic<bool> isInitializedFromGeometry_;
50 
52  static short endcapRingIndex_[EEDetId::IX_MAX][EEDetId::IY_MAX]; // array needed only for the endcaps
53 
54  static std::once_flag once_;
55 };
56 #endif
EcalRingCalibrationTools::EcalRingCalibrationTools
EcalRingCalibrationTools()
Definition: EcalRingCalibrationTools.h:24
EcalRingCalibrationTools::getRingIndex
static short getRingIndex(DetId aDetId)
Retrieve the phi-ring index corresponding to a DetId.
Definition: EcalRingCalibrationTools.cc:24
EcalRingCalibrationTools
Definition: EcalRingCalibrationTools.h:22
geometry
Definition: geometry.py:1
EBDetId.h
EEDetId.h
EcalRingCalibrationTools::N_RING_BARREL
static constexpr short N_RING_BARREL
Definition: EcalRingCalibrationTools.h:38
EcalRingCalibrationTools::isInitializedFromGeometry_
static std::atomic< bool > isInitializedFromGeometry_
Definition: EcalRingCalibrationTools.h:48
DetId
Definition: DetId.h:17
CaloGeometry
Definition: CaloGeometry.h:21
EcalRingCalibrationTools::N_RING_ENDCAP
static constexpr short N_RING_ENDCAP
Definition: EcalRingCalibrationTools.h:39
EcalRingCalibrationTools::initializeFromGeometry
static void initializeFromGeometry(CaloGeometry const *geometry)
Definition: EcalRingCalibrationTools.cc:185
EEDetId::IY_MAX
static const int IY_MAX
Definition: EEDetId.h:302
EcalRingCalibrationTools::getDetIdsInRing
static std::vector< DetId > getDetIdsInRing(short aRingIndex)
Retrieve the DetIds in a phi-ring.
Definition: EcalRingCalibrationTools.cc:66
EcalRingCalibrationTools::N_RING_TOTAL
static constexpr short N_RING_TOTAL
Definition: EcalRingCalibrationTools.h:37
thread_safety_macros.h
EEDetId::IX_MAX
static const int IX_MAX
Definition: EEDetId.h:298
EcalRingCalibrationTools::getDetIdsInModule
static std::vector< DetId > getDetIdsInModule(short int)
Definition: EcalRingCalibrationTools.cc:125
EcalRingCalibrationTools::once_
static std::once_flag once_
Definition: EcalRingCalibrationTools.h:53
EcalRingCalibrationTools::endcapRingIndex_
static short endcapRingIndex_[EEDetId::IX_MAX][EEDetId::IY_MAX]
Definition: EcalRingCalibrationTools.h:51
EcalRingCalibrationTools::getModuleIndex
static short getModuleIndex(DetId aDetId)
Definition: EcalRingCalibrationTools.cc:49
EcalRingCalibrationTools::~EcalRingCalibrationTools
~EcalRingCalibrationTools()
Definition: EcalRingCalibrationTools.h:25
EcalRingCalibrationTools::N_MODULES_BARREL
static constexpr short N_MODULES_BARREL
Definition: EcalRingCalibrationTools.h:41
EcalRingCalibrationTools::setCaloGeometry
static void setCaloGeometry(const CaloGeometry *geometry)
Definition: EcalRingCalibrationTools.cc:181
CMS_THREAD_GUARD
#define CMS_THREAD_GUARD(_var_)
Definition: thread_safety_macros.h:6
EcalRingCalibrationTools::getDetIdsInECAL
static std::vector< DetId > getDetIdsInECAL()
Definition: EcalRingCalibrationTools.cc:102