CMS 3D CMS Logo

MuonNavigationPrinter Class Reference

Description: class to print the MuonNavigationSchool. More...

#include <RecoMuon/Navigation/interface/MuonNavigationPrinter.h>

List of all members.

Public Member Functions

 MuonNavigationPrinter (const MuonDetLayerGeometry *, const GeometricSearchTracker *)
 MuonNavigationPrinter (const MuonDetLayerGeometry *, bool enableRPC=true)

Private Member Functions

void printLayer (DetLayer *) const
 print layer
void printLayers (std::vector< const DetLayer * >) const


Detailed Description

Description: class to print the MuonNavigationSchool.

Date
2007/06/14 20:31:31
Revision
1.7

Author:
: Stefano Lacaprara - INFN Padova <stefano.lacaprara@pd.infn.it>
Modification:

Chang Liu: The class prints nextLayers and compatibleLayers Add new constructor for MuonTkNavigationSchool

Date
2007/06/14 20:32:59
Revision
1.10

Author:
: Stefano Lacaprara - INFN Padova <stefano.lacaprara@pd.infn.it>
Modification:

Chang Liu: add compatibleLayers add constructor for MuonTkNavigation

Definition at line 28 of file MuonNavigationPrinter.h.


Constructor & Destructor Documentation

MuonNavigationPrinter::MuonNavigationPrinter ( const MuonDetLayerGeometry muonLayout,
bool  enableRPC = true 
)

Definition at line 33 of file MuonNavigationPrinter.cc.

References MuonDetLayerGeometry::allBackwardLayers(), MuonDetLayerGeometry::allBarrelLayers(), MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::allForwardLayers(), MuonDetLayerGeometry::backwardCSCLayers(), GeomDetEnumerators::barrel, MuonDetLayerGeometry::forwardCSCLayers(), iter, and printLayer().

00033                                                                                                     {
00034 
00035   edm::LogInfo ("MuonNavigationPrinter")<< "MuonNavigationPrinter::MuonNavigationPrinter" ;
00036   vector<DetLayer*>::const_iterator iter;
00037   edm::LogInfo ("MuonNavigationPrinter")<<"================================";
00038   edm::LogInfo ("MuonNavigationPrinter")<< "BARREL:";
00039   vector<DetLayer*> barrel;
00040   if ( enableRPC ) barrel = muonLayout->allBarrelLayers();
00041   else barrel = muonLayout->allDTLayers();
00042 
00043   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<barrel.size()<<" Barrel DetLayers";
00044   for ( iter = barrel.begin(); iter != barrel.end(); iter++ ) printLayer(*iter);
00045   edm::LogInfo ("MuonNavigationPrinter")<<"================================";
00046   edm::LogInfo ("MuonNavigationPrinter")  << "BACKWARD:";
00047 
00048   vector<DetLayer*> backward;
00049   if ( enableRPC ) backward = muonLayout->allBackwardLayers();
00050   else backward = muonLayout->backwardCSCLayers();
00051 
00052   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<backward.size()<<" Backward DetLayers";
00053   for ( iter = backward.begin(); iter != backward.end(); iter++ ) printLayer(*iter);
00054   edm::LogInfo ("MuonNavigationPrinter") << "==============================";
00055   edm::LogInfo ("MuonNavigationPrinter") << "FORWARD:";
00056   vector<DetLayer*> forward;
00057   if ( enableRPC ) forward = muonLayout->allForwardLayers();
00058   else forward = muonLayout->forwardCSCLayers();
00059 
00060   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<forward.size()<<" Forward DetLayers";
00061   for ( iter = forward.begin(); iter != forward.end(); iter++ ) printLayer(*iter);
00062 
00063 }

MuonNavigationPrinter::MuonNavigationPrinter ( const MuonDetLayerGeometry muonLayout,
const GeometricSearchTracker tracker 
)

for ( tkfiter = tkbackward.begin(); tkfiter != tkbackward.end(); tkfiter++ ) printLayer(*tkfiter);

Definition at line 65 of file MuonNavigationPrinter.cc.

References MuonDetLayerGeometry::allBackwardLayers(), MuonDetLayerGeometry::allBarrelLayers(), MuonDetLayerGeometry::allForwardLayers(), GeomDetEnumerators::barrel, GeometricSearchTracker::barrelLayers(), iter, GeometricSearchTracker::negForwardLayers(), GeometricSearchTracker::posForwardLayers(), and printLayer().

