CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
SimpleForwardNavigableLayer Class Reference

#include <SimpleForwardNavigableLayer.h>

Inheritance diagram for SimpleForwardNavigableLayer:
SimpleNavigableLayer NavigableLayer

Public Member Functions

virtual std::vector< const
DetLayer * > 
compatibleLayers (NavigationDirection direction) const
 
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
 
virtual DetLayerdetLayer () const
 
virtual std::vector< const
DetLayer * > 
nextLayers (NavigationDirection direction) const
 
virtual std::vector< const
DetLayer * > 
nextLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const
 
virtual void setAdditionalLink (DetLayer *, NavigationDirection direction=insideOut)
 
virtual void setDetLayer (DetLayer *dl)
 
virtual void setInwardLinks (const BDLC &, const FDLC &, TkLayerLess sorter=TkLayerLess(outsideIn))
 
 SimpleForwardNavigableLayer (ForwardDetLayer *detLayer, const BDLC &outerBL, const FDLC &outerFL, const MagneticField *field, float epsilon, bool checkCrossingSide=true)
 
 SimpleForwardNavigableLayer (ForwardDetLayer *detLayer, const BDLC &outerBL, const BDLC &allOuterBL, const BDLC &innerBL, const BDLC &allInnerBL, const FDLC &outerFL, const FDLC &allOuterFL, const FDLC &innerFL, const FDLC &allInnerFL, const MagneticField *field, float epsilon, bool checkCrossingSide=true)
 
- Public Member Functions inherited from SimpleNavigableLayer
virtual std::vector< const
DetLayer * > 
compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
 
void setCheckCrossingSide (bool docheck)
 
 SimpleNavigableLayer (const MagneticField *field, float eps, bool checkCrossingSide=true)
 
- Public Member Functions inherited from NavigableLayer
virtual ~NavigableLayer ()
 

Private Attributes

bool areAllReachableLayersSet
 
BDLC theAllInnerBarrelLayers
 
FDLC theAllInnerForwardLayers
 
DLC theAllInnerLayers
 
BDLC theAllOuterBarrelLayers
 
FDLC theAllOuterForwardLayers
 
DLC theAllOuterLayers
 
ForwardDetLayertheDetLayer
 
BDLC theInnerBarrelLayers
 
FDLC theInnerForwardLayers
 
DLC theInnerLayers
 
BDLC theOuterBarrelLayers
 
FDLC theOuterForwardLayers
 
DLC theOuterLayers
 

Additional Inherited Members

- Public Types inherited from SimpleNavigableLayer
typedef std::vector
< BarrelDetLayer * > 
BDLC
 
typedef std::vector< const
DetLayer * > 
DLC
 
typedef std::vector
< ForwardDetLayer * > 
FDLC
 
- Public Attributes inherited from SimpleNavigableLayer
bool theSelfSearch
 
- Protected Types inherited from SimpleNavigableLayer
typedef BDLC::iterator BDLI
 
typedef BDLC::const_iterator ConstBDLI
 
typedef FDLC::const_iterator ConstFDLI
 
typedef FDLC::iterator FDLI
 
typedef TrajectoryStateOnSurface TSOS
 
- Protected Member Functions inherited from SimpleNavigableLayer
TSOS crossingState (const FreeTrajectoryState &fts, PropagationDirection dir) const
 
Propagatorpropagator (PropagationDirection dir) const
 
void pushResult (DLC &result, const FDLC &tmp) const
 
void pushResult (DLC &result, const BDLC &tmp) const
 
bool wellInside (const FreeTrajectoryState &fts, PropagationDirection dir, const BarrelDetLayer *bl, DLC &result) const
 
bool wellInside (const FreeTrajectoryState &fts, PropagationDirection dir, const ForwardDetLayer *bl, DLC &result) const
 
bool wellInside (const FreeTrajectoryState &fts, PropagationDirection dir, ConstBDLI begin, ConstBDLI end, DLC &result) const
 
