CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
GEMEtaPartition Class Reference

#include <GEMEtaPartition.h>

Inheritance diagram for GEMEtaPartition:
GeomDetUnit GeomDet

Public Member Functions

LocalPoint centreOfPad (int pad) const
 
LocalPoint centreOfPad (float pad) const
 
LocalPoint centreOfStrip (int strip) const
 
LocalPoint centreOfStrip (float strip) const
 
int firstStripInPad (int pad) const
 returns first strip (INT number [1,nstrip]) for pad (an integer [1,npads]) More...
 
 GEMEtaPartition (GEMDetId id, BoundPlane::BoundPlanePointer bp, GEMEtaPartitionSpecs *rrs)
 
GEMDetId id () const
 
int lastStripInPad (int pad) const
 returns last strip (INT number [1,nstrip]) for pad (an integer [1,npads]) More...
 
LocalError localError (float strip) const
 
float localPadPitch (const LocalPoint &lp) const
 pad pitch at a particular point More...
 
float localPitch (const LocalPoint &lp) const
 
int npads () const
 number of GEM-CSC trigger readout pads in partition More...
 
int nstrips () const
 Return the chamber this roll belongs to. More...
 
float pad (const LocalPoint &lp) const
 returns FRACTIONAL pad number [0.,npads] for a point More...
 
float padOfStrip (int strip) const
 returns FRACTIONAL pad number [0.,npads] for an integer strip [1,nstrip] More...
 
float padPitch () const
 pad pitch in a center More...
 
const TopologypadTopology () const
 
float pitch () const
 
const StripTopologyspecificPadTopology () const
 
const StripTopologyspecificTopology () const
 
const GEMEtaPartitionSpecsspecs () const
 
float strip (const LocalPoint &lp) const
 
const Topologytopology () const
 
const GeomDetTypetype () const
 
 ~GEMEtaPartition ()
 
- Public Member Functions inherited from GeomDetUnit
virtual const GeomDetcomponent (DetId) const
 Returns a component GeomDet given its DetId, if existing. More...
 
virtual std::vector< const
GeomDet * > 
components () const
 DetUnit does not have components. More...
 
 GeomDetUnit (Plane *sp)
 
 GeomDetUnit (const ReferenceCountingPointer< Plane > &plane)
 
virtual SubDetector subDetector () const
 Which subdetector. More...
 
virtual const SurfaceDeformationsurfaceDeformation () const
 
virtual ~GeomDetUnit ()
 
- Public Member Functions inherited from GeomDet
AlignmentPositionErroralignmentPositionError () const
 Return pointer to alignment errors. More...
 
DetId geographicalId () const
 The label of this GeomDet. More...
 
 GeomDet (Plane *plane)
 
 GeomDet (const ReferenceCountingPointer< Plane > &plane)
 
int index () const
 
LocalError const & localAlignmentError () const
 Return local alligment error. More...
 
const Surface::PositionTypeposition () const
 The position (origin of the R.F.) More...
 
const Surface::RotationTyperotation () const
 The rotation defining the local R.F. More...
 
void setIndex (int i)
 
const PlanespecificSurface () const
 Same as surface(), kept for backward compatibility. More...
 
const Planesurface () const
 The nominal surface of the GeomDet. More...
 
GlobalPoint toGlobal (const Local2DPoint &lp) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
GlobalPoint toGlobal (const Local3DPoint &lp) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
GlobalVector toGlobal (const LocalVector &lv) const
 Conversion to the global R.F. from the R.F. of the GeomDet. More...
 
LocalPoint toLocal (const GlobalPoint &gp) const
 Conversion to the R.F. of the GeomDet. More...
 
LocalVector toLocal (const GlobalVector &gv) const
 Conversion to the R.F. of the GeomDet. More...
 
virtual ~GeomDet ()
 

Private Attributes

GEMDetId id_
 
GEMEtaPartitionSpecsspecs_
 

Additional Inherited Members

- Public Types inherited from GeomDet
typedef
GeomDetEnumerators::SubDetector 
SubDetector
 
- Protected Member Functions inherited from GeomDet
void setDetId (DetId id)
 

Detailed Description

Definition at line 13 of file GEMEtaPartition.h.

Constructor & Destructor Documentation

GEMEtaPartition::GEMEtaPartition ( GEMDetId  id,
BoundPlane::BoundPlanePointer  bp,
GEMEtaPartitionSpecs rrs 
)

Definition at line 6 of file GEMEtaPartition.cc.

References GeomDet::setDetId().

6  :
7  GeomDetUnit(bp), id_(id),specs_(rrs)
8 {
9  setDetId(id);
10 }
void setDetId(DetId id)
Definition: GeomDet.h:97
GeomDetUnit(Plane *sp)
Definition: GeomDetUnit.cc:5
GEMEtaPartitionSpecs * specs_
GEMEtaPartition::~GEMEtaPartition ( )

Definition at line 12 of file GEMEtaPartition.cc.

References specs_.

