Geometry
CSCGeometry
interface
CSCLayer.h
Go to the documentation of this file.
1
#ifndef Geometry_CSCGeometry_CSCLayer_H
2
#define Geometry_CSCGeometry_CSCLayer_H
3
12
#include <
DataFormats/MuonDetId/interface/CSCDetId.h
>
13
14
#include <
Geometry/CommonDetUnit/interface/GeomDet.h
>
15
#include <
Geometry/CommonDetUnit/interface/GeomDetType.h
>
16
#include <
Geometry/CSCGeometry/interface/CSCLayerGeometry.h
>
17
#include <
Geometry/CSCGeometry/interface/CSCChamber.h
>
18
#include <
DataFormats/GeometryVector/interface/GlobalPoint.h
>
19
#include <
DataFormats/GeometrySurface/interface/BoundPlane.h
>
20
21
//>
22
//typedef std::shared_ptr<CSCChamber> Pointer2Chamber;
23
24
class
CSCLayer
:
public
GeomDetUnit
{
25
public
:
26
CSCLayer
(
const
BoundPlane::BoundPlanePointer
& sp,
CSCDetId
id
,
const
CSCChamber
* ch,
const
CSCLayerGeometry
* geo)
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
:
64
CSCDetId
theId
;
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
GeomDet::setDetId
void setDetId(DetId id)
Definition:
GeomDet.h:99
GeomDet
Definition:
GeomDet.h:27
CSCLayer::chamber
const CSCChamber * chamber() const
Definition:
CSCLayer.h:49
digitizers_cfi.strip
strip
Definition:
digitizers_cfi.py:19
GeomDetType.h
GeomDetType
Definition:
GeomDetType.h:9
CSCLayer
Definition:
CSCLayer.h:24
ReferenceCountingPointer< Plane >
CSCDetId.h
CSCLayer::centerOfWireGroup
GlobalPoint centerOfWireGroup(int wireGroup) const
Definition:
CSCLayer.cc:10
CSCLayerGeometry
Definition:
CSCLayerGeometry.h:25
CSCLayer::id
CSCDetId id() const
Definition:
CSCLayer.h:39
CSCLayerGeometry::topology
const CSCStripTopology * topology() const
Definition:
CSCLayerGeometry.h:272
CSCLayer::CSCLayer
CSCLayer(const BoundPlane::BoundPlanePointer &sp, CSCDetId id, const CSCChamber *ch, const CSCLayerGeometry *geo)
Definition:
CSCLayer.h:26
CSCChamber
Definition:
CSCChamber.h:22
CSCLayerGeometry.h
CSCLayer::geometry
const CSCLayerGeometry * geometry() const
Definition:
CSCLayer.h:44
CSCLayer::centerOfStrip
GlobalPoint centerOfStrip(int strip) const
Definition:
CSCLayer.cc:4
Point3DBase< float, GlobalTag >
CSCLayer::type
const GeomDetType & type() const override
Definition:
CSCLayer.h:31
CSCChamber::type
const GeomDetType & type() const override
Definition:
CSCChamber.h:31
CSCDetId
Definition:
CSCDetId.h:26
CSCLayer::topology
const Topology & topology() const override
Definition:
CSCLayer.h:33
CSCLayer::theChamber
const CSCChamber * theChamber
Definition:
CSCLayer.h:66
GeomDet.h
CSCLayer::theGeometry
const CSCLayerGeometry * theGeometry
Definition:
CSCLayer.h:73
BoundPlane.h
Topology
Definition:
Topology.h:39
CSCChamber.h
CSCLayer::theId
CSCDetId theId
Definition:
CSCLayer.h:64
GlobalPoint.h
Generated for CMSSW Reference Manual by
1.8.16