CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
BTLNavigableLayer Class Reference

#include <BTLNavigableLayer.h>

Inheritance diagram for BTLNavigableLayer:
MTDNavigableLayer NavigableLayer

Public Member Functions

 BTLNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapB &innerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapE &innerBackward, const MapE &innerForward)
 Constructor. More...
 
 BTLNavigableLayer (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)
 
 BTLNavigableLayer (BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward)
 Constructor with outer layers only. More...
 
 BTLNavigableLayer (const BarrelDetLayer *bdl, const MapB &outerBarrel, const MapE &outerBackward, const MapE &outerForward, const MapB &allOuterBarrel, const MapE &allOuterBackward, const MapE &allOuterForward)
 
std::vector< const DetLayer * > compatibleLayers (NavigationDirection dir) const override
 
std::vector< const DetLayer * > compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
const DetLayerdetLayer () const override
 return DetLayer More...
 
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
 
std::vector< const DetLayer * > nextLayers (NavigationDirection dir) const override
 NavigableLayer interface. More...
 
std::vector< const DetLayer * > nextLayers (const FreeTrajectoryState &fts, PropagationDirection dir) const override
 NavigableLayer interface. More...
 
void setDetLayer (const DetLayer *) override
 set DetLayer More...
 
void setInwardCompatibleLinks (const MapB &)
 
void setInwardLinks (const MapB &)
 set inward links More...
 
- Public Member Functions inherited from MTDNavigableLayer
bool isInsideOut (const FreeTrajectoryState &fts) const
 
MTDEtaRange trackingRange (const FreeTrajectoryState &fts) const
 
- Public Member Functions inherited from NavigableLayer
virtual std::vector< const DetLayer * > compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
 
virtual void setDetLayer (DetLayer const *dl)=0
 
void setSchool (NavigationSchool const *sh)
 
virtual ~NavigableLayer ()
 

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 MapB &map) const
 
void pushResult (std::vector< const DetLayer * > &result, const MapE &map) 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 FreeTrajectoryState &fts) const
 

Private Attributes

MapE theAllInnerBackwardLayers
 
MapB theAllInnerBarrelLayers
 
MapE theAllInnerForwardLayers
 
MapE theAllOuterBackwardLayers
 
MapB theAllOuterBarrelLayers
 
MapE theAllOuterForwardLayers
 
const BarrelDetLayertheDetLayer
 
MapE theInnerBackwardLayers
 
MapB theInnerBarrelLayers
 
MapE theInnerForwardLayers
 
MapE theOuterBackwardLayers
 
MapB theOuterBarrelLayers
 
MapE theOuterForwardLayers
 

Additional Inherited Members

- Protected Attributes inherited from NavigableLayer
NavigationSchool const * school = 0
 

Detailed Description

Navigable layer for Barrel Timing Layer. Taken from MuonBarrelNavigableLayer.

Author
: L. Gray - FNAL

Navigable layer for Barrel Timing Layer Adapted from MuonBarrelNavigableLayer

Author
: L. Gray

Definition at line 30 of file BTLNavigableLayer.h.

Constructor & Destructor Documentation

