#include <DTChamber.h>
Public Member Functions | |
void | add (DTSuperLayer *sl) |
Add SL to the chamber which takes ownership. | |
virtual const GeomDet * | component (DetId id) const |
Return the sub-component (SL or layer) with a given id in this chamber. | |
virtual std::vector< const GeomDet * > | components () const |
Return the superlayers in the chamber. | |
DTChamber (DTChamberId id, const ReferenceCountingPointer< BoundPlane > &plane) | |
Constructor. | |
DTChamberId | id () const |
Return the DTChamberId of this chamber. | |
const DTLayer * | layer (DTLayerId id) const |
Return the layer corresponding to the given id. | |
bool | operator== (const DTChamber &ch) const |
equal if the id is the same | |
virtual SubDetector | subDetector () const |
Which subdetector. | |
const DTSuperLayer * | superLayer (int isl) const |
const DTSuperLayer * | superLayer (DTSuperLayerId id) const |
Return the superlayer corresponding to the given id. | |
const std::vector< const DTSuperLayer * > & | superLayers () const |
Return the superlayers in the chamber. | |
virtual | ~DTChamber () |
Destructor. | |
Private Attributes | |
DTChamberId | theId |
std::vector< const DTSuperLayer * > | theSLs |
Model of a Muon Drift Tube chamber.
A chamber is a GeomDet; the associated reconstructed objects are 4D segments built in the chamber local reference frame. The chamber is composed by 2 or three DTSuperLayer, which in turn are composed by four DTLayer each.
Definition at line 26 of file DTChamber.h.
DTChamber::DTChamber | ( | DTChamberId | id, |
const ReferenceCountingPointer< BoundPlane > & | plane | ||
) |
DTChamber::~DTChamber | ( | ) | [virtual] |
void DTChamber::add | ( | DTSuperLayer * | sl | ) |
Add SL to the chamber which takes ownership.
Definition at line 43 of file DTChamber.cc.
References theSLs.
Referenced by DTGeometryBuilderFromDDD::buildSuperLayer(), and DTGeometryBuilderFromCondDB::buildSuperLayer().
{ theSLs.push_back(sl); }
Return the sub-component (SL or layer) with a given id in this chamber.
Reimplemented from GeomDet.
Definition at line 52 of file DTChamber.cc.
References DTLayerId::layer(), layer(), and superLayer().
{ DTLayerId lId(id.rawId()); if (lId.layer()==0) { // is a SL id return superLayer(lId); } else { // is a layer id return layer(lId); } }
std::vector< const GeomDet * > DTChamber::components | ( | ) | const [virtual] |
DTChamberId DTChamber::id | ( | void | ) | const |
Return the DTChamberId of this chamber.
Definition at line 35 of file DTChamber.cc.
References theId.
Referenced by DTTrig::createTUs(), DTSegmentCand::operator DTChamberRecSegment2D *(), operator==(), DTRefitAndCombineReco4D::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), DTTrigGeom::sector(), DTMeantimerPatternReco4D::setDTRecHit1DContainer(), DTCombinatorialPatternReco4D::setDTRecHit1DContainer(), DTMeantimerPatternReco4D::setDTRecSegment2DContainer(), DTCombinatorialPatternReco4D::setDTRecSegment2DContainer(), DTRefitAndCombineReco4D::setDTRecSegment2DContainer(), DTTrigGeom::statId(), DTTrigGeom::station(), ValidateGeometry::validateDTChamberGeometry(), and DTTrigGeom::wheel().
{ return theId; }
Return the layer corresponding to the given id.
Definition at line 82 of file DTChamber.cc.
References superLayer().
Referenced by DTEfficiencyTask::analyze(), and component().
{ return (superLayer(id.superlayer()))->layer(id.layer()); }
bool DTChamber::operator== | ( | const DTChamber & | ch | ) | const |
virtual SubDetector DTChamber::subDetector | ( | ) | const [inline, virtual] |
Which subdetector.
Implements GeomDet.
Definition at line 39 of file DTChamber.h.
References GeomDetEnumerators::DT.
{return GeomDetEnumerators::DT;}
const DTSuperLayer * DTChamber::superLayer | ( | DTSuperLayerId | id | ) | const |
Return the superlayer corresponding to the given id.
Definition at line 67 of file DTChamber.cc.
References theId.
Referenced by DTResolutionAnalysisTask::analyze(), DTVDriftCalibration::analyze(), component(), DTTrigGeomUtils::DTTrigGeomUtils(), DTSegmentUpdator::fit(), DTTrigGeom::getGeom(), layer(), DTTrigGeom::localPosition(), DTSegmentCand::operator DTChamberRecSegment2D *(), DTRefitAndCombineReco4D::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), and DTTrigGeom::tubePosInCh().
{ if (id.chamberId()!=theId) return 0; // not in this SL! return superLayer(id.superLayer()); }
const DTSuperLayer * DTChamber::superLayer | ( | int | isl | ) | const |
Return the given superlayer. Superlayers are numbered 1 (phi), 2 (Z), 3 (phi)
Definition at line 73 of file DTChamber.cc.
const std::vector< const DTSuperLayer * > & DTChamber::superLayers | ( | ) | const |
Return the superlayers in the chamber.
Definition at line 62 of file DTChamber.cc.
References theSLs.
Referenced by DTEfficiencyTask::analyze(), DTnoiseDBValidation::bookHisto(), DTNoiseTask::bookHistos(), and MuonSimHitProducer::produce().
{ return theSLs; }
DTChamberId DTChamber::theId [private] |
Definition at line 68 of file DTChamber.h.
Referenced by id(), and superLayer().
std::vector<const DTSuperLayer*> DTChamber::theSLs [private] |
Definition at line 71 of file DTChamber.h.
Referenced by add(), components(), superLayer(), superLayers(), and ~DTChamber().