#include <Geometry/DTGeometry/interface/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. | |
virtual DetId | geographicalId () const |
Return the DetId of this chamber. | |
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 |
Return the given superlayer. | |
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 |
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().
00043 { 00044 theSLs.push_back(sl); 00045 }
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().
00052 { 00053 DTLayerId lId(id.rawId()); 00054 if (lId.layer()==0) { // is a SL id 00055 return superLayer(lId); 00056 } else { // is a layer id 00057 return layer(lId); 00058 } 00059 }
std::vector< const GeomDet * > DTChamber::components | ( | ) | const [virtual] |
DetId DTChamber::geographicalId | ( | ) | const [virtual] |
Return the DetId of this chamber.
Implements GeomDet.
Definition at line 31 of file DTChamber.cc.
References theId.
Referenced by DTGeometry::add(), and VisEventSetup::buildDriftTubes().
00031 { 00032 return theId; 00033 }
DTChamberId DTChamber::id | ( | void | ) | const |
Return the DTChamberId of this chamber.
Definition at line 35 of file DTChamber.cc.
References theId.
Referenced by VisDTDigiTwig::addText(), VisDTDigiTwig::addWire(), VisDTDigi::analyze(), VisEventSetupService::annotateDTChambers(), VisEventSetup::buildDriftTubes(), VisEventSetupService::buildDTChambers(), DTTrig::createTUs(), DTSCTrigUnit::DTSCTrigUnit(), VisEventSetupService::dtTextRep(), 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(), VisDTDigiTwig::update(), and DTTrigGeom::wheel().
00035 { 00036 return theId; 00037 }
Return the layer corresponding to the given id.
Definition at line 82 of file DTChamber.cc.
References superLayer().
Referenced by DTEfficiencyTask::analyze(), and component().
00082 { 00083 return (superLayer(id.superlayer()))->layer(id.layer()); 00084 }
virtual SubDetector DTChamber::subDetector | ( | ) | const [inline, virtual] |
Which subdetector.
Implements GeomDet.
Definition at line 42 of file DTChamber.h.
References GeomDetEnumerators::DT.
00042 {return GeomDetEnumerators::DT;}
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.
00073 { 00074 for (std::vector<const DTSuperLayer*>::const_iterator i = theSLs.begin(); 00075 i!= theSLs.end(); ++i) { 00076 if ((*i)->id().superLayer()==isl) return (*i); 00077 } 00078 return 0; 00079 }
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(), DTTrigGeom::getGeom(), layer(), DTTrigGeom::localPosition(), DTSegmentCand::operator DTChamberRecSegment2D *(), DTRefitAndCombineReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), and DTTrigGeom::tubePosInCh().
00067 { 00068 if (id.chamberId()!=theId) return 0; // not in this SL! 00069 return superLayer(id.superLayer()); 00070 }
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(), DTNoiseTask::bookHistos(), and MuonSimHitProducer::produce().
00062 { 00063 return theSLs; 00064 }
DTChamberId DTChamber::theId [private] |
std::vector<const DTSuperLayer*> DTChamber::theSLs [private] |
Definition at line 74 of file DTChamber.h.
Referenced by add(), components(), superLayer(), and superLayers().