#include <MuonForwardNavigableLayer.h>
Public Member Functions | |
virtual std::vector< const DetLayer * > | compatibleLayers (NavigationDirection dir) const |
virtual std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const |
NavigableLayer interface. | |
virtual DetLayer * | detLayer () const |
return DetLayer | |
MapB | getAllInnerBarrelLayers () const |
MapE | getAllInnerEndcapLayers () const |
MapE | getAllOuterEndcapLayers () const |
MapB | getInnerBarrelLayers () const |
MapE | getInnerEndcapLayers () const |
MapE | getOuterEndcapLayers () const |
Operations. | |
MuonForwardNavigableLayer (ForwardDetLayer *fdl, const MapE &outerEndcap) | |
Constructor with outer layers only. | |
MuonForwardNavigableLayer (ForwardDetLayer *fdl, const MapE &outerEndcap, const MapE &allOuterEndcap) | |
Constructor with all outer layers only. | |
MuonForwardNavigableLayer (ForwardDetLayer *fdl, const MapB &innerBarrel, const MapE &outerEndcap, const MapE &innerEndcap, const MapB &allInnerBarrel, const MapE &allOuterEndcap, const MapE &allInnerEndcap) | |
virtual std::vector< const DetLayer * > | nextLayers (NavigationDirection dir) const |
NavigableLayer interface. | |
virtual std::vector< const DetLayer * > | nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const |
NavigableLayer interface. | |
virtual void | setDetLayer (DetLayer *) |
set DetLayer | |
void | setInwardCompatibleLinks (const MapB &, const MapE &) |
void | setInwardLinks (const MapB &, const MapE &) |
set inward links | |
Private Member Functions | |
void | pushCompatibleResult (std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const |
void | pushCompatibleResult (std::vector< const DetLayer * > &result, const MapE &map, const FreeTrajectoryState &fts) const |
void | pushResult (std::vector< const DetLayer * > &result, const MapE &map) 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 MapB &map) const |
Private Attributes | |
MapB | theAllInnerBarrelLayers |
MapE | theAllInnerEndcapLayers |
MapE | theAllOuterEndcapLayers |
ForwardDetLayer * | theDetLayer |
MapB | theInnerBarrelLayers |
MapE | theInnerEndcapLayers |
MapE | theOuterEndcapLayers |
Navigable layer for Forward Muon
Modification: Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which return ALL DetLayers that are compatible with a given DetLayer.
Navigable layer for Forward Muon
Modification: Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which return ALL DetLayers that are compatible with a given DetLayer.
Definition at line 35 of file MuonForwardNavigableLayer.h.
MuonForwardNavigableLayer::MuonForwardNavigableLayer | ( | ForwardDetLayer * | fdl, |
const MapB & | innerBarrel, | ||
const MapE & | outerEndcap, | ||
const MapE & | innerEndcap, | ||
const MapB & | allInnerBarrel, | ||
const MapE & | allOuterEndcap, | ||
const MapE & | allInnerEndcap | ||
) | [inline] |
Definition at line 39 of file MuonForwardNavigableLayer.h.
: theDetLayer(fdl), theInnerBarrelLayers(innerBarrel), theOuterEndcapLayers(outerEndcap), theInnerEndcapLayers(innerEndcap), theAllInnerBarrelLayers(allInnerBarrel), theAllOuterEndcapLayers(allOuterEndcap), theAllInnerEndcapLayers(allInnerEndcap) {}
MuonForwardNavigableLayer::MuonForwardNavigableLayer | ( | ForwardDetLayer * | fdl, |
const MapE & | outerEndcap | ||
) | [inline] |
Constructor with outer layers only.
Definition at line 55 of file MuonForwardNavigableLayer.h.
: theDetLayer(fdl), theOuterEndcapLayers(outerEndcap) {}
MuonForwardNavigableLayer::MuonForwardNavigableLayer | ( | ForwardDetLayer * | fdl, |
const MapE & | outerEndcap, | ||
const MapE & | allOuterEndcap | ||
) | [inline] |
Constructor with all outer layers only.
Definition at line 60 of file MuonForwardNavigableLayer.h.
: theDetLayer(fdl), theOuterEndcapLayers(outerEndcap), theAllOuterEndcapLayers(allOuterEndcap) {}
vector< const DetLayer * > MuonForwardNavigableLayer::compatibleLayers | ( | NavigationDirection | dir | ) | const [virtual] |
Implements MuonNavigableLayer.
Definition at line 74 of file MuonForwardNavigableLayer.cc.
References Reference_intrackfit_cff::barrel, insideOut, and query::result.
{ vector<const DetLayer*> result; vector<const DetLayer*> barrel; if ( dir == insideOut ) { pushResult(result, theAllOuterEndcapLayers); } else { pushResult(result, theAllInnerEndcapLayers); reverse(result.begin(),result.end()); pushResult(barrel, theAllInnerBarrelLayers); reverse(barrel.begin(),barrel.end()); result.insert(result.end(),barrel.begin(),barrel.end()); } result.reserve(result.size()); return result; }
vector< const DetLayer * > MuonForwardNavigableLayer::compatibleLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | dir | ||
) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 95 of file MuonForwardNavigableLayer.cc.
References alongMomentum, Reference_intrackfit_cff::barrel, oppositeToMomentum, and query::result.
{ vector<const DetLayer*> result; vector<const DetLayer*> barrel; if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { pushCompatibleResult(result, theAllOuterEndcapLayers, fts); } else { pushCompatibleResult(result, theAllInnerEndcapLayers, fts); reverse(result.begin(),result.end()); pushCompatibleResult(barrel, theAllInnerBarrelLayers, fts); reverse(barrel.begin(),barrel.end()); result.insert(result.end(),barrel.begin(),barrel.end()); } result.reserve(result.size()); return result; }
DetLayer * MuonForwardNavigableLayer::detLayer | ( | ) | const [virtual] |
return DetLayer
Implements MuonNavigableLayer.
Definition at line 169 of file MuonForwardNavigableLayer.cc.
{ return theDetLayer; }
MapB MuonForwardNavigableLayer::getAllInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 93 of file MuonForwardNavigableLayer.h.
References theAllInnerBarrelLayers.
{ return theAllInnerBarrelLayers; }
MapE MuonForwardNavigableLayer::getAllInnerEndcapLayers | ( | ) | const [inline] |
Definition at line 92 of file MuonForwardNavigableLayer.h.
References theAllInnerEndcapLayers.
{ return theAllInnerEndcapLayers; }
MapE MuonForwardNavigableLayer::getAllOuterEndcapLayers | ( | ) | const [inline] |
Definition at line 91 of file MuonForwardNavigableLayer.h.
References theAllOuterEndcapLayers.
{ return theAllOuterEndcapLayers; }
MapB MuonForwardNavigableLayer::getInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 89 of file MuonForwardNavigableLayer.h.
References theInnerBarrelLayers.
{ return theInnerBarrelLayers; }
MapE MuonForwardNavigableLayer::getInnerEndcapLayers | ( | ) | const [inline] |
Definition at line 88 of file MuonForwardNavigableLayer.h.
References theInnerEndcapLayers.
{ return theInnerEndcapLayers; }
MapE MuonForwardNavigableLayer::getOuterEndcapLayers | ( | ) | const [inline] |
Operations.
Definition at line 87 of file MuonForwardNavigableLayer.h.
References theOuterEndcapLayers.
{ return theOuterEndcapLayers; }
vector< const DetLayer * > MuonForwardNavigableLayer::nextLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | dir | ||
) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 51 of file MuonForwardNavigableLayer.cc.
References alongMomentum, Reference_intrackfit_cff::barrel, oppositeToMomentum, and query::result.
{ vector<const DetLayer*> result; vector<const DetLayer*> barrel; if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { pushResult(result, theOuterEndcapLayers, fts); } else { pushResult(result, theInnerEndcapLayers, fts); reverse(result.begin(),result.end()); pushResult(barrel, theInnerBarrelLayers, fts); reverse(barrel.begin(),barrel.end()); result.insert(result.end(),barrel.begin(),barrel.end()); } result.reserve(result.size()); return result; }
vector< const DetLayer * > MuonForwardNavigableLayer::nextLayers | ( | NavigationDirection | dir | ) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 28 of file MuonForwardNavigableLayer.cc.
References Reference_intrackfit_cff::barrel, insideOut, and query::result.
{ vector<const DetLayer*> result; vector<const DetLayer*> barrel; if ( dir == insideOut ) { pushResult(result, theOuterEndcapLayers); } else { pushResult(result, theInnerEndcapLayers); reverse(result.begin(),result.end()); pushResult(barrel, theInnerBarrelLayers); reverse(barrel.begin(),barrel.end()); result.insert(result.end(),barrel.begin(),barrel.end()); } result.reserve(result.size()); return result; }
void MuonForwardNavigableLayer::pushCompatibleResult | ( | std::vector< const DetLayer * > & | result, |
const MapB & | map, | ||
const FreeTrajectoryState & | fts | ||
) | const [private] |
void MuonForwardNavigableLayer::pushCompatibleResult | ( | std::vector< const DetLayer * > & | result, |
const MapE & | map, | ||
const FreeTrajectoryState & | fts | ||
) | const [private] |
void MuonForwardNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, |
const MapE & | map | ||
) | const [private] |
void MuonForwardNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, |
const MapB & | map | ||
) | const [private] |
void MuonForwardNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, |
const MapB & | map, | ||
const FreeTrajectoryState & | fts | ||
) | const [private] |
void MuonForwardNavigableLayer::pushResult | ( | std::vector< const DetLayer * > & | result, |
const MapE & | map, | ||
const FreeTrajectoryState & | fts | ||
) | const [private] |
void MuonForwardNavigableLayer::setDetLayer | ( | DetLayer * | dl | ) | [virtual] |
set DetLayer
Implements MuonNavigableLayer.
Definition at line 176 of file MuonForwardNavigableLayer.cc.
{ edm::LogError ("MuonForwardNavigablaLayer") << "MuonForwardNavigableLayer::setDetLayer called!! " << endl; }
void MuonForwardNavigableLayer::setInwardCompatibleLinks | ( | const MapB & | innerCBL, |
const MapE & | innerCEL | ||
) |
Definition at line 190 of file MuonForwardNavigableLayer.cc.
Referenced by MuonNavigationSchool::createInverseLinks().
{ theAllInnerBarrelLayers = innerCBL; theAllInnerEndcapLayers = innerCEL; }
set inward links
Definition at line 183 of file MuonForwardNavigableLayer.cc.
Referenced by MuonNavigationSchool::createInverseLinks().
{ theInnerBarrelLayers = innerBL; theInnerEndcapLayers = innerEL; }
Definition at line 130 of file MuonForwardNavigableLayer.h.
Referenced by getAllInnerBarrelLayers().
Definition at line 132 of file MuonForwardNavigableLayer.h.
Referenced by getAllInnerEndcapLayers().
Definition at line 131 of file MuonForwardNavigableLayer.h.
Referenced by getAllOuterEndcapLayers().
Definition at line 126 of file MuonForwardNavigableLayer.h.
Definition at line 127 of file MuonForwardNavigableLayer.h.
Referenced by getInnerBarrelLayers().
Definition at line 129 of file MuonForwardNavigableLayer.h.
Referenced by getInnerEndcapLayers().
Definition at line 128 of file MuonForwardNavigableLayer.h.
Referenced by getOuterEndcapLayers().