BTLNavigableLayer::BTLNavigableLayer ( 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 35 of file BTLNavigableLayer.h.

41  :
42  theDetLayer(bdl),
43  theOuterBarrelLayers(outerBarrel),
44  theInnerBarrelLayers(innerBarrel),
45  theOuterBackwardLayers(outerBackward),
46  theInnerBackwardLayers(innerBackward),
47  theOuterForwardLayers(outerForward),
48  theInnerForwardLayers(innerForward) {}
const BarrelDetLayer * theDetLayer
BTLNavigableLayer::BTLNavigableLayer ( 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 50 of file BTLNavigableLayer.h.

62  :
63  theDetLayer(bdl),
64  theOuterBarrelLayers(outerBarrel),
65  theInnerBarrelLayers(innerBarrel),
66  theOuterBackwardLayers(outerBackward),
67  theInnerBackwardLayers(innerBackward),
68  theOuterForwardLayers(outerForward),
69  theInnerForwardLayers(innerForward),
70  theAllOuterBarrelLayers(allOuterBarrel),
71  theAllInnerBarrelLayers(allInnerBarrel),
72  theAllOuterBackwardLayers(allOuterBackward),
73  theAllInnerBackwardLayers(allInnerBackward),
74  theAllOuterForwardLayers(allOuterForward),
75  theAllInnerForwardLayers(allInnerForward) {}
const BarrelDetLayer * theDetLayer
BTLNavigableLayer::BTLNavigableLayer ( BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward 
)
inline

Constructor with outer layers only.

Definition at line 78 of file BTLNavigableLayer.h.

81  :
82  theDetLayer(bdl),
83  theOuterBarrelLayers(outerBarrel),
84  theOuterBackwardLayers(outerBackward),
85  theOuterForwardLayers(outerForward) { }
const BarrelDetLayer * theDetLayer
BTLNavigableLayer::BTLNavigableLayer ( const BarrelDetLayer bdl,
const MapB outerBarrel,
const MapE outerBackward,
const MapE outerForward,
const MapB allOuterBarrel,
const MapE allOuterBackward,
const MapE allOuterForward 
)
inline

Definition at line 87 of file BTLNavigableLayer.h.

References compatibleLayers(), detLayer(), dir, nextLayers(), and setDetLayer().

93  :
94  theDetLayer(bdl),
95  theOuterBarrelLayers(outerBarrel),
96  theOuterBackwardLayers(outerBackward),
97  theOuterForwardLayers(outerForward),
98  theAllOuterBarrelLayers(allOuterBarrel),
99  theAllOuterBackwardLayers(allOuterBackward),
100  theAllOuterForwardLayers(allOuterForward) {}
const BarrelDetLayer * theDetLayer

Member Function Documentation

std::vector< const DetLayer * > BTLNavigableLayer::compatibleLayers ( NavigationDirection  dir) const
overridevirtual

Implements MTDNavigableLayer.

Definition at line 69 of file BTLNavigableLayer.cc.

References insideOut, mps_fire::result, and groupFilesInBlocks::reverse.

Referenced by BTLNavigableLayer().

69  {
70 
71  std::vector<const DetLayer*> result;
72 
73  if ( dir == insideOut ) {
77  }
78  else {
80  reverse(result.begin(),result.end());
83  }
84 
85  result.reserve(result.size());
86  return result;
87 }
dbl *** dir
Definition: mlp_gen.cc:35
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
std::vector< const DetLayer * > BTLNavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MTDNavigableLayer.

Definition at line 90 of file BTLNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, mps_fire::result, and groupFilesInBlocks::reverse.

91  {
92  std::vector<const DetLayer*> result;
93 
94  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
98  }
99  else {
101  reverse(result.begin(),result.end());
104  }
105  result.reserve(result.size());
106  return result;
107 
108 }
bool isInsideOut(const FreeTrajectoryState &fts) const
void pushCompatibleResult(std::vector< const DetLayer * > &result, const MapB &map, const FreeTrajectoryState &fts) const
dbl *** dir
Definition: mlp_gen.cc:35
const DetLayer * BTLNavigableLayer::detLayer ( ) const
overridevirtual

return DetLayer

Implements MTDNavigableLayer.

Definition at line 158 of file BTLNavigableLayer.cc.

Referenced by BTLNavigableLayer().

158  {
159  return theDetLayer;
160 }
const BarrelDetLayer * theDetLayer
MapE BTLNavigableLayer::getAllInnerBackwardLayers ( ) const
inline

Definition at line 131 of file BTLNavigableLayer.h.

References theAllInnerBackwardLayers.

MapB BTLNavigableLayer::getAllInnerBarrelLayers ( ) const
inline

Definition at line 129 of file BTLNavigableLayer.h.

References theAllInnerBarrelLayers.

129 { return theAllInnerBarrelLayers; }
MapE BTLNavigableLayer::getAllInnerForwardLayers ( ) const
inline
MapE BTLNavigableLayer::getAllOuterBackwardLayers ( ) const
inline

Definition at line 130 of file BTLNavigableLayer.h.

References theAllOuterBackwardLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

MapB BTLNavigableLayer::getAllOuterBarrelLayers ( ) const
inline

Definition at line 128 of file BTLNavigableLayer.h.

References theAllOuterBarrelLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

128 { return theAllOuterBarrelLayers; }
MapE BTLNavigableLayer::getAllOuterForwardLayers ( ) const
inline

Definition at line 132 of file BTLNavigableLayer.h.

References theAllOuterForwardLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

132 { return theAllOuterForwardLayers; }
MapE BTLNavigableLayer::getInnerBackwardLayers ( ) const
inline

Definition at line 124 of file BTLNavigableLayer.h.

References theInnerBackwardLayers.

124 { return theInnerBackwardLayers; }
MapB BTLNavigableLayer::getInnerBarrelLayers ( ) const
inline

Definition at line 122 of file BTLNavigableLayer.h.

References theInnerBarrelLayers.

122 { return theInnerBarrelLayers; }
MapE BTLNavigableLayer::getInnerForwardLayers ( ) const
inline

Definition at line 126 of file BTLNavigableLayer.h.

References theInnerForwardLayers.

126 { return theInnerForwardLayers; }
MapE BTLNavigableLayer::getOuterBackwardLayers ( ) const
inline

Definition at line 123 of file BTLNavigableLayer.h.

References theOuterBackwardLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

123 { return theOuterBackwardLayers; }
MapB BTLNavigableLayer::getOuterBarrelLayers ( ) const
inline

Definition at line 121 of file BTLNavigableLayer.h.

References theOuterBarrelLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

121 { return theOuterBarrelLayers; }
MapE BTLNavigableLayer::getOuterForwardLayers ( ) const
inline

Definition at line 125 of file BTLNavigableLayer.h.

References theOuterForwardLayers.

Referenced by MTDNavigationSchool::createInverseLinks().

125 { return theOuterForwardLayers; }
std::vector< const DetLayer * > BTLNavigableLayer::nextLayers ( NavigationDirection  dir) const
overridevirtual

NavigableLayer interface.

Implements MTDNavigableLayer.

Definition at line 25 of file BTLNavigableLayer.cc.

References insideOut, mps_fire::result, and groupFilesInBlocks::reverse.

Referenced by BTLNavigableLayer().

25  {
26 
27  std::vector<const DetLayer*> result;
28 
29  if ( dir == insideOut ) {
33  }
34  else {
36  reverse(result.begin(),result.end());
39  }
40 
41  result.reserve(result.size());
42  return result;
43 
44 }
dbl *** dir
Definition: mlp_gen.cc:35
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
std::vector< const DetLayer * > BTLNavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  dir 
) const
overridevirtual

