CMS 3D CMS Logo

CaloTowerGeometry.h
Go to the documentation of this file.
1 #ifndef GEOMETRY_HCALTOWERALGO_CALOTOWERGEOMETRY_H
2 #define GEOMETRY_HCALTOWERALGO_CALOTOWERGEOMETRY_H 1
3 
9 
17 public:
18  typedef std::vector<IdealObliquePrism> CellVec;
19 
23 
28 
30 
31  static std::string dbString() { return "PCaloTowerRcd"; }
32 
33  unsigned int numberOfShapes() const override { return k_NumberOfShapes; }
34  unsigned int numberOfParametersPerShape() const override { return k_NumberOfParametersPerShape; }
35  virtual unsigned int numberOfCellsForCorners() const { return k_NumberOfCellsForCorners; }
36 
37  CaloTowerGeometry(const CaloTowerTopology* cttopo);
38  ~CaloTowerGeometry() override;
39 
40  static std::string producerTag() { return "TOWER"; }
41 
42  static unsigned int numberOfAlignments() { return 0; }
43  unsigned int alignmentTransformIndexLocal(const DetId& id);
44  unsigned int alignmentTransformIndexGlobal(const DetId& id);
45 
46  static void localCorners(Pt3DVec& lc, const CCGFloat* pv, unsigned int i, Pt3D& ref);
47 
48  void newCell(const GlobalPoint& f1,
49  const GlobalPoint& f2,
50  const GlobalPoint& f3,
51  const CCGFloat* parm,
52  const DetId& detId) override;
53 
54  std::shared_ptr<const CaloCellGeometry> getGeometry(const DetId& id) const override {
55  return cellGeomPtr(m_cttopo->denseIndex(id));
56  }
57 
61  CaloSubdetectorGeometry::IVec& dinsVector) const override;
62 
63 protected:
64  unsigned int indexFor(const DetId& id) const override { return m_cttopo->denseIndex(id); }
65  unsigned int sizeForDenseIndex(const DetId& id) const override { return m_cttopo->sizeForDenseIndexing(); }
66 
67  // Modify the RawPtr class
68  const CaloCellGeometry* getGeometryRawPtr(uint32_t index) const override;
69 
70 private:
76 };
77 
78 #endif
IdealObliquePrism.h
CaloCellGeometry::Pt3DVec
std::vector< Pt3D > Pt3DVec
Definition: CaloCellGeometry.h:55
CaloTowerGeometry::k_NumberOfShapes
int k_NumberOfShapes
Definition: CaloTowerGeometry.h:73
CaloTowerGeometry::m_cellVec
CellVec m_cellVec
Definition: CaloTowerGeometry.h:74
PCaloTowerRcd
Definition: PCaloTowerRcd.h:5
mps_fire.i
i
Definition: mps_fire.py:428
CaloTowerGeometry::AlignedRecord
CaloTowerGeometryRecord AlignedRecord
Definition: CaloTowerGeometry.h:25
CaloCellGeometry::CCGFloat
float CCGFloat
Definition: CaloCellGeometry.h:52
CaloTowerGeometry::AlignmentRecord
CaloTowerAlignmentRcd AlignmentRecord
Definition: CaloTowerGeometry.h:24
CaloTowerGeometry::m_cttopo
const CaloTowerTopology * m_cttopo
Definition: CaloTowerGeometry.h:71
CaloSubdetectorGeometry::DimVec
std::vector< CCGFloat > DimVec
Definition: CaloSubdetectorGeometry.h:35
CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: CaloCellGeometry.cc:4
CaloTowerGeometry::numberOfParametersPerShape
unsigned int numberOfParametersPerShape() const override
Definition: CaloTowerGeometry.h:34
CaloTowerGeometry::~CaloTowerGeometry
~CaloTowerGeometry() override
Definition: CaloTowerGeometry.cc:18
CaloTowerGeometry::numberOfShapes
unsigned int numberOfShapes() const override
Definition: CaloTowerGeometry.h:33
CaloSubdetectorGeometry::TrVec
std::vector< CCGFloat > TrVec
Definition: CaloSubdetectorGeometry.h:33
CaloTowerTopology
Definition: CaloTowerTopology.h:13
CaloTowerGeometry::producerTag
static std::string producerTag()
Definition: CaloTowerGeometry.h:40
CaloTowerGeometry::getGeometryRawPtr
const CaloCellGeometry * getGeometryRawPtr(uint32_t index) const override
Definition: CaloTowerGeometry.cc:55
CaloSubdetectorGeometry::IVec
std::vector< unsigned int > IVec
Definition: CaloSubdetectorGeometry.h:34
Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: CaloCellGeometry.cc:5
DetId
Definition: DetId.h:17
CaloTowerGeometry::newCell
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
Definition: CaloTowerGeometry.cc:40
CaloTowerGeometry::m_dins
CaloSubdetectorGeometry::IVec m_dins
Definition: CaloTowerGeometry.h:75
CaloTowerGeometry::alignmentTransformIndexLocal
unsigned int alignmentTransformIndexLocal(const DetId &id)
Definition: CaloTowerGeometry.cc:20
CaloTowerGeometry::dbString
static std::string dbString()
Definition: CaloTowerGeometry.h:31
Point3DBase< float, GlobalTag >
CaloCellGeometry::Pt3D
HepGeom::Point3D< CCGFloat > Pt3D
Definition: CaloCellGeometry.h:54
CaloTowerTopology.h
CaloTowerGeometry::indexFor
unsigned int indexFor(const DetId &id) const override
Definition: CaloTowerGeometry.h:64
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CaloSubdetectorGeometry.h
CaloTowerGeometry::CCGFloat
CaloCellGeometry::CCGFloat CCGFloat
Definition: CaloTowerGeometry.h:20
CaloCellGeometry
Definition: CaloCellGeometry.h:50
DeadROC_duringRun.f2
f2
Definition: DeadROC_duringRun.py:220
CaloTowerGeometry::localCorners
static void localCorners(Pt3DVec &lc, const CCGFloat *pv, unsigned int i, Pt3D &ref)
Definition: CaloTowerGeometry.cc:36
CaloTowerGeometry::getSummary
void getSummary(CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override
Definition: CaloTowerGeometry.cc:61
CaloTowerGeometry::k_NumberOfCellsForCorners
int k_NumberOfCellsForCorners
Definition: CaloTowerGeometry.h:72
CaloTowerGeometryRecord
Definition: CaloTowerGeometryRecord.h:24
MetAnalyzer.pv
def pv(vc)
Definition: MetAnalyzer.py:7
CaloTowerGeometry::Pt3D
CaloCellGeometry::Pt3D Pt3D
Definition: CaloTowerGeometry.h:21
CaloTowerDetId.h
CaloTowerGeometry
Definition: CaloTowerGeometry.h:16
CaloTowerGeometry::CellVec
std::vector< IdealObliquePrism > CellVec
Definition: CaloTowerGeometry.h:18
CaloTowerGeometry::CaloTowerGeometry
CaloTowerGeometry(const CaloTowerTopology *cttopo)
Definition: CaloTowerGeometry.cc:12
CaloTowerGeometry::alignmentTransformIndexGlobal
unsigned int alignmentTransformIndexGlobal(const DetId &id)
Definition: CaloTowerGeometry.cc:34
CaloTowerGeometry::Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: CaloTowerGeometry.h:22
CaloTowerAlignmentRcd
Definition: CaloTowerAlignmentRcd.h:6
CaloTowerTopology::sizeForDenseIndexing
uint32_t sizeForDenseIndexing() const
Definition: CaloTowerTopology.h:56
CaloSubdetectorGeometry
Definition: CaloSubdetectorGeometry.h:22
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
Pt3DVec
CaloCellGeometry::Pt3DVec Pt3DVec
Definition: CaloCellGeometry.cc:6
CaloTowerGeometry::k_NumberOfParametersPerShape
Definition: CaloTowerGeometry.h:29
CaloTowerGeometry::getGeometry
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const override
Get the cell geometry of a given detector id. Should return false if not found.
Definition: CaloTowerGeometry.h:54
CaloTowerGeometry::sizeForDenseIndex
unsigned int sizeForDenseIndex(const DetId &id) const override
Definition: CaloTowerGeometry.h:65
CaloSubdetectorGeometry::cellGeomPtr
virtual std::shared_ptr< const CaloCellGeometry > cellGeomPtr(uint32_t index) const
Definition: CaloSubdetectorGeometry.cc:260
CaloTowerGeometry::numberOfCellsForCorners
virtual unsigned int numberOfCellsForCorners() const
Definition: CaloTowerGeometry.h:35
DeadROC_duringRun.f1
f1
Definition: DeadROC_duringRun.py:219
CaloTowerGeometry::numberOfAlignments
static unsigned int numberOfAlignments()
Definition: CaloTowerGeometry.h:42
CaloTowerGeometry::PGeometryRecord
PCaloTowerRcd PGeometryRecord
Definition: CaloTowerGeometry.h:26
CaloTowerGeometryRecord.h
CaloTowerTopology::denseIndex
uint32_t denseIndex(const DetId &id) const
Definition: CaloTowerTopology.cc:235
CaloTowerGeometry::DetIdType
CaloTowerDetId DetIdType
Definition: CaloTowerGeometry.h:27
CaloTowerDetId
Definition: CaloTowerDetId.h:12