#include <RecoMuon/Navigation/interface/MuonBarrelNavigableLayer.h>
Public Member Functions | |
virtual std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const |
NavigableLayer interface. | |
virtual std::vector< const DetLayer * > | compatibleLayers (NavigationDirection dir) const |
virtual DetLayer * | detLayer () const |
return DetLayer | |
MapE | getAllInnerBackwardLayers () const |
MapB | getAllInnerBarrelLayers () const |
MapE | getAllInnerForwardLayers () const |
MapE | getAllOuterBackwardLayers () const |
MapB | getAllOuterBarrelLayers () const |
MapE | getAllOuterForwardLayers () const |
MapE | getInnerBackwardLayers () const |
MapB | getInnerBarrelLayers () const |
MapE | getInnerForwardLayers () const |
MapE | getOuterBackwardLayers () const |
MapB | getOuterBarrelLayers () const |
MapE | getOuterForwardLayers () const |
MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward) | |
MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward) | |
Constructor with outer layers only. | |
MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward, const MapB &allOuterBarrel, const MapB &allInnerBarrel, const MapE &allOuterBackward, const MapE &allOuterForward, const MapE &allInnerBackward, const MapE &allInnerForward) | |
MuonBarrelNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward) | |
Constructor. | |
virtual std::vector< const DetLayer * > | nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const |
NavigableLayer interface. | |
virtual std::vector< const DetLayer * > | nextLayers (NavigationDirection dir) const |
NavigableLayer interface. | |
virtual void | setDetLayer (DetLayer *) |
set DetLayer | |
void | setInwardCompatibleLinks (const MapB &) |
void | setInwardLinks (const MapB &) |
set inward links | |
Private Member Functions | |
void | pushCompatibleResult (std::vector< const DetLayer * > &result, const MapE &map, const FreeTrajectoryState &fts) const |
void | pushCompatibleResult (std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const |
void | pushResult (std::vector< const DetLayer * > &result, const MapE &map, const FreeTrajectoryState &fts) const |
void | pushResult (std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const |
void | pushResult (std::vector< const DetLayer * > &result, const MapE &map) const |
void | pushResult (std::vector< const DetLayer * > &result, const MapB &map) const |
Private Attributes | |
MapE | theAllInnerBackwardLayers |
MapB | theAllInnerBarrelLayers |
MapE | theAllInnerForwardLayers |
MapE | theAllOuterBackwardLayers |
MapB | theAllOuterBarrelLayers |
MapE | theAllOuterForwardLayers |
BarrelDetLayer * | theDetLayer |
MapE | theInnerBackwardLayers |
MapB | theInnerBarrelLayers |
MapE | theInnerForwardLayers |
MapE | theOuterBackwardLayers |
MapB | theOuterBarrelLayers |
MapE | theOuterForwardLayers |
Modification:
Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.
Modification:
Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.
Definition at line 37 of file MuonBarrelNavigableLayer.h.
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer | ( | BarrelDetLayer * | bdl, | |
const MapB & | outerBarrel, | |||
const MapB & | innerBarrel, | |||
const MapE & | outerBackward, | |||
const MapE & | outerForward, | |||
const MapE & | innerBackward, | |||
const MapE & | innerForward | |||
) | [inline] |
Constructor.
Definition at line 42 of file MuonBarrelNavigableLayer.h.
00048 : 00049 theDetLayer(bdl), 00050 theOuterBarrelLayers(outerBarrel), 00051 theInnerBarrelLayers(innerBarrel), 00052 theOuterBackwardLayers(outerBackward), 00053 theInnerBackwardLayers(innerBackward), 00054 theOuterForwardLayers(outerForward), 00055 theInnerForwardLayers(innerForward) {}
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer | ( | BarrelDetLayer * | bdl, | |
const MapB & | outerBarrel, | |||
const MapB & | innerBarrel, | |||
const MapE & | outerBackward, | |||
const MapE & | outerForward, | |||
const MapE & | innerBackward, | |||
const MapE & | innerForward, | |||
const MapB & | allOuterBarrel, | |||
const MapB & | allInnerBarrel, | |||
const MapE & | allOuterBackward, | |||
const MapE & | allOuterForward, | |||
const MapE & | allInnerBackward, | |||
const MapE & | allInnerForward | |||
) | [inline] |
Definition at line 57 of file MuonBarrelNavigableLayer.h.
00069 : 00070 theDetLayer(bdl), 00071 theOuterBarrelLayers(outerBarrel), 00072 theInnerBarrelLayers(innerBarrel), 00073 theOuterBackwardLayers(outerBackward), 00074 theInnerBackwardLayers(innerBackward), 00075 theOuterForwardLayers(outerForward), 00076 theInnerForwardLayers(innerForward), 00077 theAllOuterBarrelLayers(allOuterBarrel), 00078 theAllInnerBarrelLayers(allInnerBarrel), 00079 theAllOuterBackwardLayers(allOuterBackward), 00080 theAllInnerBackwardLayers(allInnerBackward), 00081 theAllOuterForwardLayers(allOuterForward), 00082 theAllInnerForwardLayers(allInnerForward) {}
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer | ( | BarrelDetLayer * | bdl, | |
const MapB & | outerBarrel, | |||
const MapE & | outerBackward, | |||
const MapE & | outerForward | |||
) | [inline] |
Constructor with outer layers only.
Definition at line 85 of file MuonBarrelNavigableLayer.h.
00088 : 00089 theDetLayer(bdl), 00090 theOuterBarrelLayers(outerBarrel), 00091 theOuterBackwardLayers(outerBackward), 00092 theOuterForwardLayers(outerForward) { }
MuonBarrelNavigableLayer::MuonBarrelNavigableLayer | ( | BarrelDetLayer * | bdl, | |
const MapB & | outerBarrel, | |||
const MapE & | outerBackward, | |||
const MapE & | outerForward, | |||
const MapB & | allOuterBarrel, | |||
const MapE & | allOuterBackward, | |||
const MapE & | allOuterForward | |||
) | [inline] |
Definition at line 94 of file MuonBarrelNavigableLayer.h.
00100 : 00101 theDetLayer(bdl), 00102 theOuterBarrelLayers(outerBarrel), 00103 theOuterBackwardLayers(outerBackward), 00104 theOuterForwardLayers(outerForward), 00105 theAllOuterBarrelLayers(allOuterBarrel), 00106 theAllOuterBackwardLayers(allOuterBackward), 00107 theAllOuterForwardLayers(allOuterForward) {}
std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers | ( | const FreeTrajectoryState & | fts, | |
PropagationDirection | dir | |||
) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 97 of file MuonBarrelNavigableLayer.cc.
References alongMomentum, MuonNavigableLayer::isInsideOut(), oppositeToMomentum, pushCompatibleResult(), HLT_VtxMuL3::result, theAllInnerBackwardLayers, theAllInnerBarrelLayers, theAllInnerForwardLayers, theAllOuterBackwardLayers, theAllOuterBarrelLayers, and theAllOuterForwardLayers.
00098 { 00099 std::vector<const DetLayer*> result; 00100 00101 if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { 00102 pushCompatibleResult(result, theAllOuterBarrelLayers, fts); 00103 pushCompatibleResult(result, theAllOuterBackwardLayers, fts); 00104 pushCompatibleResult(result, theAllOuterForwardLayers, fts); 00105 } 00106 else { 00107 pushCompatibleResult(result, theAllInnerBarrelLayers, fts); 00108 reverse(result.begin(),result.end()); 00109 pushCompatibleResult(result, theAllInnerBackwardLayers, fts); 00110 pushCompatibleResult(result, theAllInnerForwardLayers, fts); 00111 } 00112 result.reserve(result.size()); 00113 return result; 00114 00115 }
std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers | ( | NavigationDirection | dir | ) | const [virtual] |
Implements MuonNavigableLayer.
Definition at line 76 of file MuonBarrelNavigableLayer.cc.
References insideOut, pushResult(), HLT_VtxMuL3::result, theAllInnerBackwardLayers, theAllInnerBarrelLayers, theAllInnerForwardLayers, theAllOuterBackwardLayers, theAllOuterBarrelLayers, and theAllOuterForwardLayers.
00076 { 00077 00078 std::vector<const DetLayer*> result; 00079 00080 if ( dir == insideOut ) { 00081 pushResult(result, theAllOuterBarrelLayers); 00082 pushResult(result, theAllOuterBackwardLayers); 00083 pushResult(result, theAllOuterForwardLayers); 00084 } 00085 else { 00086 pushResult(result, theAllInnerBarrelLayers); 00087 reverse(result.begin(),result.end()); 00088 pushResult(result, theAllInnerBackwardLayers); 00089 pushResult(result, theAllInnerForwardLayers); 00090 } 00091 00092 result.reserve(result.size()); 00093 return result; 00094 }
DetLayer * MuonBarrelNavigableLayer::detLayer | ( | ) | const [virtual] |
return DetLayer
Implements MuonNavigableLayer.
Definition at line 165 of file MuonBarrelNavigableLayer.cc.
References theDetLayer.
00165 { 00166 return theDetLayer; 00167 }
MapE MuonBarrelNavigableLayer::getAllInnerBackwardLayers | ( | ) | const [inline] |
Definition at line 138 of file MuonBarrelNavigableLayer.h.
References theAllInnerBackwardLayers.
00138 { return theAllInnerBackwardLayers; }
MapB MuonBarrelNavigableLayer::getAllInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 136 of file MuonBarrelNavigableLayer.h.
References theAllInnerBarrelLayers.
00136 { return theAllInnerBarrelLayers; }
MapE MuonBarrelNavigableLayer::getAllInnerForwardLayers | ( | ) | const [inline] |
Definition at line 140 of file MuonBarrelNavigableLayer.h.
References theAllInnerForwardLayers.
00140 { return theAllInnerForwardLayers; }
MapE MuonBarrelNavigableLayer::getAllOuterBackwardLayers | ( | ) | const [inline] |
Definition at line 137 of file MuonBarrelNavigableLayer.h.
References theAllOuterBackwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00137 { return theAllOuterBackwardLayers; }
MapB MuonBarrelNavigableLayer::getAllOuterBarrelLayers | ( | ) | const [inline] |
Definition at line 135 of file MuonBarrelNavigableLayer.h.
References theAllOuterBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00135 { return theAllOuterBarrelLayers; }
MapE MuonBarrelNavigableLayer::getAllOuterForwardLayers | ( | ) | const [inline] |
Definition at line 139 of file MuonBarrelNavigableLayer.h.
References theAllOuterForwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00139 { return theAllOuterForwardLayers; }
MapE MuonBarrelNavigableLayer::getInnerBackwardLayers | ( | ) | const [inline] |
Definition at line 131 of file MuonBarrelNavigableLayer.h.
References theInnerBackwardLayers.
00131 { return theInnerBackwardLayers; }
MapB MuonBarrelNavigableLayer::getInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 129 of file MuonBarrelNavigableLayer.h.
References theInnerBarrelLayers.
00129 { return theInnerBarrelLayers; }
MapE MuonBarrelNavigableLayer::getInnerForwardLayers | ( | ) | const [inline] |
Definition at line 133 of file MuonBarrelNavigableLayer.h.
References theInnerForwardLayers.
00133 { return theInnerForwardLayers; }
MapE MuonBarrelNavigableLayer::getOuterBackwardLayers | ( | ) | const [inline] |
Definition at line 130 of file MuonBarrelNavigableLayer.h.
References theOuterBackwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00130 { return theOuterBackwardLayers; }
MapB MuonBarrelNavigableLayer::getOuterBarrelLayers | ( | ) | const [inline] |
Definition at line 128 of file MuonBarrelNavigableLayer.h.
References theOuterBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00128 { return theOuterBarrelLayers; }
MapE MuonBarrelNavigableLayer::getOuterForwardLayers | ( | ) | const [inline] |
Definition at line 132 of file MuonBarrelNavigableLayer.h.
References theOuterForwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00132 { return theOuterForwardLayers; }
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers | ( | const FreeTrajectoryState & | fts, | |
PropagationDirection | dir | |||
) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 55 of file MuonBarrelNavigableLayer.cc.
References alongMomentum, MuonNavigableLayer::isInsideOut(), oppositeToMomentum, pushResult(), HLT_VtxMuL3::result, theInnerBackwardLayers, theInnerBarrelLayers, theInnerForwardLayers, theOuterBackwardLayers, theOuterBarrelLayers, and theOuterForwardLayers.
00056 { 00057 00058 std::vector<const DetLayer*> result; 00059 00060 if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { 00061 pushResult(result, theOuterBarrelLayers, fts); 00062 pushResult(result, theOuterBackwardLayers, fts); 00063 pushResult(result, theOuterForwardLayers, fts); 00064 } 00065 else { 00066 pushResult(result, theInnerBarrelLayers, fts); 00067 reverse(result.begin(),result.end()); 00068 pushResult(result, theInnerBackwardLayers, fts); 00069 pushResult(result, theInnerForwardLayers, fts); 00070 } 00071 result.reserve(result.size()); 00072 return result; 00073 }
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers | ( | NavigationDirection | dir | ) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 32 of file MuonBarrelNavigableLayer.cc.
References insideOut, pushResult(), HLT_VtxMuL3::result, theInnerBackwardLayers, theInnerBarrelLayers, theInnerForwardLayers, theOuterBackwardLayers, theOuterBarrelLayers, and theOuterForwardLayers.
00032 { 00033 00034 std::vector<const DetLayer*> result; 00035 00036 if ( dir == insideOut ) { 00037 pushResult(result, theOuterBarrelLayers); 00038 pushResult(result, theOuterBackwardLayers); 00039 pushResult(result, theOuterForwardLayers); 00040 } 00041 else { 00042 pushResult(result, theInnerBarrelLayers); 00043 reverse(result.begin(),result.end()); 00044 pushResult(result, theInnerBackwardLayers); 00045 pushResult(result, theInnerForwardLayers); 00046 } 00047 00048 result.reserve(result.size()); 00049 return result; 00050 00051 }
void MuonBarrelNavigableLayer::pushCompatibleResult | ( | std::vector< const DetLayer * > & | result, | |
const MapE & | map, | |||
const FreeTrajectoryState & | fts | |||
) | const [private] |
Definition at line 156 of file MuonBarrelNavigableLayer.cc.
References i, range, and MuonNavigableLayer::trackingRange().
00158 { 00159 MuonEtaRange range= trackingRange(fts); 00160 for (MapEI i = map.begin(); i != map.end(); i++) 00161 if ((*i).second.isCompatible(range)) result.push_back((*i).first); 00162 00163 }
void MuonBarrelNavigableLayer::pushCompatibleResult | ( | std::vector< const DetLayer * > & | result, | |
const MapB & | map, | |||
const FreeTrajectoryState & | fts | |||
) | const [private] |
Definition at line 148 of file MuonBarrelNavigableLayer.cc.
References i, range, and MuonNavigableLayer::trackingRange().
Referenced by compatibleLayers().
00150 { 00151 MuonEtaRange range= trackingRange(fts); 00152 for ( MapBI i = map.begin(); i != map.end(); i++ ) 00153 if ((*i).second.isCompatible(range)) result.push_back((*i).first); 00154 }
void MuonBarrelNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, | |
const MapE & | map, | |||
const FreeTrajectoryState & | fts | |||
) | const [private] |
Definition at line 139 of file MuonBarrelNavigableLayer.cc.
References PV3DBase< T, PVType, FrameType >::eta(), i, and FreeTrajectoryState::position().
00141 { 00142 00143 for (MapEI i = map.begin(); i != map.end(); i++) 00144 if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first); 00145 00146 }
void MuonBarrelNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, | |
const MapB & | map, | |||
const FreeTrajectoryState & | fts | |||
) | const [private] |
Definition at line 132 of file MuonBarrelNavigableLayer.cc.
References PV3DBase< T, PVType, FrameType >::eta(), i, and FreeTrajectoryState::position().
00134 { 00135 for ( MapBI i = map.begin(); i != map.end(); i++ ) 00136 if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first); 00137 }
void MuonBarrelNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, | |
const MapB & | map | |||
) | const [private] |
Definition at line 118 of file MuonBarrelNavigableLayer.cc.
References i.
Referenced by compatibleLayers(), and nextLayers().
00119 { 00120 00121 for ( MapBI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first); 00122 00123 }
set DetLayer
Implements MuonNavigableLayer.
Definition at line 170 of file MuonBarrelNavigableLayer.cc.
References lat::endl().
00170 { 00171 edm::LogError("MuonBarrelNavigableLayer") << "MuonBarrelNavigableLayer::setDetLayer called!! " << endl; 00172 }
Definition at line 178 of file MuonBarrelNavigableLayer.cc.
References theAllInnerBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00178 { 00179 00180 theAllInnerBarrelLayers = innerCBL; 00181 00182 }
set inward links
Definition at line 175 of file MuonBarrelNavigableLayer.cc.
References theInnerBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
00175 { 00176 theInnerBarrelLayers = innerBL; 00177 }
Definition at line 181 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), and getAllInnerBackwardLayers().
Definition at line 179 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), getAllInnerBarrelLayers(), and setInwardCompatibleLinks().
Definition at line 183 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), and getAllInnerForwardLayers().
Definition at line 180 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), and getAllOuterBackwardLayers().
Definition at line 178 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), and getAllOuterBarrelLayers().
Definition at line 182 of file MuonBarrelNavigableLayer.h.
Referenced by compatibleLayers(), and getAllOuterForwardLayers().
Definition at line 175 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerBackwardLayers(), and nextLayers().
Definition at line 173 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerBarrelLayers(), nextLayers(), and setInwardLinks().
Definition at line 177 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerForwardLayers(), and nextLayers().
Definition at line 174 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterBackwardLayers(), and nextLayers().
Definition at line 172 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterBarrelLayers(), and nextLayers().
Definition at line 176 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterForwardLayers(), and nextLayers().