CMS 3D CMS Logo

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

#include <ME0EtaPartition.h>

Inheritance diagram for ME0EtaPartition:
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...
 
ME0DetId 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, float cluster_size=1.) const
 
float localPadPitch (const LocalPoint &lp) const
 pad pitch at a particular point More...
 
float localPitch (const LocalPoint &lp) const
 
 ME0EtaPartition (ME0DetId id, const BoundPlane::BoundPlanePointer &bp, ME0EtaPartitionSpecs *rrs)
 
int npads () const
 number of ME0-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 ME0EtaPartitionSpecsspecs () const
 
float strip (const LocalPoint &lp) const
 
const Topologytopology () const override
 
const GeomDetTypetype () const override
 
 ~ME0EtaPartition () 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 (Plane *plane)
 
 GeomDet (const ReferenceCountingPointer< 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

ME0DetId id_
 
ME0EtaPartitionSpecsspecs_
 

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 ME0EtaPartition.h.

Constructor & Destructor Documentation

◆ ME0EtaPartition()

ME0EtaPartition::ME0EtaPartition ( ME0DetId  id,
const BoundPlane::BoundPlanePointer bp,
ME0EtaPartitionSpecs rrs 
)

Definition at line 5 of file ME0EtaPartition.cc.

References GeomDet::setDetId().

6  : GeomDet(bp), id_(id), specs_(rrs) {
7  setDetId(id);
8 }
void setDetId(DetId id)
Definition: GeomDet.h:99
ME0EtaPartitionSpecs * specs_
GeomDet(Plane *plane)
Definition: GeomDet.h:31

◆ ~ME0EtaPartition()

ME0EtaPartition::~ME0EtaPartition ( )
override

Definition at line 10 of file ME0EtaPartition.cc.

References specs_.

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

Member Function Documentation

◆ centreOfPad() [1/2]

LocalPoint ME0EtaPartition::centreOfPad ( int  pad) const

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

Definition at line 45 of file ME0EtaPartition.cc.

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

45  {
46  float p = static_cast<float>(pad) - 0.5;
48 }
const StripTopology & specificPadTopology() const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
virtual LocalPoint localPosition(float strip) const =0

◆ centreOfPad() [2/2]

LocalPoint ME0EtaPartition::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 ME0EtaPartition.cc.

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

const StripTopology & specificPadTopology() const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
virtual LocalPoint localPosition(float strip) const =0

◆ centreOfStrip() [1/2]

LocalPoint ME0EtaPartition::centreOfStrip ( int  strip) const

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

Definition at line 26 of file ME0EtaPartition.cc.

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

Referenced by L1TMuon::GeometryTranslator::getME0SpecificPoint(), padOfStrip(), ME0TriggerPseudoBuilder::segmentConversion(), and ME0SimpleModel::simulateClustering().

26  {
27  float s = static_cast<float>(strip) - 0.5;
28  return this->specificTopology().localPosition(s);
29 }
float strip(const LocalPoint &lp) const
const StripTopology & specificTopology() const
virtual LocalPoint localPosition(float strip) const =0

◆ centreOfStrip() [2/2]

LocalPoint ME0EtaPartition::centreOfStrip ( float  strip) const

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

Definition at line 31 of file ME0EtaPartition.cc.

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

31 { return this->specificTopology().localPosition(strip); }
float strip(const LocalPoint &lp) const
const StripTopology & specificTopology() const
virtual LocalPoint localPosition(float strip) const =0

◆ firstStripInPad()

int ME0EtaPartition::firstStripInPad ( int  pad) const

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

Definition at line 63 of file ME0EtaPartition.cc.

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

63  {
64  float p = static_cast<float>(pad) - 0.9999;
66  return static_cast<int>(strip(lp)) + 1;
67 }
const StripTopology & specificPadTopology() const
float strip(const LocalPoint &lp) const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
virtual LocalPoint localPosition(float strip) const =0

◆ id()

ME0DetId ME0EtaPartition::id ( void  ) const
inline

◆ lastStripInPad()

int ME0EtaPartition::lastStripInPad ( int  pad) const

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

Definition at line 69 of file ME0EtaPartition.cc.

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

69  {
70  float p = static_cast<float>(pad) - 0.0001;
72  return static_cast<int>(strip(lp)) + 1;
73 }
const StripTopology & specificPadTopology() const
float strip(const LocalPoint &lp) const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point
virtual LocalPoint localPosition(float strip) const =0

◆ localError()

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

Definition at line 33 of file ME0EtaPartition.cc.

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

33  {
34  return this->specificTopology().localError(strip, cluster_size * cluster_size / sqrt(12.));
35 }
T sqrt(T t)
Definition: SSEVec.h:19
float strip(const LocalPoint &lp) const
virtual LocalError localError(float strip, float stripErr2) const =0
const StripTopology & specificTopology() const

◆ localPadPitch()

float ME0EtaPartition::localPadPitch ( const LocalPoint lp) const

pad pitch at a particular point

Definition at line 54 of file ME0EtaPartition.cc.

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

54 { return specificPadTopology().localPitch(lp); }
virtual float localPitch(const LocalPoint &) const =0
const StripTopology & specificPadTopology() const

◆ localPitch()

float ME0EtaPartition::localPitch ( const LocalPoint lp) const

Definition at line 39 of file ME0EtaPartition.cc.

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

Referenced by ME0TriggerPseudoBuilder::segmentConversion().

39 { return this->specificTopology().localPitch(lp); }
virtual float localPitch(const LocalPoint &) const =0
const StripTopology & specificTopology() const

◆ npads()

int ME0EtaPartition::npads ( ) const

number of ME0-CSC trigger readout pads in partition

Definition at line 43 of file ME0EtaPartition.cc.

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

43 { return specificPadTopology().nstrips(); }
virtual int nstrips() const =0
const StripTopology & specificPadTopology() const

◆ nstrips()

int ME0EtaPartition::nstrips ( ) const

Return the chamber this roll belongs to.

number of readout strips in partition

Definition at line 24 of file ME0EtaPartition.cc.

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

Referenced by ME0TriggerPseudoBuilder::segmentConversion(), ME0SimpleModel::simulateClustering(), and ME0SimpleModel::simulateNoise().

24 { return this->specificTopology().nstrips(); }
virtual int nstrips() const =0
const StripTopology & specificTopology() const

◆ pad()

float ME0EtaPartition::pad ( const LocalPoint lp) const

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

Definition at line 52 of file ME0EtaPartition.cc.

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

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

52 { return specificPadTopology().strip(lp); }
virtual float strip(const LocalPoint &) const =0
const StripTopology & specificPadTopology() const

◆ padOfStrip()

float ME0EtaPartition::padOfStrip ( int  strip) const

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

Definition at line 58 of file ME0EtaPartition.cc.

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

58  {
60  return pad(c_o_s);
61 }
LocalPoint centreOfStrip(int strip) const
float strip(const LocalPoint &lp) const
float pad(const LocalPoint &lp) const
returns FRACTIONAL pad number [0.,npads] for a point

◆ padPitch()

float ME0EtaPartition::padPitch ( ) const

pad pitch in a center

Definition at line 56 of file ME0EtaPartition.cc.

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

56 { return specificPadTopology().pitch(); }
const StripTopology & specificPadTopology() const
virtual float pitch() const =0

◆ padTopology()

const Topology & ME0EtaPartition::padTopology ( ) const

Definition at line 18 of file ME0EtaPartition.cc.

References ME0EtaPartitionSpecs::padTopology(), and specs_.

18 { return specs_->padTopology(); }
ME0EtaPartitionSpecs * specs_
const Topology & padTopology() const

◆ pitch()

float ME0EtaPartition::pitch ( ) const

Definition at line 41 of file ME0EtaPartition.cc.

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

Referenced by ME0SimpleModel::simulateNoise().

41 { return this->specificTopology().pitch(); }
const StripTopology & specificTopology() const
virtual float pitch() const =0

◆ specificPadTopology()

const StripTopology & ME0EtaPartition::specificPadTopology ( ) const

Definition at line 20 of file ME0EtaPartition.cc.

References ME0EtaPartitionSpecs::specificPadTopology(), and specs_.

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

20 { return specs_->specificPadTopology(); }
const StripTopology & specificPadTopology() const
ME0EtaPartitionSpecs * specs_

◆ specificTopology()

const StripTopology & ME0EtaPartition::specificTopology ( ) const

◆ specs()

const ME0EtaPartitionSpecs* ME0EtaPartition::specs ( ) const
inline

Definition at line 17 of file ME0EtaPartition.h.

References specs_.

Referenced by ME0PreRecoGaussianModel::correctSigmaU(), and ME0PreRecoGaussianModel::simulateNoise().

17 { return specs_; }
ME0EtaPartitionSpecs * specs_

◆ strip()

float ME0EtaPartition::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 37 of file ME0EtaPartition.cc.

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

Referenced by centreOfStrip(), firstStripInPad(), lastStripInPad(), padOfStrip(), and ME0TriggerPseudoBuilder::segmentConversion().

37 { return this->specificTopology().strip(lp); }
virtual float strip(const LocalPoint &) const =0
const StripTopology & specificTopology() const

◆ topology()

const Topology & ME0EtaPartition::topology ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 14 of file ME0EtaPartition.cc.

References specs_, and ME0EtaPartitionSpecs::topology().

Referenced by ME0PreRecoGaussianModel::correctSigmaU(), ME0PreRecoGaussianModel::simulateNoise(), and ME0SimpleModel::simulateNoise().

14 { return specs_->topology(); }
ME0EtaPartitionSpecs * specs_
const Topology & topology() const override

◆ type()

const GeomDetType & ME0EtaPartition::type ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 22 of file ME0EtaPartition.cc.

References specs_.

Referenced by ME0Geometry::add().

22 { return (*specs_); }
ME0EtaPartitionSpecs * specs_

Member Data Documentation

◆ id_

ME0DetId ME0EtaPartition::id_
private

Definition at line 86 of file ME0EtaPartition.h.

Referenced by id().

◆ specs_

ME0EtaPartitionSpecs* ME0EtaPartition::specs_
private