bool wellInside (const FreeTrajectoryState &fts, PropagationDirection dir, const DLC &layers, DLC &result) const
 
bool wellInside (const FreeTrajectoryState &fts, PropagationDirection dir, ConstFDLI begin, ConstFDLI end, DLC &result) const
 
- Protected Attributes inherited from SimpleNavigableLayer
bool theCheckCrossingSide
 
float theEpsilon
 
AnalyticalPropagator thePropagator
 

Detailed Description

A concrete NavigableLayer for the forward

Definition at line 9 of file SimpleForwardNavigableLayer.h.

Constructor & Destructor Documentation

SimpleForwardNavigableLayer::SimpleForwardNavigableLayer ( ForwardDetLayer detLayer,
const BDLC outerBL,
const FDLC outerFL,
const MagneticField field,
float  epsilon,
bool  checkCrossingSide = true 
)

Definition at line 17 of file SimpleForwardNavigableLayer.cc.

References python.multivaluedict::sort(), theOuterBarrelLayers, theOuterForwardLayers, and theOuterLayers.

22  :
23  SimpleNavigableLayer(field,epsilon,checkCrossingSide),
25  theDetLayer(detLayer),
26  theOuterBarrelLayers(outerBL),
28  theOuterForwardLayers(outerFL),
30  theOuterLayers(0),
32 {
33 
34  // put barrel and forward layers together
35  theOuterLayers.reserve(outerBL.size() + outerFL.size());
36  for ( ConstBDLI bl = outerBL.begin(); bl != outerBL.end(); bl++ )
37  theOuterLayers.push_back(*bl);
38  for ( ConstFDLI fl = outerFL.begin(); fl != outerFL.end(); fl++ )
39  theOuterLayers.push_back(*fl);
40 
41  // sort the outer layers
42  sort(theOuterLayers.begin(), theOuterLayers.end(), TkLayerLess());
45 
46 }
SimpleNavigableLayer(const MagneticField *field, float eps, bool checkCrossingSide=true)
FDLC::const_iterator ConstFDLI
const double epsilon
BDLC::const_iterator ConstBDLI
SimpleForwardNavigableLayer::SimpleForwardNavigableLayer ( ForwardDetLayer detLayer,
const BDLC outerBL,
const BDLC allOuterBL,
const BDLC innerBL,
const BDLC allInnerBL,
const FDLC outerFL,
const FDLC allOuterFL,
const FDLC innerFL,
const FDLC allInnerFL,
const MagneticField field,
float  epsilon,
bool  checkCrossingSide = true 
)

Definition at line 49 of file SimpleForwardNavigableLayer.cc.

References outsideIn, python.multivaluedict::sort(), theAllInnerLayers, theAllOuterLayers, theInnerBarrelLayers, theInnerForwardLayers, theInnerLayers, theOuterBarrelLayers, theOuterForwardLayers, and theOuterLayers.

