CMS 3D CMS Logo

CSCLayer.h
Go to the documentation of this file.
1 #ifndef Geometry_CSCGeometry_CSCLayer_H
2 #define Geometry_CSCGeometry_CSCLayer_H
3 
13 
20 
21 //>
22 //typedef std::shared_ptr<CSCChamber> Pointer2Chamber;
23 
24 class CSCLayer : public GeomDetUnit {
25 public:
27  : GeomDetUnit(sp), theId(id), theChamber(ch), theGeometry(geo) {
28  setDetId(id);
29  }
30 
31  const GeomDetType& type() const override { return chamber()->type(); }
32 
33  const Topology& topology() const override { return *(geometry()->topology()); }
34 
39  CSCDetId id() const { return theId; }
40 
44  const CSCLayerGeometry* geometry() const { return theGeometry; }
45 
49  const CSCChamber* chamber() const { return theChamber; }
50 
55  GlobalPoint centerOfStrip(int strip) const;
56 
61  GlobalPoint centerOfWireGroup(int wireGroup) const;
62 
63 private:
65 
66  const CSCChamber* theChamber; // NOT owned
67  // Pointer2Chamber theChamber; // use a smart pointer instead
68 
69  // Local geometry is handled by the LayerGeometry
70  // but only the Layer itself knows how to transform to the
71  // global frame so global calculations are handled by the
72  // Layer not the LayerGeometry.
73  const CSCLayerGeometry* theGeometry; // must have topology()
74 };
75 
76 #endif // Geometry_CSCGeometry_CSCLayer_H
void setDetId(DetId id)
Definition: GeomDet.h:99
CSCDetId id() const
Definition: CSCLayer.h:39
GlobalPoint centerOfWireGroup(int wireGroup) const
Definition: CSCLayer.cc:10
const CSCChamber * theChamber
Definition: CSCLayer.h:66
CSCLayer(const BoundPlane::BoundPlanePointer &sp, CSCDetId id, const CSCChamber *ch, const CSCLayerGeometry *geo)
Definition: CSCLayer.h:26
const Topology & topology() const override
Definition: CSCLayer.h:33
GlobalPoint centerOfStrip(int strip) const
Definition: CSCLayer.cc:4
const CSCStripTopology * topology() const
const GeomDetType & type() const override
Definition: CSCLayer.h:31
const CSCLayerGeometry * theGeometry
Definition: CSCLayer.h:73
const CSCChamber * chamber() const
Definition: CSCLayer.h:49
const CSCLayerGeometry * geometry() const
Definition: CSCLayer.h:44
CSCDetId theId
Definition: CSCLayer.h:64
const GeomDetType & type() const override
Definition: CSCChamber.h:31