#include <RecoMuon/Navigation/interface/MuonNavigationPrinter.h>
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 |
Modification:
Chang Liu: The class prints nextLayers and compatibleLayers Add new constructor for MuonTkNavigationSchool
Modification:
Chang Liu: add compatibleLayers add constructor for MuonTkNavigation
Definition at line 28 of file MuonNavigationPrinter.h.
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 }
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 }
Referenced by printLayer().