00065                                                                                                                             {
00066 
00067   edm::LogInfo ("MuonNavigationPrinter")<< "MuonNavigationPrinter::MuonNavigationPrinter" ;
00068   vector<DetLayer*>::const_iterator iter;
00069 //  vector<BarrelDetLayer*>::const_iterator tkiter;
00070 //  vector<ForwardDetLayer*>::const_iterator tkfiter;
00071   edm::LogInfo ("MuonNavigationPrinter")<<"================================";
00072   edm::LogInfo ("MuonNavigationPrinter")<< "BARREL:";
00073   vector<BarrelDetLayer*> tkbarrel = tracker->barrelLayers();
00074   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<tkbarrel.size()<<" Tk Barrel DetLayers";
00075 //  for ( tkiter = tkbarrel.begin(); tkiter != tkbarrel.end(); tkiter++ ) printLayer(*tkiter);
00076   vector<DetLayer*> barrel = muonLayout->allBarrelLayers();
00077   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<barrel.size()<<" Mu Barrel DetLayers";
00078   for ( iter = barrel.begin(); iter != barrel.end(); iter++ ) printLayer(*iter);
00079   edm::LogInfo ("MuonNavigationPrinter")<<"================================";
00080   edm::LogInfo ("MuonNavigationPrinter")  << "BACKWARD:";
00081   vector<ForwardDetLayer*> tkbackward = tracker->negForwardLayers();
00082   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<tkbackward.size()<<" Tk Backward DetLayers";
00084   vector<DetLayer*> backward = muonLayout->allBackwardLayers();
00085   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<backward.size()<<" Mu Backward DetLayers";
00086   for ( iter = backward.begin(); iter != backward.end(); iter++ ) printLayer(*iter);
00087   edm::LogInfo ("MuonNavigationPrinter") << "==============================";
00088   edm::LogInfo ("MuonNavigationPrinter") << "FORWARD:";
00089   vector<ForwardDetLayer*> tkforward =  tracker->posForwardLayers();
00090   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<tkforward.size()<<" Tk Forward DetLayers";
00091 //  for ( tkfiter = tkforward.begin(); tkfiter != tkforward.end(); tkfiter++ ) printLayer(*tkfiter);
00092 
00093   vector<DetLayer*> forward = muonLayout->allForwardLayers();
00094   edm::LogInfo ("MuonNavigationPrinter")<<"There are "<<forward.size()<<" Mu Forward DetLayers";
00095   for ( iter = forward.begin(); iter != forward.end(); iter++ ) printLayer(*iter);
00096 
00097 }


Member Function Documentation

void MuonNavigationPrinter::printLayer ( DetLayer layer  )  const [private]

print layer

Definition at line 100 of file MuonNavigationPrinter.cc.

References BoundSurface::bounds(), DetLayer::compatibleLayers(), lat::endl(), insideOut, Bounds::length(), DetLayer::location(), DetLayer::nextLayers(), outsideIn, GloballyPositioned< T >::position(), printLayers(), DetLayer::subDetector(), and GeometricSearchDet::surface().

Referenced by MuonNavigationPrinter().

00100                                                             {
00101   vector<const DetLayer*> nextLayers = layer->nextLayers(insideOut);
00102   vector<const DetLayer*> compatibleLayers = layer->compatibleLayers(insideOut);
00103   if (BarrelDetLayer* bdl = dynamic_cast<BarrelDetLayer*>(layer)) {
00104     edm::LogInfo ("MuonNavigationPrinter") 
00105          << layer->location() << " " << layer->subDetector() << " layer at R: "
00106          << setiosflags(ios::showpoint | ios::fixed)
00107          << setw(8) << setprecision(2)
00108          << bdl->specificSurface().radius() << "  length: "
00109          << setw(6) << setprecision(2)
00110          << layer->surface().bounds().length();
00111           
00112   }
00113   else if (ForwardDetLayer* fdl = dynamic_cast<ForwardDetLayer*>(layer)) {
00114     edm::LogInfo ("MuonNavigationPrinter") << endl
00115          << layer->location() << " " << layer->subDetector() << "layer at z: "
00116          << setiosflags(ios::showpoint | ios::fixed)
00117          << setw(8) << setprecision(2)
00118          << layer->surface().position().z() << "  inner r: "
00119          << setw(6) << setprecision(2)
00120          << fdl->specificSurface().innerRadius() << "  outer r: "
00121          << setw(6) << setprecision(2)
00122          << fdl->specificSurface().outerRadius();
00123   }
00124   edm::LogInfo ("MuonNavigationPrinter") << " has " << nextLayers.size() << " next layers in the direction inside-out: ";
00125   printLayers(nextLayers);
00126 
00127   nextLayers.clear();
00128   nextLayers = layer->nextLayers(outsideIn);
00129 
00130    edm::LogInfo ("MuonNavigationPrinter") << " has " << nextLayers.size() << " next layers in the direction outside-in: ";
00131   printLayers(nextLayers);
00132 
00133   edm::LogInfo ("MuonNavigationPrinter") << " has " << compatibleLayers.size() << " compatible layers in the direction inside-out:: ";
00134   printLayers(compatibleLayers);
00135   compatibleLayers.clear();
00136   compatibleLayers = layer->compatibleLayers(outsideIn);
00137   
00138   edm::LogInfo ("MuonNavigationPrinter") << " has " << compatibleLayers.size() << " compatible layers in the direction outside-in: ";
00139   printLayers(compatibleLayers);
00140 
00141 }

void MuonNavigationPrinter::printLayers ( std::vector< const DetLayer * >   )  const [private]

Referenced by printLayer().


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