NavigableLayer interface.

Implements MTDNavigableLayer.

Definition at line 48 of file BTLNavigableLayer.cc.

References alongMomentum, oppositeToMomentum, mps_fire::result, and groupFilesInBlocks::reverse.

49  {
50 
51  std::vector<const DetLayer*> result;
52 
53  if ( (isInsideOut(fts) && dir == alongMomentum) || ( !isInsideOut(fts) && dir == oppositeToMomentum)) {
54  pushResult(result, theOuterBarrelLayers, fts);
55  pushResult(result, theOuterBackwardLayers, fts);
56  pushResult(result, theOuterForwardLayers, fts);
57  }
58  else {
59  pushResult(result, theInnerBarrelLayers, fts);
60  reverse(result.begin(),result.end());
61  pushResult(result, theInnerBackwardLayers, fts);
62  pushResult(result, theInnerForwardLayers, fts);
63  }
64  result.reserve(result.size());
65  return result;
66 }
bool isInsideOut(const FreeTrajectoryState &fts) const
dbl *** dir
Definition: mlp_gen.cc:35
void pushResult(std::vector< const DetLayer * > &result, const MapB &map) const
void BTLNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 141 of file BTLNavigableLayer.cc.

References mps_fire::i.

Referenced by getAllInnerForwardLayers().

143  {
144  MTDEtaRange range= trackingRange(fts);
145  for ( MapBI i = map.begin(); i != map.end(); i++ )
146  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
147 }
MapB::const_iterator MapBI
MTDEtaRange trackingRange(const FreeTrajectoryState &fts) const
void BTLNavigableLayer::pushCompatibleResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 149 of file BTLNavigableLayer.cc.

References mps_fire::i.

151  {
152  MTDEtaRange range= trackingRange(fts);
153  for (MapEI i = map.begin(); i != map.end(); i++)
154  if ((*i).second.isCompatible(range)) result.push_back((*i).first);
155 
156 }
MTDEtaRange trackingRange(const FreeTrajectoryState &fts) const
MapE::const_iterator MapEI
void BTLNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map 
) const
private

Definition at line 111 of file BTLNavigableLayer.cc.

References mps_fire::i.

Referenced by getAllInnerForwardLayers().

112  {
113 
114  for ( MapBI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
115 
116 }
MapB::const_iterator MapBI
void BTLNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map 
) const
private

Definition at line 118 of file BTLNavigableLayer.cc.

References mps_fire::i.

