CMS 3D CMS Logo

DTChamber Class Reference

Model of a Muon Drift Tube chamber. More...

#include <Geometry/DTGeometry/interface/DTChamber.h>

Inheritance diagram for DTChamber:

GeomDet

List of all members.

Public Member Functions

void add (DTSuperLayer *sl)
 Add SL to the chamber which takes ownership.
virtual const GeomDetcomponent (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 DTLayerlayer (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 DTSuperLayersuperLayer (int isl) const
 Return the given superlayer.
const DTSuperLayersuperLayer (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


Detailed Description

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.

Date
2006/07/25 09:54:11
Revision
1.6
Author:
S. Lacaprara, N. Amapane

Definition at line 26 of file DTChamber.h.


Constructor & Destructor Documentation

DTChamber::DTChamber ( DTChamberId  id,
const ReferenceCountingPointer< BoundPlane > &  plane 
)

Constructor.

Definition at line 21 of file DTChamber.cc.

00021                                                                                       :
00022   GeomDet(plane), 
00023   theId(id) {
00024 }

DTChamber::~DTChamber (  )  [virtual]

Destructor.

Definition at line 27 of file DTChamber.cc.

00027                       {
00028 }


Member Function Documentation

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 }

const GeomDet * DTChamber::component ( DetId  id  )  const [virtual]

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]

Return the superlayers in the chamber.

Implements GeomDet.

Definition at line 47 of file DTChamber.cc.

References theSLs.

00047                                                       {
00048   return  std::vector<const GeomDet*>(theSLs.begin(), theSLs.end());
00049 }

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 }

const DTLayer * DTChamber::layer ( DTLayerId  id  )  const

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 }

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

equal if the id is the same

Definition at line 39 of file DTChamber.cc.

References id().

00039                                                     {
00040   return id()==ch.id();
00041 }

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.

References i, and theSLs.

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 }


Member Data Documentation

DTChamberId DTChamber::theId [private]

Definition at line 71 of file DTChamber.h.

Referenced by geographicalId(), id(), and superLayer().

std::vector<const DTSuperLayer*> DTChamber::theSLs [private]

Definition at line 74 of file DTChamber.h.

Referenced by add(), components(), superLayer(), and superLayers().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:18:46 2009 for CMSSW by  doxygen 1.5.4