CMS 3D CMS Logo

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

#include <GEMChamber.h>

Inheritance diagram for GEMChamber:
GeomDet

Public Member Functions

void add (const GEMEtaPartition *roll)
 Add EtaPartition to the chamber which takes ownership. More...
 
const GeomDetcomponent (DetId id) const override
 Return the sub-component (roll) with a given id in this chamber. More...
 
std::vector< const GeomDet * > components () const override
 Return the rolls in the chamber. More...
 
const GEMEtaPartitionetaPartition (GEMDetId id) const
 Return the eta partition corresponding to the given id. More...
 
const GEMEtaPartitionetaPartition (int isl) const
 
const std::vector< const GEMEtaPartition * > & etaPartitions () const
 Return the eta partitions. More...
 
 GEMChamber (GEMDetId id, const ReferenceCountingPointer< BoundPlane > &plane)
 Constructor. More...
 
GEMDetId id () const
 Return the GEMDetId of this chamber. More...
 
int nEtaPartitions () const
 Retunr numbers of eta partitions. More...
 
bool operator== (const GEMChamber &ch) const
 equal if the id is the same More...
 
SubDetector subDetector () const override
 Which subdetector. More...
 
 ~GEMChamber () override
 Destructor. More...
 
- Public Member Functions inherited from GeomDet
AlignmentPositionError const * alignmentPositionError () const
 Return pointer to alignment errors. 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...
 
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 const Topologytopology () const
 
virtual const GeomDetTypetype () const
 
virtual ~GeomDet ()
 

Private Attributes

GEMDetId detId_
 
std::vector< const GEMEtaPartition * > etaPartitions_
 

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

Model of a GEM chamber.

A chamber is a GeomDet. The chamber is composed by 6,8 or 10 eta partitions (GeomDetUnit).

Author
S. Dildick

Definition at line 19 of file GEMChamber.h.

Constructor & Destructor Documentation

◆ GEMChamber()

GEMChamber::GEMChamber ( GEMDetId  id,
const ReferenceCountingPointer< BoundPlane > &  plane 
)

Constructor.

Implementation of the Model for a GEM Chamber

Author
S.Dildick

Definition at line 11 of file GEMChamber.cc.

References GeomDet::setDetId().

11  : GeomDet(plane), detId_(id) {
12  setDetId(id);
13 }
GEMDetId detId_
Definition: GEMChamber.h:57
void setDetId(DetId id)
Definition: GeomDet.h:99
GeomDet(Plane *plane)
Definition: GeomDet.h:31

◆ ~GEMChamber()

GEMChamber::~GEMChamber ( )
override

Destructor.

Definition at line 15 of file GEMChamber.cc.

15 {}

Member Function Documentation

◆ add()

void GEMChamber::add ( const GEMEtaPartition roll)

Add EtaPartition to the chamber which takes ownership.

Definition at line 21 of file GEMChamber.cc.

References etaPartitions_.

Referenced by GEMGeometryBuilder::build(), and counter.Counter::register().

21 { etaPartitions_.emplace_back(rl); }
std::vector< const GEMEtaPartition * > etaPartitions_
Definition: GEMChamber.h:60

◆ component()

const GeomDet * GEMChamber::component ( DetId  id) const
overridevirtual

Return the sub-component (roll) with a given id in this chamber.

Reimplemented from GeomDet.

Definition at line 27 of file GEMChamber.cc.

References etaPartition(), and nano_mu_digi_cff::rawId.

27 { return etaPartition(GEMDetId(id.rawId())); }
const GEMEtaPartition * etaPartition(GEMDetId id) const
Return the eta partition corresponding to the given id.
Definition: GEMChamber.cc:33

◆ components()

std::vector< const GeomDet * > GEMChamber::components ( ) const
overridevirtual

Return the rolls in the chamber.

Reimplemented from GeomDet.

Definition at line 23 of file GEMChamber.cc.

References etaPartitions_.

23  {
24  return std::vector<const GeomDet*>(etaPartitions_.begin(), etaPartitions_.end());
25 }
std::vector< const GEMEtaPartition * > etaPartitions_
Definition: GEMChamber.h:60

◆ etaPartition() [1/2]

const GEMEtaPartition * GEMChamber::etaPartition ( GEMDetId  id) const

Return the eta partition corresponding to the given id.

Definition at line 33 of file GEMChamber.cc.

References detId_, and nano_mu_digi_cff::roll.

Referenced by component().

33  {
34  if (id.chamberId() != detId_)
35  return nullptr; // not in this eta partition!
36  return etaPartition(id.roll());
37 }
GEMDetId detId_
Definition: GEMChamber.h:57
const GEMEtaPartition * etaPartition(GEMDetId id) const
Return the eta partition corresponding to the given id.
Definition: GEMChamber.cc:33

◆ etaPartition() [2/2]

const GEMEtaPartition * GEMChamber::etaPartition ( int  isl) const

Definition at line 39 of file GEMChamber.cc.

References etaPartitions_, and nano_mu_digi_cff::roll.

39  {
40  for (auto roll : etaPartitions_) {
41  if (roll->id().roll() == isl)
42  return roll;
43  }
44  return nullptr;
45 }
std::vector< const GEMEtaPartition * > etaPartitions_
Definition: GEMChamber.h:60

◆ etaPartitions()

const std::vector< const GEMEtaPartition * > & GEMChamber::etaPartitions ( ) const

Return the eta partitions.

Definition at line 29 of file GEMChamber.cc.

References etaPartitions_.

Referenced by GEMCSCSegmentBuilder::LinkGEMRollsToCSCChamberIndex().

29 { return etaPartitions_; }
std::vector< const GEMEtaPartition * > etaPartitions_
Definition: GEMChamber.h:60

◆ id()

GEMDetId GEMChamber::id ( void  ) const

Return the GEMDetId of this chamber.

Definition at line 17 of file GEMChamber.cc.

References detId_.

Referenced by operator==().

17 { return detId_; }
GEMDetId detId_
Definition: GEMChamber.h:57

◆ nEtaPartitions()

int GEMChamber::nEtaPartitions ( ) const

Retunr numbers of eta partitions.

Definition at line 31 of file GEMChamber.cc.

References etaPartitions_.

Referenced by GEMPadDigiProducer::beginRun(), and GEMPadDigiProducer::checkGeometry().

31 { return etaPartitions_.size(); }
std::vector< const GEMEtaPartition * > etaPartitions_
Definition: GEMChamber.h:60

◆ operator==()

bool GEMChamber::operator== ( const GEMChamber ch) const

equal if the id is the same

Definition at line 19 of file GEMChamber.cc.

References id().

19 { return this->id() == ch.id(); }
GEMDetId id() const
Return the GEMDetId of this chamber.
Definition: GEMChamber.cc:17

◆ subDetector()

SubDetector GEMChamber::subDetector ( ) const
inlineoverridevirtual

Which subdetector.

Reimplemented from GeomDet.

Definition at line 31 of file GEMChamber.h.

References GeomDetEnumerators::GEM.

Member Data Documentation

◆ detId_

GEMDetId GEMChamber::detId_
private

Definition at line 57 of file GEMChamber.h.

Referenced by etaPartition(), and id().

◆ etaPartitions_

std::vector<const GEMEtaPartition*> GEMChamber::etaPartitions_
private

Definition at line 60 of file GEMChamber.h.

Referenced by add(), components(), etaPartition(), etaPartitions(), and nEtaPartitions().