119  {
120 
121  for ( MapEI i = map.begin(); i != map.end(); i++ ) result.push_back((*i).first);
122 }
MapE::const_iterator MapEI
void BTLNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapB map,
const FreeTrajectoryState fts 
) const
private

Definition at line 125 of file BTLNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, and FreeTrajectoryState::position().

127  {
128  for ( MapBI i = map.begin(); i != map.end(); i++ )
129  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
130 }
MapB::const_iterator MapBI
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
void BTLNavigableLayer::pushResult ( std::vector< const DetLayer * > &  result,
const MapE map,
const FreeTrajectoryState fts 
) const
private

Definition at line 132 of file BTLNavigableLayer.cc.

References PV3DBase< T, PVType, FrameType >::eta(), mps_fire::i, and FreeTrajectoryState::position().

134  {
135 
136  for (MapEI i = map.begin(); i != map.end(); i++)
137  if ((*i).second.isInside(fts.position().eta())) result.push_back((*i).first);
138 
139 }
GlobalPoint position() const
T eta() const
Definition: PV3DBase.h:76
MapE::const_iterator MapEI
void BTLNavigableLayer::setDetLayer ( const DetLayer dl)
overridevirtual

set DetLayer

Implements MTDNavigableLayer.

Definition at line 163 of file BTLNavigableLayer.cc.

Referenced by BTLNavigableLayer().

163  {
164  edm::LogError("BTLNavigableLayer") << "BTLNavigableLayer::setDetLayer called!! " << endl;
165 }
void BTLNavigableLayer::setInwardCompatibleLinks ( const MapB innerCBL)

Definition at line 171 of file BTLNavigableLayer.cc.

Referenced by MTDNavigationSchool::createInverseLinks(), and getAllInnerForwardLayers().

171  {
172 
173  theAllInnerBarrelLayers = innerCBL;
174 
175 }
void BTLNavigableLayer::setInwardLinks ( const MapB innerBL)

set inward links

Definition at line 168 of file BTLNavigableLayer.cc.

Referenced by MTDNavigationSchool::createInverseLinks(), and getAllInnerForwardLayers().

168  {
169  theInnerBarrelLayers = innerBL;
170 }

Member Data Documentation

MapE BTLNavigableLayer::theAllInnerBackwardLayers
private

Definition at line 174 of file BTLNavigableLayer.h.

Referenced by getAllInnerBackwardLayers().

MapB BTLNavigableLayer::theAllInnerBarrelLayers
private

Definition at line 172 of file BTLNavigableLayer.h.

Referenced by getAllInnerBarrelLayers().

MapE BTLNavigableLayer::theAllInnerForwardLayers
private

Definition at line 176 of file BTLNavigableLayer.h.

Referenced by getAllInnerForwardLayers().

MapE BTLNavigableLayer::theAllOuterBackwardLayers
private

Definition at line 173 of file BTLNavigableLayer.h.

Referenced by getAllOuterBackwardLayers().

MapB BTLNavigableLayer::theAllOuterBarrelLayers
private

Definition at line 171 of file BTLNavigableLayer.h.

Referenced by getAllOuterBarrelLayers().

MapE BTLNavigableLayer::theAllOuterForwardLayers
private

Definition at line 175 of file BTLNavigableLayer.h.

Referenced by getAllOuterForwardLayers().

const BarrelDetLayer* BTLNavigableLayer::theDetLayer
private

Definition at line 164 of file BTLNavigableLayer.h.

MapE BTLNavigableLayer::theInnerBackwardLayers
private

Definition at line 168 of file BTLNavigableLayer.h.

Referenced by getInnerBackwardLayers().

MapB BTLNavigableLayer::theInnerBarrelLayers
private

Definition at line 166 of file BTLNavigableLayer.h.

Referenced by getInnerBarrelLayers().

MapE BTLNavigableLayer::theInnerForwardLayers
private

Definition at line 170 of file BTLNavigableLayer.h.

Referenced by getInnerForwardLayers().

MapE BTLNavigableLayer::theOuterBackwardLayers
private

Definition at line 167 of file BTLNavigableLayer.h.

Referenced by getOuterBackwardLayers().

MapB BTLNavigableLayer::theOuterBarrelLayers
private

Definition at line 165 of file BTLNavigableLayer.h.

Referenced by getOuterBarrelLayers().

MapE BTLNavigableLayer::theOuterForwardLayers
private

Definition at line 169 of file BTLNavigableLayer.h.

Referenced by getOuterForwardLayers().