CMS 3D CMS Logo

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

#include <RPCRoll.h>

Inheritance diagram for RPCRoll:
GeomDet

Public Member Functions

LocalPoint centreOfStrip (int strip) const
 
LocalPoint centreOfStrip (float strip) const
 
const RPCChamberchamber () const
 Return the chamber this roll belongs to. More...
 
RPCDetId id () const
 
bool isBarrel () const
 
bool isForward () const
 
bool isIRPC () const
 
LocalError localError (float strip) const
 
float localPitch (const LocalPoint &lp) const
 
int nstrips () const
 
float pitch () const
 
 RPCRoll (RPCDetId id, const BoundPlane::BoundPlanePointer &bp, RPCRollSpecs *rrs)
 
const StripTopologyspecificTopology () const
 
const RPCRollSpecsspecs () const
 
float strip (const LocalPoint &lp) const
 
const Topologytopology () const override
 
const GeomDetTypetype () const override
 
 ~RPCRoll () 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 Member Functions

void setChamber (const RPCChamber *ch)
 

Private Attributes

RPCDetId _id
 
RPCRollSpecs_rrs
 
const RPCChambertheCh
 

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

Constructor & Destructor Documentation

◆ RPCRoll()

RPCRoll::RPCRoll ( RPCDetId  id,
const BoundPlane::BoundPlanePointer bp,
RPCRollSpecs rrs 
)

Definition at line 5 of file RPCRoll.cc.

References GeomDet::setDetId().

6  : GeomDetUnit(bp), _id(id), _rrs(rrs) {
7  setDetId(id);
8 }
GeomDet GeomDetUnit
Definition: GeomDet.h:138
void setDetId(DetId id)
Definition: GeomDet.h:99
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46
RPCDetId _id
Definition: RPCRoll.h:45

◆ ~RPCRoll()

RPCRoll::~RPCRoll ( )
override

Definition at line 10 of file RPCRoll.cc.

References _rrs.

10  {
11  delete _rrs; //Assume the roll owns it specs (specs are not shared)
12 }
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46

Member Function Documentation

◆ centreOfStrip() [1/2]

LocalPoint RPCRoll::centreOfStrip ( int  strip) const

◆ centreOfStrip() [2/2]

LocalPoint RPCRoll::centreOfStrip ( float  strip) const

Definition at line 31 of file RPCRoll.cc.

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

31 { return this->specificTopology().localPosition(strip); }
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:49
float strip(const LocalPoint &lp) const
Definition: RPCRoll.cc:35
virtual LocalPoint localPosition(float strip) const =0

◆ chamber()

const RPCChamber * RPCRoll::chamber ( ) const

Return the chamber this roll belongs to.

Definition at line 22 of file RPCRoll.cc.

References theCh.

Referenced by geometryXMLparser.CSCAlignable::index().

22 { return theCh; }
const RPCChamber * theCh
Definition: RPCRoll.h:47

◆ id()

RPCDetId RPCRoll::id ( void  ) const

◆ isBarrel()

bool RPCRoll::isBarrel ( ) const

Definition at line 41 of file RPCRoll.cc.

References HLT_2022v12_cff::region.

Referenced by isForward(), and TracktoRPC::ValidRPCSurface().

41 { return ((this->id()).region() == 0); }

◆ isForward()

bool RPCRoll::isForward ( ) const

Definition at line 43 of file RPCRoll.cc.

References isBarrel().

Referenced by GlobalRecHitsAnalyzer::fillMuon(), GlobalRecHitsProducer::fillMuon(), RBCProcessRPCDigis::next(), RBCProcessRPCSimDigis::next(), and TracktoRPC::ValidRPCSurface().

45 {
46  return (!this->isBarrel());
47 }
bool isBarrel() const
Definition: RPCRoll.cc:41

◆ isIRPC()

bool RPCRoll::isIRPC ( ) const
inline

Definition at line 36 of file RPCRoll.h.

References HLT_2022v12_cff::region, relativeConstraints::ring, and relativeConstraints::station.

Referenced by RPCDigiValid::analyze(), and RPCRecHitValid::analyze().

36  {
37  return (((this->id()).region() != 0) && (((this->id()).station() == 3) || ((this->id()).station() == 4)) &&
38  ((this->id()).ring() == 1));
39  }

◆ localError()

LocalError RPCRoll::localError ( float  strip) const

Definition at line 33 of file RPCRoll.cc.

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

Referenced by RPCRecHitStandardAlgo::compute().

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

◆ localPitch()

float RPCRoll::localPitch ( const LocalPoint lp) const

Definition at line 37 of file RPCRoll.cc.

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

37 { return this->specificTopology().localPitch(lp); }
virtual float localPitch(const LocalPoint &) const =0
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:49

◆ nstrips()

int RPCRoll::nstrips ( ) const

◆ pitch()

float RPCRoll::pitch ( ) const

Definition at line 39 of file RPCRoll.cc.

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

39 { return this->specificTopology().pitch(); }
const StripTopology & specificTopology() const
Definition: RPCRoll.cc:49
virtual float pitch() const =0

◆ setChamber()

void RPCRoll::setChamber ( const RPCChamber ch)
private

Definition at line 51 of file RPCRoll.cc.

References theCh.

51 { theCh = ch; }
const RPCChamber * theCh
Definition: RPCRoll.h:47

◆ specificTopology()

const StripTopology & RPCRoll::specificTopology ( ) const

◆ specs()

const RPCRollSpecs * RPCRoll::specs ( ) const

◆ strip()

float RPCRoll::strip ( const LocalPoint lp) const

◆ topology()

const Topology & RPCRoll::topology ( ) const
overridevirtual

◆ type()

const GeomDetType & RPCRoll::type ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 20 of file RPCRoll.cc.

References _rrs.

Referenced by RPCGeometry::add().

20 { return (*_rrs); }
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46

Member Data Documentation

◆ _id

RPCDetId RPCRoll::_id
private

Definition at line 45 of file RPCRoll.h.

Referenced by id().

◆ _rrs

RPCRollSpecs* RPCRoll::_rrs
private

Definition at line 46 of file RPCRoll.h.

Referenced by specificTopology(), specs(), topology(), type(), and ~RPCRoll().

◆ theCh

const RPCChamber* RPCRoll::theCh
private

Definition at line 47 of file RPCRoll.h.

Referenced by chamber(), and setChamber().