60  :
61  SimpleNavigableLayer(field,epsilon,checkCrossingSide),
63  theDetLayer(detLayer),
64  theOuterBarrelLayers(outerBL),
65  theAllOuterBarrelLayers(allOuterBL),
66  theInnerBarrelLayers(innerBL),
67  theAllInnerBarrelLayers(allInnerBL),
68  theOuterForwardLayers(outerFL),
69  theAllOuterForwardLayers(allOuterFL),
70  theInnerForwardLayers(innerFL),
71  theAllInnerForwardLayers(allInnerFL),
72  theOuterLayers(0),
73  theInnerLayers(0),
76 {
77 
78  // put barrel and forward layers together
79  theOuterLayers.reserve(outerBL.size() + outerFL.size());
80  for ( ConstBDLI bl = outerBL.begin(); bl != outerBL.end(); bl++ )
81  theOuterLayers.push_back(*bl);
82  for ( ConstFDLI fl = outerFL.begin(); fl != outerFL.end(); fl++ )
83  theOuterLayers.push_back(*fl);
84 
85  theAllOuterLayers.reserve(allOuterBL.size() + allOuterFL.size());
86  for ( ConstBDLI bl = allOuterBL.begin(); bl != allOuterBL.end(); bl++ )
87  theAllOuterLayers.push_back(*bl);
88  for ( ConstFDLI fl = allOuterFL.begin(); fl != allOuterFL.end(); fl++ )
89  theAllOuterLayers.push_back(*fl);
90 
91  theInnerLayers.reserve(innerBL.size() + innerFL.size());
92  for ( ConstBDLI bl = innerBL.begin(); bl != innerBL.end(); bl++ )
93  theInnerLayers.push_back(*bl);
94  for ( ConstFDLI fl = innerFL.begin(); fl != innerFL.end(); fl++ )
95  theInnerLayers.push_back(*fl);
96 
97  theAllInnerLayers.reserve(allInnerBL.size() + allInnerFL.size());
98  for ( ConstBDLI bl = allInnerBL.begin(); bl != allInnerBL.end(); bl++ )
99  theAllInnerLayers.push_back(*bl);
100  for ( ConstFDLI fl = allInnerFL.begin(); fl != allInnerFL.end(); fl++ )
101  theAllInnerLayers.push_back(*fl);
102 
103 
104  // sort the outer layers
105  sort(theOuterLayers.begin(), theOuterLayers.end(), TkLayerLess());
111 
114 
115 }
SimpleNavigableLayer(const MagneticField *field, float eps, bool checkCrossingSide=true)
FDLC::const_iterator ConstFDLI
const double epsilon
BDLC::const_iterator ConstBDLI

Member Function Documentation

vector< const DetLayer * > SimpleForwardNavigableLayer::compatibleLayers ( NavigationDirection  direction) const
virtual

Implements NavigableLayer.

Definition at line 202 of file SimpleForwardNavigableLayer.cc.

References areAllReachableLayersSet, insideOut, query::result, theAllInnerLayers, and theAllOuterLayers.

203 {
205  edm::LogError("TkNavigation") << "ERROR: compatibleLayers() method used without all reachableLayers are set" ;
206  throw DetLayerException("compatibleLayers() method used without all reachableLayers are set");
207  }
208 
209  vector<const DetLayer*> result;
210 
211  if ( dir == insideOut ) {
212  return theAllOuterLayers;
213  }
214  else {
215  return theAllInnerLayers;
216  }
217  return result;
218 
219 }
Common base class.
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
vector< const DetLayer * > SimpleForwardNavigableLayer::compatibleLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) const
virtual

Reimplemented from NavigableLayer.

Definition at line 222 of file SimpleForwardNavigableLayer.cc.

