CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
GEMEtaPartition Class Reference

#include <GEMEtaPartition.h>

Inheritance diagram for GEMEtaPartition:
GeomDet

Public Member Functions

LocalPoint centreOfPad (float pad) const
 
LocalPoint centreOfPad (int pad) const
 
LocalPoint centreOfStrip (float strip) const
 
LocalPoint centreOfStrip (int strip) const
 
int firstStripInPad (int pad) const
 returns first strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1]) More...
 
 GEMEtaPartition (GEMDetId id, const BoundPlane::BoundPlanePointer &bp, GEMEtaPartitionSpecs *rrs)
 
GEMDetId id () const
 
bool isGE11 () const
 
bool isGE21 () const
 
bool isME0 () const
 
int lastStripInPad (int pad) const
 returns last strip (INT number [0,nstrip-1]) for pad (an integer [0,npads-1]) More...
 
LocalError localError (float strip, float cluster_size=1.) 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
 number of readout strips in partition 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 [0,nstrip-1] 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
 
GEMSubDetId::Station subsystem () const
 
const Topologytopology () const override
 
const GeomDetTypetype () const override
 
 ~GEMEtaPartition () override
 
- Public Member Functions inherited from GeomDet
AlignmentPositionError const * alignmentPositionError () const
 Return pointer to alignment errors. More...
 
virtual const GeomDetcomponent (DetId) const
 Returns a component GeomDet given its DetId, if existing. More...
 
virtual std::vector< const GeomDet * > components () const
 Returns direct components, if any. More...
 
int gdetIndex () const
 
DetId geographicalId () const
 The label of this GeomDet. More...
 
 GeomDet (const ReferenceCountingPointer< Plane > &plane)
 
 GeomDet (Plane *plane)
 
int index () const
 
virtual bool isLeaf () const
 is a Unit 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 setGdetIndex (int i)
 
void setIndex (int i)
 
const PlanespecificSurface () const
 Same as surface(), kept for backward compatibility. More...
 
virtual SubDetector subDetector () const
 Which subdetector. More...
 
const Planesurface () const
 The nominal surface of the GeomDet. More...
 
virtual const SurfaceDeformationsurfaceDeformation () const
 
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
using SubDetector = GeomDetEnumerators::SubDetector
 
- Protected Member Functions inherited from GeomDet
virtual bool setAlignmentPositionError (const AlignmentPositionError &ape)
 
void setDetId (DetId id)
 

Detailed Description

Definition at line 12 of file GEMEtaPartition.h.

Constructor & Destructor Documentation

◆ GEMEtaPartition()

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

Definition at line 5 of file GEMEtaPartition.cc.

6  : GeomDet(bp), id_(id), specs_(rrs) {
7  setDetId(id);
8 }

References GeomDet::setDetId().

◆ ~GEMEtaPartition()

GEMEtaPartition::~GEMEtaPartition ( )
override

Definition at line 10 of file GEMEtaPartition.cc.

10  {
11  delete specs_; //Assume the roll owns it specs (specs are not shared)
12 }

References specs_.

Member Function Documentation

◆ centreOfPad() [1/2]

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 50 of file GEMEtaPartition.cc.

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

◆ centreOfPad() [2/2]

LocalPoint GEMEtaPartition::centreOfPad ( int  pad) const

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

Definition at line 45 of file GEMEtaPartition.cc.

45  {
46  float p = static_cast<float>(pad) + 0.5f;
48 }

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

Referenced by GEMCoPadDigiValidation::analyze(), GEMPadDigiValidation::analyze(), GEMPadDigiClusterValidation::analyze(), CSCUpgradeMotherboardLUTGenerator::gemPadToCscHsLUT(), and L1TMuon::GeometryTranslator::getGEMSpecificPoint().

◆ centreOfStrip() [1/2]

LocalPoint GEMEtaPartition::centreOfStrip ( float  strip) const

returns center of strip position for FRACTIONAL strip number that has a value range of [0.0, nstrip)

Definition at line 31 of file GEMEtaPartition.cc.

31 { return this->specificTopology().localPosition(strip); }

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

◆ centreOfStrip() [2/2]

LocalPoint GEMEtaPartition::centreOfStrip ( int  strip) const

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

Definition at line 26 of file GEMEtaPartition.cc.

26  {
27  float s = static_cast<float>(strip) + 0.5f;
28  return this->specificTopology().localPosition(s);
29 }

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

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

◆ firstStripInPad()

int GEMEtaPartition::firstStripInPad ( int  pad) const

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

Definition at line 63 of file GEMEtaPartition.cc.

