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

Definition at line 26 of file RPCRoll.cc.

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

26  {
27  float s = static_cast<float>(strip) - 0.5;
28  return this->specificTopology().localPosition(s);
29 }
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

◆ 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

Definition at line 16 of file RPCRoll.cc.

References _id.

Referenced by CSCSegtoRPC::thePoints(), DTSegtoRPC::thePoints(), and TracktoRPC::thePoints().

16 { return _id; }
RPCDetId _id
Definition: RPCRoll.h:45

◆ isBarrel()

bool RPCRoll::isBarrel ( ) const

Definition at line 41 of file RPCRoll.cc.

References nano_mu_digi_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 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 nano_mu_digi_cff::region, relativeConstraints::ring, and relativeConstraints::station.

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().

33 { return this->specificTopology().localError(strip, 1. / sqrt(12.)); }
T sqrt(T t)
Definition: SSEVec.h:23
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

Definition at line 24 of file RPCRoll.cc.

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

Referenced by RPCSimSetUp::setRPCSetUp(), RPCMonitorDigi::stripsInRoll(), CSCSegtoRPC::thePoints(), DTSegtoRPC::thePoints(), and TracktoRPC::thePoints().

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

◆ 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

Definition at line 49 of file RPCRoll.cc.

References _rrs, and RPCRollSpecs::specificTopology().

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

49 { return _rrs->specificTopology(); }
const StripTopology & specificTopology() const
Definition: RPCRollSpecs.cc:38
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46

◆ specs()

const RPCRollSpecs * RPCRoll::specs ( ) const

Definition at line 14 of file RPCRoll.cc.

References _rrs.

14 { return _rrs; }
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46

◆ strip()

float RPCRoll::strip ( const LocalPoint lp) const

Definition at line 35 of file RPCRoll.cc.

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

Referenced by centreOfStrip().

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

◆ topology()

const Topology & RPCRoll::topology ( ) const
overridevirtual

Reimplemented from GeomDet.

Definition at line 18 of file RPCRoll.cc.

References _rrs, and RPCRollSpecs::topology().

Referenced by CSCSegtoRPC::thePoints(), DTSegtoRPC::thePoints(), and TracktoRPC::thePoints().

18 { return _rrs->topology(); }
RPCRollSpecs * _rrs
Definition: RPCRoll.h:46
const Topology & topology() const override
Definition: RPCRollSpecs.cc:36

◆ 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().