References areAllReachableLayersSet, SimpleNavigableLayer::compatibleLayers(), FreeTrajectoryState::hasError(), FreeTrajectoryState::momentum(), oppositeToMomentum, FreeTrajectoryState::parameters(), FreeTrajectoryState::position(), query::result, theAllInnerBarrelLayers, theAllInnerForwardLayers, theAllInnerLayers, theAllOuterBarrelLayers, theAllOuterForwardLayers, theAllOuterLayers, SimpleNavigableLayer::wellInside(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

224 {
226  int counter = 0;
227  return SimpleNavigableLayer::compatibleLayers(fts,dir,counter);
228  // edm::LogError("TkNavigation") << "ERROR: compatibleLayers() method used without all reachableLayers are set" ;
229  // throw DetLayerException("compatibleLayers() method used without all reachableLayers are set");
230  }
231 
232  vector<const DetLayer*> result;
233  FreeTrajectoryState ftsWithoutErrors = (fts.hasError()) ?
234  FreeTrajectoryState(fts.parameters()) : fts;
235 
236  //establish whether the tracks is crossing the tracker from outer layers to inner ones
237  //or from inner to outer.
238  //bool isInOutTrack = (fts.position().basicVector().dot(fts.momentum().basicVector())>0) ? 1 : 0;
239 /* float zpos = fts.position().z();
240  bool isInOutTrack = fts.momentum().z()*zpos>0;
241 
242  //establish whether inner or outer layers are crossed after propagation, according
243  //to BOTH propagationDirection AND track momentum
244  bool dirOppositeXORisInOutTrack = ( !(dir == oppositeToMomentum) && isInOutTrack) || ((dir == oppositeToMomentum) && !isInOutTrack);
245 
246  if ( dirOppositeXORisInOutTrack ) {
247  wellInside(ftsWithoutErrors, dir, theAllOuterLayers, result);
248  }
249  else { // !dirOppositeXORisInOutTrack
250  wellInside(ftsWithoutErrors, dir, theAllInnerLayers, result);
251  }
252 */
253 
254  float zpos = fts.position().z();
255  bool isInOutTrackFWD = fts.momentum().z()*zpos>0;
256  GlobalVector transversePosition(fts.position().x(), fts.position().y(), 0);
257  bool isInOutTrackBarrel = (transversePosition.dot(fts.momentum())>0) ? 1 : 0;
258 
259  //establish whether inner or outer layers are crossed after propagation, according
260  //to BOTH propagationDirection AND track momentum
261  bool dirOppositeXORisInOutTrackBarrel = ( !(dir == oppositeToMomentum) && isInOutTrackBarrel) || ( (dir == oppositeToMomentum) && !isInOutTrackBarrel);
262  bool dirOppositeXORisInOutTrackFWD = ( !(dir == oppositeToMomentum) && isInOutTrackFWD) || ( (dir == oppositeToMomentum) && !isInOutTrackFWD);
263  //bool dirOppositeXORisInOutTrack = ( !(dir == oppositeToMomentum) && isInOutTrack) || ( (dir == oppositeToMomentum) && !isInOutTrack);
264 
265  if ( dirOppositeXORisInOutTrackFWD && dirOppositeXORisInOutTrackBarrel ) { //standard tracks
266 
267  //wellInside(ftsWithoutErrors, dir, theOuterForwardLayers.begin(), theOuterForwardLayers.end(), result);
268  wellInside(ftsWithoutErrors, dir, theAllOuterLayers, result);
269 
270  }
271  else if (!dirOppositeXORisInOutTrackFWD && !dirOppositeXORisInOutTrackBarrel){ // !dirOppositeXORisInOutTrack
272 
273  //wellInside(ftsWithoutErrors, dir, theInnerForwardLayers.begin(), theInnerForwardLayers.end(), result);
274  wellInside(ftsWithoutErrors, dir, theAllInnerLayers, result);
275 
276  } else if (!dirOppositeXORisInOutTrackFWD && dirOppositeXORisInOutTrackBarrel ) {
277 
278  wellInside(ftsWithoutErrors, dir, theAllInnerForwardLayers.begin(), theAllInnerForwardLayers.end(), result);
279  wellInside(ftsWithoutErrors, dir, theAllOuterBarrelLayers.begin(), theAllOuterBarrelLayers.end(), result);
280 
281  } else {
282 
283  wellInside(ftsWithoutErrors, dir, theAllInnerBarrelLayers.begin(), theAllInnerBarrelLayers.end(), result);
284  wellInside(ftsWithoutErrors, dir, theAllOuterForwardLayers.begin(), theAllOuterForwardLayers.end(), result);
285 
286  }
287  return result;
288 }
const GlobalTrajectoryParameters & parameters() const
T y() const
Definition: PV3DBase.h:62
T z() const
Definition: PV3DBase.h:63
virtual std::vector< const DetLayer * > compatibleLayers(const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const
tuple result
Definition: query.py:137
GlobalVector momentum() const
GlobalPoint position() const
bool wellInside(const FreeTrajectoryState &fts, PropagationDirection dir, const BarrelDetLayer *bl, DLC &result) const
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:61
DetLayer * SimpleForwardNavigableLayer::detLayer ( ) const
virtual

Implements NavigableLayer.

Definition at line 291 of file SimpleForwardNavigableLayer.cc.

References theDetLayer.

291 { return theDetLayer; }
vector< const DetLayer * > SimpleForwardNavigableLayer::nextLayers ( NavigationDirection  direction) const
virtual

Implements NavigableLayer.

Definition at line 120 of file SimpleForwardNavigableLayer.cc.

References insideOut, query::result, theInnerLayers, and theOuterLayers.

121 {
122  vector<const DetLayer*> result;
123 
124  // the order is the one in which layers
125  // should be checked for a reasonable trajectory
126 
127  if ( dir == insideOut ) {
128  return theOuterLayers;
129  }
130  else {
131  return theInnerLayers;
132  }
133 
134  return result;
135 }
tuple result
Definition: query.py:137
dbl *** dir
Definition: mlp_gen.cc:35
vector< const DetLayer * > SimpleForwardNavigableLayer::nextLayers ( const FreeTrajectoryState fts,
PropagationDirection  timeDirection 
) const
virtual

Implements NavigableLayer.

Definition at line 138 of file SimpleForwardNavigableLayer.cc.

References FreeTrajectoryState::hasError(), FreeTrajectoryState::momentum(), oppositeToMomentum, FreeTrajectoryState::parameters(), FreeTrajectoryState::position(), query::result, theInnerBarrelLayers, theInnerForwardLayers, theInnerLayers, theOuterBarrelLayers, theOuterForwardLayers, theOuterLayers, SimpleNavigableLayer::wellInside(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

140 {
141  // This method contains the sequence in which the layers are tested.
142  // The iteration stops as soon as a layer contains the propagated state
143  // within epsilon
144 
145  vector<const DetLayer*> result;
146 
147  FreeTrajectoryState ftsWithoutErrors = (fts.hasError()) ?
148  FreeTrajectoryState(fts.parameters()) : fts;
149 
150  //establish whether the tracks is crossing the tracker from outer layers to inner ones
151  //or from inner to outer
152  //bool isInOutTrack = (fts.position().basicVector().dot(fts.momentum().basicVector())>0) ? 1 : 0;
153  float zpos = fts.position().z();
154  bool isInOutTrackFWD = fts.momentum().z()*zpos>0;
155  GlobalVector transversePosition(fts.position().x(), fts.position().y(), 0);
156  bool isInOutTrackBarrel = (transversePosition.dot(fts.momentum())>0) ? 1 : 0;
157 
158  //establish whether inner or outer layers are crossed after propagation, according
159  //to BOTH propagationDirection AND track momentum
160  bool dirOppositeXORisInOutTrackBarrel = ( !(dir == oppositeToMomentum) && isInOutTrackBarrel) || ( (dir == oppositeToMomentum) && !isInOutTrackBarrel);
161  bool dirOppositeXORisInOutTrackFWD = ( !(dir == oppositeToMomentum) && isInOutTrackFWD) || ( (dir == oppositeToMomentum) && !isInOutTrackFWD);
162  //bool dirOppositeXORisInOutTrack = ( !(dir == oppositeToMomentum) && isInOutTrack) || ( (dir == oppositeToMomentum) && !isInOutTrack);
163 
164  if ( dirOppositeXORisInOutTrackFWD && dirOppositeXORisInOutTrackBarrel ) { //standard tracks
165 
166  //wellInside(ftsWithoutErrors, dir, theOuterForwardLayers.begin(), theOuterForwardLayers.end(), result);
167  wellInside(ftsWithoutErrors, dir, theOuterLayers, result);
168 
169  }
170  else if (!dirOppositeXORisInOutTrackFWD && !dirOppositeXORisInOutTrackBarrel){ // !dirOppositeXORisInOutTrack
171 
172  //wellInside(ftsWithoutErrors, dir, theInnerForwardLayers.begin(), theInnerForwardLayers.end(), result);
173  wellInside(ftsWithoutErrors, dir, theInnerLayers, result);
174 
175  } else if (!dirOppositeXORisInOutTrackFWD && dirOppositeXORisInOutTrackBarrel ) {
176  wellInside(ftsWithoutErrors, dir, theInnerForwardLayers.begin(), theInnerForwardLayers.end(), result);
177  wellInside(ftsWithoutErrors, dir, theOuterBarrelLayers.begin(), theOuterBarrelLayers.end(), result);
178 
179  } else {
180  wellInside(ftsWithoutErrors, dir, theInnerBarrelLayers.begin(), theInnerBarrelLayers.end(), result);
181  wellInside(ftsWithoutErrors, dir, theOuterForwardLayers.begin(), theOuterForwardLayers.end(), result);
182 
183  }
184 /*
185  if ( dirOppositeXORisInOutTrackBarrel ) {
186 
187  wellInside(ftsWithoutErrors, dir, theOuterBarrelLayers.begin(), theOuterBarrelLayers.end(), result);
188 
189  }
190  else { // !dirOppositeXORisInOutTrack
191 
192  wellInside(ftsWithoutErrors, dir, theInnerBarrelLayers.begin(),theInnerBarrelLayers.end(), result);
193 
194  }
195 */
196 
197  return result;
198 }
const GlobalTrajectoryParameters & parameters() const
T y() const
Definition: PV3DBase.h:62
T z() const
Definition: PV3DBase.h:63
tuple result
Definition: query.py:137
GlobalVector momentum() const
GlobalPoint position() const
bool wellInside(const FreeTrajectoryState &fts, PropagationDirection dir, const BarrelDetLayer *bl, DLC &result) const
dbl *** dir
Definition: mlp_gen.cc:35
T x() const
Definition: PV3DBase.h:61
void SimpleForwardNavigableLayer::setAdditionalLink ( DetLayer additional,
NavigationDirection  direction = insideOut 
)
virtual

Implements SimpleNavigableLayer.

Definition at line 319 of file SimpleForwardNavigableLayer.cc.

References insideOut, theAllInnerBarrelLayers, theAllInnerForwardLayers, theAllInnerLayers, theAllOuterBarrelLayers, theAllOuterForwardLayers, theAllOuterLayers, theInnerBarrelLayers, theInnerForwardLayers, theInnerLayers, theOuterBarrelLayers, theOuterForwardLayers, and theOuterLayers.

Referenced by CosmicNavigationSchool::buildAdditionalForwardLinks().

319  {
320  ForwardDetLayer* fadditional = dynamic_cast<ForwardDetLayer*>(additional);
321  BarrelDetLayer* badditional = dynamic_cast<BarrelDetLayer*>(additional);
322  if (badditional){
323  if (direction==insideOut){
324  theOuterBarrelLayers.push_back(badditional);
325  theAllOuterBarrelLayers.push_back(badditional);
326  theOuterLayers.push_back(badditional);
327  theAllOuterLayers.push_back(badditional);
328  return;
329  }
330  theInnerBarrelLayers.push_back(badditional);
331  theAllInnerBarrelLayers.push_back(badditional);
332  theInnerLayers.push_back(badditional);
333  theAllInnerLayers.push_back(badditional);
334  return;
335  } else if (fadditional){
336  if (direction==insideOut){
337  theOuterForwardLayers.push_back(fadditional);
338  theAllOuterForwardLayers.push_back(fadditional);
339  theOuterLayers.push_back(badditional);
340  theAllOuterLayers.push_back(badditional);
341  return;
342  }
343  theInnerForwardLayers.push_back(fadditional);
344  theAllInnerForwardLayers.push_back(fadditional);
345  theInnerLayers.push_back(badditional);
346  theAllInnerLayers.push_back(badditional);
347  return;
348  }
349  edm::LogError("TkNavigation") << "trying to add neither a ForwardDetLayer nor a BarrelDetLayer";
350  return;
351 }
void SimpleForwardNavigableLayer::setDetLayer ( DetLayer dl)
virtual

Implements NavigableLayer.

Definition at line 293 of file SimpleForwardNavigableLayer.cc.

References dtNoiseDBValidation_cfg::cerr.

293  {
294  cerr << "Warning: SimpleForwardNavigableLayer::setDetLayer called."
295  << endl << "This should never happen!" << endl;
296 }
void SimpleForwardNavigableLayer::setInwardLinks ( const BDLC innerBL,
const FDLC innerFL,
TkLayerLess  sorter = TkLayerLess(outsideIn) 
)
virtual

Implements SimpleNavigableLayer.

Definition at line 298 of file SimpleForwardNavigableLayer.cc.

References python.multivaluedict::sort(), MCScenario_CRAFT1_22X::sorter(), theInnerBarrelLayers, theInnerForwardLayers, and theInnerLayers.

300  {
301 
302  theInnerBarrelLayers = innerBL;
303  theInnerForwardLayers = innerFL;
304 
305  theInnerLayers.clear();
306  theInnerLayers.reserve(innerBL.size() + innerFL.size());
307  for ( ConstBDLI bl = innerBL.begin(); bl != innerBL.end(); bl++ )
308  theInnerLayers.push_back(*bl);
309  for ( ConstFDLI fl = innerFL.begin(); fl != innerFL.end(); fl++ )
310  theInnerLayers.push_back(*fl);
311 
312  // sort the inner layers
313  sort(theInnerLayers.begin(), theInnerLayers.end(),sorter);
316 
317 }
FDLC::const_iterator ConstFDLI
BDLC::const_iterator ConstBDLI

Member Data Documentation

bool SimpleForwardNavigableLayer::areAllReachableLayersSet
private

Definition at line 56 of file SimpleForwardNavigableLayer.h.

Referenced by compatibleLayers().

BDLC SimpleForwardNavigableLayer::theAllInnerBarrelLayers
private

Definition at line 62 of file SimpleForwardNavigableLayer.h.

Referenced by compatibleLayers(), and setAdditionalLink().

FDLC SimpleForwardNavigableLayer::theAllInnerForwardLayers
private

Definition at line 66 of file SimpleForwardNavigableLayer.h.

Referenced by compatibleLayers(), and setAdditionalLink().

DLC SimpleForwardNavigableLayer::theAllInnerLayers
private
BDLC SimpleForwardNavigableLayer::theAllOuterBarrelLayers
private

Definition at line 60 of file SimpleForwardNavigableLayer.h.

Referenced by compatibleLayers(), and setAdditionalLink().

FDLC SimpleForwardNavigableLayer::theAllOuterForwardLayers
private

Definition at line 64 of file SimpleForwardNavigableLayer.h.

Referenced by compatibleLayers(), and setAdditionalLink().

DLC SimpleForwardNavigableLayer::theAllOuterLayers
private
ForwardDetLayer* SimpleForwardNavigableLayer::theDetLayer
private

Definition at line 58 of file SimpleForwardNavigableLayer.h.

Referenced by detLayer().

BDLC SimpleForwardNavigableLayer::theInnerBarrelLayers
private
FDLC SimpleForwardNavigableLayer::theInnerForwardLayers
private
DLC SimpleForwardNavigableLayer::theInnerLayers
private
BDLC SimpleForwardNavigableLayer::theOuterBarrelLayers
private
FDLC SimpleForwardNavigableLayer::theOuterForwardLayers
private
DLC SimpleForwardNavigableLayer::theOuterLayers
private