63  {
64  float p = static_cast<float>(pad) - 0.9999f;
66  return static_cast<int>(strip(lp));
67 }

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

◆ id()

GEMDetId GEMEtaPartition::id ( void  ) const
inline

Definition at line 18 of file GEMEtaPartition.h.

18 { return id_; }

References id_.

Referenced by GEMBkgModel::simulate(), GEMNoiseModel::simulate(), and GEMDigiModule::simulate().

◆ isGE11()

bool GEMEtaPartition::isGE11 ( ) const

Definition at line 77 of file GEMEtaPartition.cc.

77 { return id_.isGE11(); }

References id_, and GEMDetId::isGE11().

◆ isGE21()

bool GEMEtaPartition::isGE21 ( ) const

Definition at line 79 of file GEMEtaPartition.cc.

79 { return id_.isGE21(); }

References id_, and GEMDetId::isGE21().

◆ isME0()

bool GEMEtaPartition::isME0 ( ) const

Definition at line 81 of file GEMEtaPartition.cc.

81 { return id_.isME0(); }

References id_, and GEMDetId::isME0().

◆ lastStripInPad()

int GEMEtaPartition::lastStripInPad ( int  pad) const

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

Definition at line 69 of file GEMEtaPartition.cc.

69  {
70  float p = static_cast<float>(pad) - 0.0001f;
72  return static_cast<int>(strip(lp));
73 }

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

◆ localError()

LocalError GEMEtaPartition::localError ( float  strip,
float  cluster_size = 1. 
) const

Definition at line 33 of file GEMEtaPartition.cc.

33  {
34  return this->specificTopology().localError(strip, cluster_size * cluster_size / 12.);
35 }

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

Referenced by GEMRecHitStandardAlgo::compute().

◆ localPadPitch()

float GEMEtaPartition::localPadPitch ( const LocalPoint lp) const

pad pitch at a particular point

Definition at line 54 of file GEMEtaPartition.cc.

54 { return specificPadTopology().localPitch(lp); }

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

◆ localPitch()

float GEMEtaPartition::localPitch ( const LocalPoint lp) const

Definition at line 39 of file GEMEtaPartition.cc.

39 { return this->specificTopology().localPitch(lp); }

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

◆ npads()

int GEMEtaPartition::npads ( ) const

number of GEM-CSC trigger readout pads in partition

Definition at line 43 of file GEMEtaPartition.cc.

43 { return specificPadTopology().nstrips(); }

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

Referenced by CSCUpgradeMotherboardLUTGenerator::gemPadToCscHsLUT(), and CSCGEMMotherboard::maxPads().

◆ nstrips()

int GEMEtaPartition::nstrips ( ) const

number of readout strips in partition

Definition at line 24 of file GEMEtaPartition.cc.

24 { return this->specificTopology().nstrips(); }

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

Referenced by GEMBkgModel::simulate(), and GEMNoiseModel::simulate().

◆ pad()

float GEMEtaPartition::pad ( const LocalPoint lp) const

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

Definition at line 52 of file GEMEtaPartition.cc.

52 { return specificPadTopology().strip(lp); }

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

Referenced by centreOfPad(), CSCUpgradeMotherboardLUTGenerator::cscHsToGemPadLUT(), firstStripInPad(), lastStripInPad(), and padOfStrip().

◆ padOfStrip()

float GEMEtaPartition::padOfStrip ( int  strip) const

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

Definition at line 58 of file GEMEtaPartition.cc.

58  {
60  return pad(c_o_s);
61 }

References centreOfStrip(), pad(), and strip().

◆ padPitch()

float GEMEtaPartition::padPitch ( ) const

pad pitch in a center

Definition at line 56 of file GEMEtaPartition.cc.

56 { return specificPadTopology().pitch(); }

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

◆ padTopology()

const Topology & GEMEtaPartition::padTopology ( ) const

Definition at line 18 of file GEMEtaPartition.cc.

18 { return specs_->padTopology(); }

References GEMEtaPartitionSpecs::padTopology(), and specs_.

◆ pitch()

float GEMEtaPartition::pitch ( ) const

Definition at line 41 of file GEMEtaPartition.cc.

41 { return this->specificTopology().pitch(); }

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

Referenced by GEMBkgModel::simulate(), and GEMNoiseModel::simulate().

◆ specificPadTopology()

const StripTopology & GEMEtaPartition::specificPadTopology ( ) const

◆ specificTopology()

const StripTopology & GEMEtaPartition::specificTopology ( ) const

Definition at line 16 of file GEMEtaPartition.cc.

