CMS 3D CMS Logo

MuonDTDetLayerGeometryBuilder Class Reference

Build the DT DetLayers. More...

#include <RecoMuon/DetLayers/src/MuonDTDetLayerGeometryBuilder.h>

List of all members.

Public Member Functions

 MuonDTDetLayerGeometryBuilder ()
 Constructor.
virtual ~MuonDTDetLayerGeometryBuilder ()
 Destructor.

Static Public Member Functions

static std::vector< DetLayer * > buildLayers (const DTGeometry &geo)
 Operations.


Detailed Description

Build the DT DetLayers.

Date
2006/06/02 12:21:39
Revision
1.3
Author:
N. Amapane - CERN

Definition at line 18 of file MuonDTDetLayerGeometryBuilder.h.


Constructor & Destructor Documentation

MuonDTDetLayerGeometryBuilder::MuonDTDetLayerGeometryBuilder (  ) 

Constructor.

Definition at line 17 of file MuonDTDetLayerGeometryBuilder.cc.

00017                                                              {
00018 }

MuonDTDetLayerGeometryBuilder::~MuonDTDetLayerGeometryBuilder (  )  [virtual]

Destructor.

Definition at line 20 of file MuonDTDetLayerGeometryBuilder.cc.

00020                                                               {
00021 }


Member Function Documentation

vector< DetLayer * > MuonDTDetLayerGeometryBuilder::buildLayers ( const DTGeometry geo  )  [static]

Operations.

Definition at line 24 of file MuonDTDetLayerGeometryBuilder.cc.

References DTGeometry::idToDet(), it, LogDebug, LogTrace, DTChamberId::maxSectorId, DTChamberId::maxStationId, DTChamberId::maxWheelId, DTChamberId::minSectorId, DTChamberId::minStationId, DTChamberId::minWheelId, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), GeomDet::position(), precomputed_value_sort(), HLT_VtxMuL3::result, and muonGeometry::wheel.

Referenced by MuonDetLayerGeometryESProducer::produce().

00024                                                                 {
00025         
00026   const std::string metname = "Muon|RecoMuon|RecoMuonDetLayers|MuonDTDetLayerGeometryBuilder";
00027 
00028   vector<DetLayer*> detlayers;
00029   vector<MuRodBarrelLayer*> result;
00030             
00031   for(int station = DTChamberId::minStationId; station <= DTChamberId::maxStationId; station++) {
00032     
00033     vector<const DetRod*> muDetRods;
00034     for(int sector = DTChamberId::minSectorId; sector <= DTChamberId::maxSectorId; sector++) {
00035       
00036       vector<const GeomDet*> geomDets;
00037       for(int wheel = DTChamberId::minWheelId; wheel <= DTChamberId::maxWheelId; wheel++) {               
00038         const GeomDet* geomDet = geo.idToDet(DTChamberId(wheel, station, sector));
00039         if (geomDet) {
00040           geomDets.push_back(geomDet);
00041           LogTrace(metname) << "get DT chamber " <<  DTChamberId(wheel, station, sector)
00042                             << " at R=" << geomDet->position().perp()
00043                             << ", phi=" << geomDet->position().phi() ;
00044         }
00045       }
00046       
00047       if (geomDets.size()!=0) {
00048         precomputed_value_sort(geomDets.begin(), geomDets.end(), geomsort::DetZ());
00049         muDetRods.push_back(new MuDetRod(geomDets));
00050         LogTrace(metname) << "  New MuDetRod with " << geomDets.size()
00051                           << " chambers at R=" << muDetRods.back()->position().perp()
00052                           << ", phi=" << muDetRods.back()->position().phi();
00053       }
00054     }
00055     precomputed_value_sort(muDetRods.begin(), muDetRods.end(), geomsort::ExtractPhi<GeometricSearchDet,float>());
00056     result.push_back(new MuRodBarrelLayer(muDetRods));  
00057     LogDebug(metname) << "    New MuRodBarrelLayer with " << muDetRods.size()
00058                       << " rods, at R " << result.back()->specificSurface().radius();
00059   }
00060   
00061   for(vector<MuRodBarrelLayer*>::const_iterator it = result.begin(); it != result.end(); it++)
00062     detlayers.push_back((DetLayer*)(*it));
00063   
00064   return detlayers;
00065 }


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