13 {
14  delete specs_; //Assume the roll owns it specs (specs are not shared)
15 }
GEMEtaPartitionSpecs * specs_

Member Function Documentation

LocalPoint GEMEtaPartition::centreOfPad ( int  pad) const

returns center of pad position for INTEGER pad number that has a value range of [1, npads]

Definition at line 98 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), AlCaHLTBitMon_ParallelJobs::p, pad(), and specificPadTopology().

99 {
100  float p = static_cast<float>(pad) - 0.5;
102 }
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
const StripTopology & specificPadTopology() const
virtual LocalPoint localPosition(float strip) const =0
LocalPoint GEMEtaPartition::centreOfPad ( float  pad) const

returns center of pad position for FRACTIONAL pad number that has a value range of [0., npads]

Definition at line 105 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), and specificPadTopology().

106 {
108 }
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
const StripTopology & specificPadTopology() const
virtual LocalPoint localPosition(float strip) const =0
LocalPoint GEMEtaPartition::centreOfStrip ( int  strip) const

returns center of strip position for INTEGER strip number that has a value range of [1, nstrip]

Definition at line 54 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), alignCSCRings::s, specificTopology(), and strip().

Referenced by GEMRecHitStandardAlgo::compute(), and padOfStrip().

55 {
56  float s = static_cast<float>(strip) - 0.5;
57  return this->specificTopology().localPosition(s);
58 }
const StripTopology & specificTopology() const
float strip(const LocalPoint &lp) const
virtual LocalPoint localPosition(float strip) const =0
LocalPoint GEMEtaPartition::centreOfStrip ( float  strip) const

returns center of strip position for FRACTIONAL strip number that has a value range of [0., nstrip]

Definition at line 61 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), and specificTopology().

62 {
63  return this->specificTopology().localPosition(strip);
64 }
const StripTopology & specificTopology() const
float strip(const LocalPoint &lp) const
virtual LocalPoint localPosition(float strip) const =0
int GEMEtaPartition::firstStripInPad ( int  pad) const

returns first strip (INT number [1,nstrip]) for pad (an integer [1,npads])

Definition at line 137 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), AlCaHLTBitMon_ParallelJobs::p, pad(), specificPadTopology(), and strip().

138 {
139  float p = static_cast<float>(pad) - 0.9999;
141  return static_cast<int>(strip(lp)) + 1;
142 }
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
const StripTopology & specificPadTopology() const
float strip(const LocalPoint &lp) const
virtual LocalPoint localPosition(float strip) const =0
GEMDetId GEMEtaPartition::id ( void  ) const
inline
int GEMEtaPartition::lastStripInPad ( int  pad) const

returns last strip (INT number [1,nstrip]) for pad (an integer [1,npads])

Definition at line 145 of file GEMEtaPartition.cc.

References StripTopology::localPosition(), AlCaHLTBitMon_ParallelJobs::p, pad(), specificPadTopology(), and strip().

146 {
147  float p = static_cast<float>(pad) - 0.0001;
149  return static_cast<int>(strip(lp)) + 1;
150 }
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
const StripTopology & specificPadTopology() const
float strip(const LocalPoint &lp) const
virtual LocalPoint localPosition(float strip) const =0
LocalError GEMEtaPartition::localError ( float  strip) const

Definition at line 67 of file GEMEtaPartition.cc.

References StripTopology::localError(), specificTopology(), and mathSSE::sqrt().

Referenced by GEMRecHitStandardAlgo::compute().

68 {
69  return this->specificTopology().localError(strip, 1./sqrt(12.));
70 }
T sqrt(T t)
Definition: SSEVec.h:48
const StripTopology & specificTopology() const
float strip(const LocalPoint &lp) const
virtual LocalError localError(float strip, float stripErr2) const =0
float GEMEtaPartition::localPadPitch ( const LocalPoint lp) const

pad pitch at a particular point

Definition at line 117 of file GEMEtaPartition.cc.

References StripTopology::localPitch(), and specificPadTopology().

118 {
119  return specificPadTopology().localPitch(lp);
120 }
virtual float localPitch(const LocalPoint &) const =0
const StripTopology & specificPadTopology() const
float GEMEtaPartition::localPitch ( const LocalPoint lp) const

Definition at line 79 of file GEMEtaPartition.cc.

References StripTopology::localPitch(), and specificTopology().

80 {
81  return this->specificTopology().localPitch(lp);
82 }
virtual float localPitch(const LocalPoint &) const =0
const StripTopology & specificTopology() const
int GEMEtaPartition::npads ( ) const

number of GEM-CSC trigger readout pads in partition

Definition at line 92 of file GEMEtaPartition.cc.

References StripTopology::nstrips(), and specificPadTopology().

93 {
94  return specificPadTopology().nstrips();
95 }
virtual int nstrips() const =0
const StripTopology & specificPadTopology() const
int GEMEtaPartition::nstrips ( ) const

Return the chamber this roll belongs to.

number of readout strips in partition

Definition at line 48 of file GEMEtaPartition.cc.

References StripTopology::nstrips(), and specificTopology().