16 { return specs_->specificTopology(); }

References GEMEtaPartitionSpecs::specificTopology(), and specs_.

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

◆ specs()

const GEMEtaPartitionSpecs* GEMEtaPartition::specs ( ) const
inline

Definition at line 17 of file GEMEtaPartition.h.

17 { return specs_; }

References specs_.

◆ strip()

float GEMEtaPartition::strip ( const LocalPoint lp) const

returns fractional strip number [0.0, nstrips) for a LocalPoint E.g., if local point hit strip #2, the fractional strip number would be somewhere in the [2.0, 3.0) interval

Definition at line 37 of file GEMEtaPartition.cc.

37 { return this->specificTopology().strip(lp); }

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

Referenced by GEMStripDigiValidation::analyze(), centreOfStrip(), firstStripInPad(), lastStripInPad(), and padOfStrip().

◆ subsystem()

GEMSubDetId::Station GEMEtaPartition::subsystem ( ) const

Definition at line 75 of file GEMEtaPartition.cc.

75 { return id_.subsystem(); }

References id_, and GEMDetId::subsystem().

◆ topology()

const Topology & GEMEtaPartition::topology ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 14 of file GEMEtaPartition.cc.

14 { return specs_->topology(); }

References specs_, and GEMEtaPartitionSpecs::topology().

Referenced by GEMBkgModel::simulate(), GEMNoiseModel::simulate(), and GEMSignalModel::simulate().

◆ type()

const GeomDetType & GEMEtaPartition::type ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 22 of file GEMEtaPartition.cc.

22 { return (*specs_); }

References specs_.

Referenced by GEMGeometry::add().

Member Data Documentation

◆ id_

GEMDetId GEMEtaPartition::id_
private

Definition at line 88 of file GEMEtaPartition.h.

Referenced by id(), isGE11(), isGE21(), isME0(), and subsystem().

◆ specs_

GEMEtaPartitionSpecs* GEMEtaPartition::specs_
private
GeomDet::setDetId
void setDetId(DetId id)
Definition: GeomDet.h:99
GEMDetId::isGE21
bool isGE21() const
Definition: GEMDetId.cc:11
GeomDet::GeomDet
GeomDet(Plane *plane)
Definition: GeomDet.h:31
StripTopology::localPosition
virtual LocalPoint localPosition(float strip) const =0
GEMDetId::subsystem
GEMSubDetId::Station subsystem() const
Definition: GEMDetId.cc:7
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
GEMEtaPartition::id_
GEMDetId id_
Definition: GEMEtaPartition.h:88
GEMEtaPartitionSpecs::padTopology
const Topology & padTopology() const
Definition: GEMEtaPartitionSpecs.cc:44
GEMEtaPartition::specificTopology
const StripTopology & specificTopology() const
Definition: GEMEtaPartition.cc:16
StripTopology::localPitch
virtual float localPitch(const LocalPoint &) const =0
StripTopology::pitch
virtual float pitch() const =0
GEMEtaPartitionSpecs::topology
const Topology & topology() const override
Definition: GEMEtaPartitionSpecs.cc:40
alignCSCRings.s
s
Definition: alignCSCRings.py:92
GEMEtaPartition::pad
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads) for a point
Definition: GEMEtaPartition.cc:52
GEMDetId::isME0
bool isME0() const
Definition: GEMDetId.cc:13
Point3DBase< float, LocalTag >
GEMEtaPartition::specs_
GEMEtaPartitionSpecs * specs_
Definition: GEMEtaPartition.h:89
StripTopology::strip
virtual float strip(const LocalPoint &) const =0
GEMEtaPartitionSpecs::specificPadTopology
const StripTopology & specificPadTopology() const
Definition: GEMEtaPartitionSpecs.cc:46
GEMEtaPartition::centreOfStrip
LocalPoint centreOfStrip(int strip) const
Definition: GEMEtaPartition.cc:26
GEMEtaPartition::specificPadTopology
const StripTopology & specificPadTopology() const
Definition: GEMEtaPartition.cc:20
GEMEtaPartition::strip
float strip(const LocalPoint &lp) const
Definition: GEMEtaPartition.cc:37
StripTopology::nstrips
virtual int nstrips() const =0
GEMDetId::isGE11
bool isGE11() const
Definition: GEMDetId.cc:9
GEMEtaPartitionSpecs::specificTopology
const StripTopology & specificTopology() const
Definition: GEMEtaPartitionSpecs.cc:42
StripTopology::localError
virtual LocalError localError(float strip, float stripErr2) const =0