CMS 3D CMS Logo

EcalPreshowerGeometry.h
Go to the documentation of this file.
1 #ifndef EcalPreshowerGeometry_h
2 #define EcalPreshowerGeometry_h
3 
13 #include <vector>
14 
16 public:
17  typedef std::vector<PreshowerStrip> CellVec;
18 
22 
27 
31  typedef ESDetId DetIdType;
32 
34 
35  enum { k_NumberOfShapes = 4 };
36 
38 
39  static std::string dbString() { return "PEcalPreshowerRcd"; }
40 
41  unsigned int numberOfShapes() const override { return k_NumberOfShapes; }
42  unsigned int numberOfParametersPerShape() const override { return k_NumberOfParametersPerShape; }
43 
45 
47  ~EcalPreshowerGeometry() override;
48 
49  void setzPlanes(CCGFloat z1minus, CCGFloat z2minus, CCGFloat z1plus, CCGFloat z2plus);
50 
51  // Get closest cell
52  DetId getClosestCell(const GlobalPoint& r) const override;
53 
54  // Get closest cell in arbitrary plane (1 or 2)
55  virtual DetId getClosestCellInPlane(const GlobalPoint& r, int plane) const;
56 
57  void initializeParms() override;
58  unsigned int numberOfTransformParms() const override { return 3; }
59 
60  static std::string hitString() { return "EcalHitsES"; }
61 
62  static std::string producerTag() { return "EcalPreshower"; }
63 
64  static unsigned int numberOfAlignments() { return 8; }
65 
66  static unsigned int alignmentTransformIndexLocal(const DetId& id);
67 
68  static unsigned int alignmentTransformIndexGlobal(const DetId& id);
69 
70  static DetId detIdFromLocalAlignmentIndex(unsigned int iLoc);
71 
72  static void localCorners(Pt3DVec& lc, const CCGFloat* pv, unsigned int i, Pt3D& ref);
73 
74  void newCell(const GlobalPoint& f1,
75  const GlobalPoint& f2,
76  const GlobalPoint& f3,
77  const CCGFloat* parm,
78  const DetId& detId) override;
79 
81  bool present(const DetId& id) const override {
82  if (id == DetId(0))
83  return false;
84  // not needed???
85  auto index = CaloGenericDetId(id).denseIndex();
86  return index < m_cellVec.size();
87  }
88 
89 protected:
90  // Modify the RawPtr class
91  const CaloCellGeometry* getGeometryRawPtr(uint32_t index) const override;
92 
93 private:
97 
100 
102 
104 };
105 
106 #endif
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition: CaloCellGeometry.h:55
CaloGenericDetId.h
EcalPreshowerGeometry::getGeometryRawPtr
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
Definition: EcalPreshowerGeometry.cc:210
mps_fire.i
i
Definition: mps_fire.py:428
EcalPreshowerGeometry::m_xWidWaf
const CCGFloat m_xWidWaf
Definition: EcalPreshowerGeometry.h:94
CaloCellGeometry::CCGFloat
float CCGFloat
Definition: CaloCellGeometry.h:52
PEcalPreshowerRcd
Definition: PEcalPreshowerRcd.h:5
CaloGenericDetId
Definition: CaloGenericDetId.h:12
EcalPreshowerGeometry::numberOfTransformParms
unsigned int numberOfTransformParms() const override
Definition: EcalPreshowerGeometry.h:58
EcalPreshowerGeometry::~EcalPreshowerGeometry
~EcalPreshowerGeometry() override
The EcalPreshowerGeometry will delete all its cell geometries at destruction time.
Definition: EcalPreshowerGeometry.cc:32
EcalPreshowerGeometry::getClosestCell
DetId getClosestCell(const GlobalPoint &r) const override
Definition: EcalPreshowerGeometry.cc:137
EcalPreshowerGeometry::setzPlanes
void setzPlanes(CCGFloat z1minus, CCGFloat z2minus, CCGFloat z1plus, CCGFloat z2plus)
Definition: EcalPreshowerGeometry.cc:127
ESAlignmentRcd
Definition: ESAlignmentRcd.h:6
EcalPreshowerGeometry::Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: EcalPreshowerGeometry.h:21
EcalPreshowerGeometry::detIdFromLocalAlignmentIndex
static DetId detIdFromLocalAlignmentIndex(unsigned int iLoc)
Definition: EcalPreshowerGeometry.cc:71
CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: CaloCellGeometry.cc:4
ESDetId::kSizeForDenseIndexing
Definition: ESDetId.h:102
EcalPreshowerGeometry::numberOfParametersPerShape
unsigned int numberOfParametersPerShape() const override
Definition: EcalPreshowerGeometry.h:42
EcalPreshowerGeometry::m_xIntraLadGap
const CCGFloat m_xIntraLadGap
Definition: EcalPreshowerGeometry.h:96
ESDetId
Definition: ESDetId.h:15
ESDetId.h
EcalPreshowerGeometry::k_NumberOfCellsForCorners
Definition: EcalPreshowerGeometry.h:33
EZArrayFL
Definition: EZArrayFL.h:20
EcalPreshowerGeometry::numberOfShapes
unsigned int numberOfShapes() const override
Definition: EcalPreshowerGeometry.h:41
EcalPreshowerGeometry::numberOfAlignments
static unsigned int numberOfAlignments()
Definition: EcalPreshowerGeometry.h:64
PEcalPreshowerRcd.h
Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: CaloCellGeometry.cc:5
EcalPreshowerGeometry::m_xInterLadGap
const CCGFloat m_xInterLadGap
Definition: EcalPreshowerGeometry.h:95
DetId
Definition: DetId.h:17
EcalPreshowerGeometry::PGeometryRecord
PEcalPreshowerRcd PGeometryRecord
Definition: EcalPreshowerGeometry.h:26
EcalPreshowerGeometry
Definition: EcalPreshowerGeometry.h:15
EcalPreshowerGeometry::CellVec
std::vector< PreshowerStrip > CellVec
Definition: EcalPreshowerGeometry.h:17
EcalPreshowerGeometry::Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: EcalPreshowerGeometry.h:20
EcalPreshowerGeometry::ParVecVec
CaloSubdetectorGeometry::ParVecVec ParVecVec
Definition: EcalPreshowerGeometry.h:30
EcalPreshowerGeometry::IdealRecord
IdealGeometryRecord IdealRecord
Definition: EcalPreshowerGeometry.h:23
EcalPreshowerGeometry::newCell
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
Definition: EcalPreshowerGeometry.cc:197
EcalPreshowerGeometry::localCorners
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
Definition: EcalPreshowerGeometry.cc:193
Point3DBase< float, GlobalTag >
EcalPreshowerGeometry::m_yWidAct
const CCGFloat m_yWidAct
Definition: EcalPreshowerGeometry.h:98
EcalPreshowerGeometry::m_cellVec
CellVec m_cellVec
Definition: EcalPreshowerGeometry.h:103
CaloCellGeometry::Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
Definition: CaloCellGeometry.h:54
EcalPreshowerNumberingScheme
Definition: EcalPreshowerNumberingScheme.h:10
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalPreshowerGeometry::getClosestCellInPlane
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
Definition: EcalPreshowerGeometry.cc:139
CaloSubdetectorGeometry.h
PreshowerStrip.h
EcalPreshowerGeometry::k_NumberOfShapes
Definition: EcalPreshowerGeometry.h:35
CaloCellGeometry
Definition: CaloCellGeometry.h:50
DeadROC_duringRun.f2
f2
Definition: DeadROC_duringRun.py:220
EcalPreshowerGeometry::k_NumberOfParametersPerShape
Definition: EcalPreshowerGeometry.h:37
EcalPreshowerGeometry::m_zplane
CCGFloat m_zplane[4]
Definition: EcalPreshowerGeometry.h:101
EcalPreshowerGeometry::alignmentTransformIndexGlobal
static unsigned int alignmentTransformIndexGlobal(const DetId &id)
Definition: EcalPreshowerGeometry.cc:75
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
EcalPreshowerGeometry::producerTag
static std::string producerTag()
Definition: EcalPreshowerGeometry.h:62
IdealGeometryRecord.h
EcalPreshowerGeometryRecord
Definition: EcalPreshowerGeometryRecord.h:23
alignCSCRings.r
r
Definition: alignCSCRings.py:93
EcalPreshowerGeometry::CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: EcalPreshowerGeometry.h:19
CaloSubdetectorGeometry::ParVecVec
CaloCellGeometry::ParVecVec ParVecVec
Definition: CaloSubdetectorGeometry.h:31
CaloGenericDetId::denseIndex
uint32_t denseIndex() const
Definition: CaloGenericDetId.cc:24
EcalPreshowerGeometryRecord.h
EcalPreshowerGeometry::EcalPreshowerGeometry
EcalPreshowerGeometry()
Definition: EcalPreshowerGeometry.cc:16
EcalPreshowerGeometry::initializeParms
void initializeParms() override
Definition: EcalPreshowerGeometry.cc:79
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
EcalPreshowerNumberingScheme.h
EcalPreshowerGeometry::present
bool present(const DetId &id) const override
is this detid present in the geometry?
Definition: EcalPreshowerGeometry.h:81
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: CaloCellGeometry.cc:6
EcalPreshowerGeometry::alignmentTransformIndexLocal
static unsigned int alignmentTransformIndexLocal(const DetId &id)
Definition: EcalPreshowerGeometry.cc:34
EcalPreshowerGeometry::ParVec
CaloSubdetectorGeometry::ParVec ParVec
Definition: EcalPreshowerGeometry.h:29
EcalPreshowerGeometry::m_yCtrOff
const CCGFloat m_yCtrOff
Definition: EcalPreshowerGeometry.h:99
EcalPreshowerGeometry::dbString
static std::string dbString()
Definition: EcalPreshowerGeometry.h:39
EcalPreshowerGeometry::hitString
static std::string hitString()
Definition: EcalPreshowerGeometry.h:60
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
ESAlignmentRcd.h
EcalPreshowerGeometry::DetIdType
ESDetId DetIdType
Definition: EcalPreshowerGeometry.h:31
IdealGeometryRecord
Definition: IdealGeometryRecord.h:25
EcalPreshowerGeometry::NumberingScheme
EcalPreshowerNumberingScheme NumberingScheme
Definition: EcalPreshowerGeometry.h:28
EcalPreshowerGeometry::AlignmentRecord
ESAlignmentRcd AlignmentRecord
Definition: EcalPreshowerGeometry.h:25
EcalPreshowerGeometry::AlignedRecord
EcalPreshowerGeometryRecord AlignedRecord
Definition: EcalPreshowerGeometry.h:24