Referenced by GEMSimSetUp::setup(), and GEMSimAverage::simulateNoise().

49 {
50  return this->specificTopology().nstrips();
51 }
virtual int nstrips() const =0
const StripTopology & specificTopology() const
float GEMEtaPartition::pad ( const LocalPoint lp) const

returns FRACTIONAL pad number [0.,npads] for a point

Definition at line 111 of file GEMEtaPartition.cc.

References specificPadTopology(), and StripTopology::strip().

Referenced by centreOfPad(), firstStripInPad(), lastStripInPad(), and padOfStrip().

112 {
113  return specificPadTopology().strip(lp);
114 }
virtual float strip(const LocalPoint &) const =0
const StripTopology & specificPadTopology() const
float GEMEtaPartition::padOfStrip ( int  strip) const

returns FRACTIONAL pad number [0.,npads] for an integer strip [1,nstrip]

Definition at line 130 of file GEMEtaPartition.cc.

References centreOfStrip(), and pad().

131 {
132  LocalPoint c_o_s = centreOfStrip(strip);
133  return pad(c_o_s);
134 }
LocalPoint centreOfStrip(int strip) const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
float strip(const LocalPoint &lp) const
float GEMEtaPartition::padPitch ( ) const

pad pitch in a center

Definition at line 123 of file GEMEtaPartition.cc.

References StripTopology::pitch(), and specificPadTopology().

124 {
125  return specificPadTopology().pitch();
126 }
const StripTopology & specificPadTopology() const
virtual float pitch() const =0
const Topology & GEMEtaPartition::padTopology ( ) const

Definition at line 30 of file GEMEtaPartition.cc.

References GEMEtaPartitionSpecs::padTopology(), and specs_.

31 {
32  return specs_->padTopology();
33 }
const Topology & padTopology() const
GEMEtaPartitionSpecs * specs_
float GEMEtaPartition::pitch ( ) const

Definition at line 85 of file GEMEtaPartition.cc.

References StripTopology::pitch(), and specificTopology().

86 {
87  return this->specificTopology().pitch();
88 }
const StripTopology & specificTopology() const
virtual float pitch() const =0
const StripTopology & GEMEtaPartition::specificPadTopology ( ) const

Definition at line 36 of file GEMEtaPartition.cc.

References GEMEtaPartitionSpecs::specificPadTopology(), and specs_.

Referenced by centreOfPad(), firstStripInPad(), lastStripInPad(), localPadPitch(), npads(), pad(), and padPitch().

37 {
38  return specs_->specificPadTopology();
39 }
const StripTopology & specificPadTopology() const
GEMEtaPartitionSpecs * specs_
const StripTopology & GEMEtaPartition::specificTopology ( ) const

Definition at line 24 of file GEMEtaPartition.cc.

References GEMEtaPartitionSpecs::specificTopology(), and specs_.

Referenced by FWRecoGeometryESProducer::addGEMGeometry(), centreOfStrip(), localError(), localPitch(), nstrips(), pitch(), and strip().

25 {
26  return specs_->specificTopology();
27 }
const StripTopology & specificTopology() const
GEMEtaPartitionSpecs * specs_
const GEMEtaPartitionSpecs* GEMEtaPartition::specs ( ) const
inline

Definition at line 20 of file GEMEtaPartition.h.

References specs_.

Referenced by GEMSimTriv::simulate(), and GEMSimAverage::simulate().

20 { return specs_; }
GEMEtaPartitionSpecs * specs_
float GEMEtaPartition::strip ( const LocalPoint lp) const

returns fractional strip number [0..nstrips] for a LocalPoint E.g., if local point hit strip #2, the fractional strip number would be somewhere in the (1., 2] interval

Definition at line 73 of file GEMEtaPartition.cc.

References specificTopology(), and StripTopology::strip().

Referenced by centreOfStrip(), firstStripInPad(), and lastStripInPad().

74 {
75  return this->specificTopology().strip(lp);
76 }
virtual float strip(const LocalPoint &) const =0
const StripTopology & specificTopology() const
const Topology & GEMEtaPartition::topology ( ) const
virtual

Implements GeomDetUnit.

Definition at line 18 of file GEMEtaPartition.cc.

References specs_, and GEMEtaPartitionSpecs::topology().

Referenced by GEMSimAverage::simulateNoise().

19 {
20  return specs_->topology();
21 }
const Topology & topology() const
GEMEtaPartitionSpecs * specs_
const GeomDetType & GEMEtaPartition::type ( ) const
virtual

Implements GeomDetUnit.

Definition at line 42 of file GEMEtaPartition.cc.

References specs_.

Referenced by cuy.ValElement::__init__(), and GEMGeometry::add().

43 {
44  return (*specs_);
45 }
GEMEtaPartitionSpecs * specs_

Member Data Documentation

GEMDetId GEMEtaPartition::id_
private

Definition at line 92 of file GEMEtaPartition.h.

Referenced by id().

GEMEtaPartitionSpecs* GEMEtaPartition::specs_
private