#include <MuonBarrelNavigableLayer.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 | |
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 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 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) | |
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 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 | |
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 |
Navigable layer for Barrel Muon
Modification:
Chang Liu: compatibleLayers(dir) and compatibleLayers(fts, dir) are added, which returns ALL DetLayers that are compatible with a given DetLayer.
Navigable layer for Barrel Muon
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.
: theDetLayer(bdl), theOuterBarrelLayers(outerBarrel), theInnerBarrelLayers(innerBarrel), theOuterBackwardLayers(outerBackward), theInnerBackwardLayers(innerBackward), theOuterForwardLayers(outerForward), 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.
: theDetLayer(bdl), theOuterBarrelLayers(outerBarrel), theInnerBarrelLayers(innerBarrel), theOuterBackwardLayers(outerBackward), theInnerBackwardLayers(innerBackward), theOuterForwardLayers(outerForward), theInnerForwardLayers(innerForward), theAllOuterBarrelLayers(allOuterBarrel), theAllInnerBarrelLayers(allInnerBarrel), theAllOuterBackwardLayers(allOuterBackward), theAllInnerBackwardLayers(allInnerBackward), theAllOuterForwardLayers(allOuterForward), 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.
: theDetLayer(bdl), theOuterBarrelLayers(outerBarrel), theOuterBackwardLayers(outerBackward), 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.
: theDetLayer(bdl), theOuterBarrelLayers(outerBarrel), theOuterBackwardLayers(outerBackward), theOuterForwardLayers(outerForward), theAllOuterBarrelLayers(allOuterBarrel), theAllOuterBackwardLayers(allOuterBackward), theAllOuterForwardLayers(allOuterForward) {}
std::vector< const DetLayer * > MuonBarrelNavigableLayer::compatibleLayers | ( | NavigationDirection | dir | ) | const [virtual] |
Implements MuonNavigableLayer.
Definition at line 76 of file MuonBarrelNavigableLayer.cc.
References insideOut, and query::result.
{ std::vector<const DetLayer*> result; if ( dir == insideOut ) { pushResult(result, theAllOuterBarrelLayers); pushResult(result, theAllOuterBackwardLayers); pushResult(result, theAllOuterForwardLayers); } else { pushResult(result, theAllInnerBarrelLayers); reverse(result.begin(),result.end()); pushResult(result, theAllInnerBackwardLayers); pushResult(result, theAllInnerForwardLayers); } result.reserve(result.size()); return result; }
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, oppositeToMomentum, and query::result.
{ std::vector<const DetLayer*> result; if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { pushCompatibleResult(result, theAllOuterBarrelLayers, fts); pushCompatibleResult(result, theAllOuterBackwardLayers, fts); pushCompatibleResult(result, theAllOuterForwardLayers, fts); } else { pushCompatibleResult(result, theAllInnerBarrelLayers, fts); reverse(result.begin(),result.end()); pushCompatibleResult(result, theAllInnerBackwardLayers, fts); pushCompatibleResult(result, theAllInnerForwardLayers, fts); } result.reserve(result.size()); return result; }
DetLayer * MuonBarrelNavigableLayer::detLayer | ( | ) | const [virtual] |
return DetLayer
Implements MuonNavigableLayer.
Definition at line 165 of file MuonBarrelNavigableLayer.cc.
{ return theDetLayer; }
MapE MuonBarrelNavigableLayer::getAllInnerBackwardLayers | ( | ) | const [inline] |
Definition at line 138 of file MuonBarrelNavigableLayer.h.
References theAllInnerBackwardLayers.
{ return theAllInnerBackwardLayers; }
MapB MuonBarrelNavigableLayer::getAllInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 136 of file MuonBarrelNavigableLayer.h.
References theAllInnerBarrelLayers.
{ return theAllInnerBarrelLayers; }
MapE MuonBarrelNavigableLayer::getAllInnerForwardLayers | ( | ) | const [inline] |
Definition at line 140 of file MuonBarrelNavigableLayer.h.
References theAllInnerForwardLayers.
{ return theAllInnerForwardLayers; }
MapE MuonBarrelNavigableLayer::getAllOuterBackwardLayers | ( | ) | const [inline] |
Definition at line 137 of file MuonBarrelNavigableLayer.h.
References theAllOuterBackwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ return theAllOuterBackwardLayers; }
MapB MuonBarrelNavigableLayer::getAllOuterBarrelLayers | ( | ) | const [inline] |
Definition at line 135 of file MuonBarrelNavigableLayer.h.
References theAllOuterBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ return theAllOuterBarrelLayers; }
MapE MuonBarrelNavigableLayer::getAllOuterForwardLayers | ( | ) | const [inline] |
Definition at line 139 of file MuonBarrelNavigableLayer.h.
References theAllOuterForwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ return theAllOuterForwardLayers; }
MapE MuonBarrelNavigableLayer::getInnerBackwardLayers | ( | ) | const [inline] |
Definition at line 131 of file MuonBarrelNavigableLayer.h.
References theInnerBackwardLayers.
{ return theInnerBackwardLayers; }
MapB MuonBarrelNavigableLayer::getInnerBarrelLayers | ( | ) | const [inline] |
Definition at line 129 of file MuonBarrelNavigableLayer.h.
References theInnerBarrelLayers.
{ return theInnerBarrelLayers; }
MapE MuonBarrelNavigableLayer::getInnerForwardLayers | ( | ) | const [inline] |
Definition at line 133 of file MuonBarrelNavigableLayer.h.
References theInnerForwardLayers.
{ return theInnerForwardLayers; }
MapE MuonBarrelNavigableLayer::getOuterBackwardLayers | ( | ) | const [inline] |
Definition at line 130 of file MuonBarrelNavigableLayer.h.
References theOuterBackwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ return theOuterBackwardLayers; }
MapB MuonBarrelNavigableLayer::getOuterBarrelLayers | ( | ) | const [inline] |
Definition at line 128 of file MuonBarrelNavigableLayer.h.
References theOuterBarrelLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ return theOuterBarrelLayers; }
MapE MuonBarrelNavigableLayer::getOuterForwardLayers | ( | ) | const [inline] |
Definition at line 132 of file MuonBarrelNavigableLayer.h.
References theOuterForwardLayers.
Referenced by MuonNavigationSchool::createInverseLinks().
{ 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, oppositeToMomentum, and query::result.
{ std::vector<const DetLayer*> result; if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) { pushResult(result, theOuterBarrelLayers, fts); pushResult(result, theOuterBackwardLayers, fts); pushResult(result, theOuterForwardLayers, fts); } else { pushResult(result, theInnerBarrelLayers, fts); reverse(result.begin(),result.end()); pushResult(result, theInnerBackwardLayers, fts); pushResult(result, theInnerForwardLayers, fts); } result.reserve(result.size()); return result; }
std::vector< const DetLayer * > MuonBarrelNavigableLayer::nextLayers | ( | NavigationDirection | dir | ) | const [virtual] |
NavigableLayer interface.
Implements MuonNavigableLayer.
Definition at line 32 of file MuonBarrelNavigableLayer.cc.
References insideOut, and query::result.
{ std::vector<const DetLayer*> result; if ( dir == insideOut ) { pushResult(result, theOuterBarrelLayers); pushResult(result, theOuterBackwardLayers); pushResult(result, theOuterForwardLayers); } else { pushResult(result, theInnerBarrelLayers); reverse(result.begin(),result.end()); pushResult(result, theInnerBackwardLayers); pushResult(result, theInnerForwardLayers); } result.reserve(result.size()); return result; }
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.
{ MuonEtaRange range= trackingRange(fts); for (MapEI i = map.begin(); i != map.end(); i++) if ((*i).second.isCompatible(range)) result.push_back((*i).first); }
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.
{ MuonEtaRange range= trackingRange(fts); for ( MapBI i = map.begin(); i != map.end(); i++ ) if ((*i).second.isCompatible(range)) result.push_back((*i).first); }
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().
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().
void MuonBarrelNavigableLayer::setDetLayer | ( | DetLayer * | dl | ) | [virtual] |
set DetLayer
Implements MuonNavigableLayer.
Definition at line 170 of file MuonBarrelNavigableLayer.cc.
{ edm::LogError("MuonBarrelNavigableLayer") << "MuonBarrelNavigableLayer::setDetLayer called!! " << endl; }
void MuonBarrelNavigableLayer::setInwardCompatibleLinks | ( | const MapB & | innerCBL | ) |
Definition at line 178 of file MuonBarrelNavigableLayer.cc.
Referenced by MuonNavigationSchool::createInverseLinks().
{ theAllInnerBarrelLayers = innerCBL; }
void MuonBarrelNavigableLayer::setInwardLinks | ( | const MapB & | innerBL | ) |
set inward links
Definition at line 175 of file MuonBarrelNavigableLayer.cc.
Referenced by MuonNavigationSchool::createInverseLinks().
{ theInnerBarrelLayers = innerBL; }
Definition at line 181 of file MuonBarrelNavigableLayer.h.
Referenced by getAllInnerBackwardLayers().
Definition at line 179 of file MuonBarrelNavigableLayer.h.
Referenced by getAllInnerBarrelLayers().
Definition at line 183 of file MuonBarrelNavigableLayer.h.
Referenced by getAllInnerForwardLayers().
Definition at line 180 of file MuonBarrelNavigableLayer.h.
Referenced by getAllOuterBackwardLayers().
Definition at line 178 of file MuonBarrelNavigableLayer.h.
Referenced by getAllOuterBarrelLayers().
Definition at line 182 of file MuonBarrelNavigableLayer.h.
Referenced by getAllOuterForwardLayers().
Definition at line 171 of file MuonBarrelNavigableLayer.h.
Definition at line 175 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerBackwardLayers().
Definition at line 173 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerBarrelLayers().
Definition at line 177 of file MuonBarrelNavigableLayer.h.
Referenced by getInnerForwardLayers().
Definition at line 174 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterBackwardLayers().
Definition at line 172 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterBarrelLayers().
Definition at line 176 of file MuonBarrelNavigableLayer.h.
Referenced by getOuterForwardLayers().