CMS 3D CMS Logo

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

#include <MuonNavigationSchool.h>

Inheritance diagram for MuonNavigationSchool:
NavigationSchool

Classes

struct  delete_layer
 

Public Member Functions

 MuonNavigationSchool (const MuonDetLayerGeometry *, bool enableRPC=true)
 Constructor. More...
 
virtual StateType navigableLayers () const
 return navigable layers, from base class More...
 
 ~MuonNavigationSchool ()
 Destructor. More...
 
- Public Member Functions inherited from NavigationSchool
const std::vector< DetLayer * > & allLayersInSystem () const
 
 NavigationSchool ()
 
virtual ~NavigationSchool ()
 

Private Member Functions

void addBarrelLayer (BarrelDetLayer *)
 add barrel layer More...
 
void addEndcapLayer (ForwardDetLayer *)
 add endcap layer (backward and forward) More...
 
float calculateEta (const float &, const float &) const
 calculate pseudorapidity from r and z More...
 
void createInverseLinks () const
 establish inward links More...
 
void linkBarrelLayers ()
 link barrel layers More...
 
void linkEndcapLayers (const MapE &, std::vector< MuonForwardNavigableLayer * > &)
 link endcap layers More...
 

Private Attributes

MapE theBackwardLayers
 +z endcap More...
 
std::vector
< MuonForwardNavigableLayer * > 
theBackwardNLC
 
MapB theBarrelLayers
 
std::vector
< MuonBarrelNavigableLayer * > 
theBarrelNLC
 -z endcap More...
 
MapE theForwardLayers
 barrel More...
 
std::vector
< MuonForwardNavigableLayer * > 
theForwardNLC
 
const MuonDetLayerGeometrytheMuonDetLayerGeometry
 

Additional Inherited Members

- Public Types inherited from NavigationSchool
typedef std::vector
< NavigableLayer * > 
StateType
 
- Protected Attributes inherited from NavigationSchool
const std::vector< DetLayer * > * theAllDetLayersInSystem
 

Detailed Description

Description: Navigation school for the muon system This class defines which DetLayers are reacheable from each Muon DetLayer (DT, CSC and RPC). The reacheableness is based on an eta range criteria.

Date:
2007/06/14 20:31:43
Revision:
1.7
Author
: Stefano Lacaprara - INFN Padova stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Modification:

Chang Liu: The class links maps for nextLayers and compatibleLayers in the same time.

Description: Navigation school for the muon system This class defines which DetLayers are reacheable from each Muon DetLayer (DT, CSC and RPC). The reacheableness is based on an eta range criteria.

Date:
2008/02/13 13:55:25
Revision:
1.12
Author
: Stefano Lacaprara - INFN Padova stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Modification:

Chang Liu: The class links maps for nextLayers and compatibleLayers in the same time.

Definition at line 36 of file MuonNavigationSchool.h.

Constructor & Destructor Documentation

MuonNavigationSchool::MuonNavigationSchool ( const MuonDetLayerGeometry muonLayout,
bool  enableRPC = true 
)

Constructor.

Definition at line 40 of file MuonNavigationSchool.cc.

References addBarrelLayer(), addEndcapLayer(), MuonDetLayerGeometry::allBarrelLayers(), MuonDetLayerGeometry::allCSCLayers(), MuonDetLayerGeometry::allDTLayers(), MuonDetLayerGeometry::allEndcapLayers(), MuonDetLayerGeometry::allLayers(), Reference_intrackfit_cff::barrel, createInverseLinks(), Reference_intrackfit_cff::endcap, i, linkBarrelLayers(), linkEndcapLayers(), NavigationSchool::theAllDetLayersInSystem, theBackwardLayers, theBackwardNLC, theForwardLayers, and theForwardNLC.

40  : theMuonDetLayerGeometry(muonLayout) {
41 
42  theAllDetLayersInSystem=&muonLayout->allLayers();
43 
44  // get all barrel DetLayers (DT + optional RPC)
45  vector<DetLayer*> barrel;
46  if ( enableRPC ) barrel = muonLayout->allBarrelLayers();
47  else barrel = muonLayout->allDTLayers();
48 
49  for ( vector<DetLayer*>::const_iterator i = barrel.begin(); i != barrel.end(); i++ ) {
50  BarrelDetLayer* mbp = dynamic_cast<BarrelDetLayer*>(*i);
51  if ( mbp == 0 ) throw Genexception("Bad BarrelDetLayer");
52  addBarrelLayer(mbp);
53  }
54 
55  // get all endcap DetLayers (CSC + optional RPC)
56  vector<DetLayer*> endcap;
57  if ( enableRPC ) endcap = muonLayout->allEndcapLayers();
58  else endcap = muonLayout->allCSCLayers();
59 
60  for ( vector<DetLayer*>::const_iterator i = endcap.begin(); i != endcap.end(); i++ ) {
61  ForwardDetLayer* mep = dynamic_cast<ForwardDetLayer*>(*i);
62  if ( mep == 0 ) throw Genexception("Bad ForwardDetLayer");
63  addEndcapLayer(mep);
64  }
65 
66  // create outward links for all DetLayers
70 
71  // create inverse links
73 
74 }
std::vector< MuonForwardNavigableLayer * > theForwardNLC
int i
Definition: DBlmapReader.cc:9
MapE theBackwardLayers
+z endcap
const std::vector< DetLayer * > & allCSCLayers() const
return the CSC DetLayers (endcap), -Z to +Z
const std::vector< DetLayer * > & allDTLayers() const
return the DT DetLayers (barrel), inside-out
void createInverseLinks() const
establish inward links
std::vector< MuonForwardNavigableLayer * > theBackwardNLC
void linkBarrelLayers()
link barrel layers
const std::vector< DetLayer * > & allEndcapLayers() const
return all endcap DetLayers (CSC+RPC), -Z to +Z
const std::vector< DetLayer * > & allLayers() const
return all layers (DT+CSC+RPC), order: backward, barrel, forward
void linkEndcapLayers(const MapE &, std::vector< MuonForwardNavigableLayer * > &)
link endcap layers
const MuonDetLayerGeometry * theMuonDetLayerGeometry
void addEndcapLayer(ForwardDetLayer *)
add endcap layer (backward and forward)
const std::vector< DetLayer * > * theAllDetLayersInSystem
void addBarrelLayer(BarrelDetLayer *)
add barrel layer
const std::vector< DetLayer * > & allBarrelLayers() const
return all barrel DetLayers (DT+RPC), inside-out
MuonNavigationSchool::~MuonNavigationSchool ( )

Destructor.

Definition at line 78 of file MuonNavigationSchool.cc.

References theBackwardNLC, theBarrelNLC, and theForwardNLC.

78  {
79 
80  for_each(theBarrelNLC.begin(),theBarrelNLC.end(), delete_layer());
81  for_each(theForwardNLC.begin(),theForwardNLC.end(), delete_layer());
82  for_each(theBackwardNLC.begin(),theBackwardNLC.end(), delete_layer());
83 
84 }
std::vector< MuonForwardNavigableLayer * > theForwardNLC
std::vector< MuonForwardNavigableLayer * > theBackwardNLC
std::vector< MuonBarrelNavigableLayer * > theBarrelNLC
-z endcap

Member Function Documentation

void MuonNavigationSchool::addBarrelLayer ( BarrelDetLayer mbp)
private

add barrel layer

create barrel layer map

Definition at line 114 of file MuonNavigationSchool.cc.

References BoundSurface::bounds(), calculateEta(), Bounds::length(), Cylinder::radius(), CosmicsPD_Skims::radius, BarrelDetLayer::specificSurface(), and theBarrelLayers.

Referenced by MuonNavigationSchool().

114  {
115 
116  const BoundCylinder& bc = mbp->specificSurface();
117  float radius = bc.radius();
118  float length = bc.bounds().length()/2.;
119 
120  float eta_max = calculateEta(radius, length);
121  float eta_min = -eta_max;
122 
123  theBarrelLayers[mbp] = MuonEtaRange(eta_max, eta_min);
124 
125 }
virtual float length() const =0
float calculateEta(const float &, const float &) const
calculate pseudorapidity from r and z
Scalar radius() const
Radius of the cylinder.
Definition: Cylinder.h:55
const Bounds & bounds() const
Definition: BoundSurface.h:89
virtual const BoundCylinder & specificSurface() const
Extension of the interface.
void MuonNavigationSchool::addEndcapLayer ( ForwardDetLayer mep)
private

add endcap layer (backward and forward)

create forwrad/backward layer maps

Definition at line 129 of file MuonNavigationSchool.cc.

References BoundSurface::bounds(), calculateEta(), BoundDisk::innerRadius(), Bounds::length(), BoundDisk::outerRadius(), GloballyPositioned< T >::position(), ForwardDetLayer::specificSurface(), theBackwardLayers, theForwardLayers, detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by MuonNavigationSchool().

129  {
130 
131  const BoundDisk& bd = mep->specificSurface();
132  float outRadius = bd.outerRadius();
133  float inRadius = bd.innerRadius();
134  float thick = bd.bounds().length()/2.;
135  float z = bd.position().z();
136 
137  if ( z > 0. ) {
138  float eta_min = calculateEta(outRadius, z-thick);
139  float eta_max = calculateEta(inRadius, z+thick);
140  theForwardLayers[mep] = MuonEtaRange(eta_max, eta_min);
141  } else {
142  float eta_max = calculateEta(outRadius, z+thick);
143  float eta_min = calculateEta(inRadius, z-thick);
144  theBackwardLayers[mep] = MuonEtaRange(eta_max, eta_min);
145  }
146 
147 }
virtual float length() const =0
MapE theBackwardLayers
+z endcap
double double double z
float calculateEta(const float &, const float &) const
calculate pseudorapidity from r and z
T z() const
Definition: PV3DBase.h:63
virtual const BoundDisk & specificSurface() const
const Bounds & bounds() const
Definition: BoundSurface.h:89
float outerRadius() const
The outer radius of the disk.
Definition: BoundDisk.h:75
float innerRadius() const
The inner radius of the disk.
Definition: BoundDisk.h:72
const PositionType & position() const
float MuonNavigationSchool::calculateEta ( const float &  r,
const float &  z 
) const
private

calculate pseudorapidity from r and z

Definition at line 151 of file MuonNavigationSchool.cc.

References create_public_lumi_plots::log, and funct::tan().

Referenced by addBarrelLayer(), and addEndcapLayer().

151  {
152 
153  if ( z > 0 ) return -log((tan(atan(r/z)/2.)));
154  return log(-(tan(atan(r/z)/2.)));
155 
156 }
double double double z
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
void MuonNavigationSchool::createInverseLinks ( ) const
private

establish inward links

create inverse links (i.e. inwards)

Definition at line 262 of file MuonNavigationSchool.cc.

References MuonBarrelNavigableLayer::getAllOuterBackwardLayers(), MuonBarrelNavigableLayer::getAllOuterBarrelLayers(), MuonBarrelNavigableLayer::getAllOuterForwardLayers(), MuonBarrelNavigableLayer::getOuterBackwardLayers(), MuonBarrelNavigableLayer::getOuterBarrelLayers(), MuonBarrelNavigableLayer::getOuterForwardLayers(), i, MuonForwardNavigableLayer::setInwardCompatibleLinks(), MuonBarrelNavigableLayer::setInwardCompatibleLinks(), MuonForwardNavigableLayer::setInwardLinks(), MuonBarrelNavigableLayer::setInwardLinks(), theBackwardLayers, theBarrelLayers, and theForwardLayers.

Referenced by MuonNavigationSchool().

262  {
263 
264  // set outward link
265  NavigationSetter setter(*this);
266 
267  // find for each layer which are the layers pointing to it
268  typedef map<const DetLayer*, MapB, less<const DetLayer*> > BarrelMapType;
269  typedef map<const DetLayer*, MapE, less<const DetLayer*> > ForwardMapType;
270 
271  // map of all DetLayers which can reach a specific DetLayer
272  BarrelMapType reachedBarrelLayersMap;
273  ForwardMapType reachedForwardLayersMap;
274 
275  // map of all DetLayers which is compatible with a specific DetLayer
276  BarrelMapType compatibleBarrelLayersMap;
277  ForwardMapType compatibleForwardLayersMap;
278 
279  // collect all reacheable layers starting from a barrel layer
280  for ( MapBI bli = theBarrelLayers.begin();
281  bli != theBarrelLayers.end(); bli++ ) {
282  // barrel
284  dynamic_cast<MuonBarrelNavigableLayer*>(((*bli).first)->navigableLayer());
285  MapB reacheableB = mbnl->getOuterBarrelLayers();
286  for (MapBI i = reacheableB.begin(); i != reacheableB.end(); i++ ) {
287  reachedBarrelLayersMap[(*i).first].insert(*bli);
288  }
289  MapB compatibleB = mbnl->getAllOuterBarrelLayers();
290  for (MapBI i = compatibleB.begin(); i != compatibleB.end(); i++ ) {
291  compatibleBarrelLayersMap[(*i).first].insert(*bli);
292  }
293  MapE reacheableE = mbnl->getOuterBackwardLayers();
294  for (MapEI i = reacheableE.begin(); i != reacheableE.end(); i++ ) {
295  reachedBarrelLayersMap[(*i).first].insert(*bli);
296  }
297  reacheableE = mbnl->getOuterForwardLayers();
298  for (MapEI i = reacheableE.begin(); i != reacheableE.end(); i++ ) {
299  reachedBarrelLayersMap[(*i).first].insert(*bli);
300  }
301  MapE compatibleE = mbnl->getAllOuterBackwardLayers();
302  for (MapEI i = compatibleE.begin(); i != compatibleE.end(); i++ ) {
303  compatibleBarrelLayersMap[(*i).first].insert(*bli);
304  }
305  compatibleE = mbnl->getAllOuterForwardLayers();
306  for (MapEI i = compatibleE.begin(); i != compatibleE.end(); i++ ) {
307  compatibleBarrelLayersMap[(*i).first].insert(*bli);
308  }
309 
310  }
311 
312  // collect all reacheable layer starting from a backward layer
313  for ( MapEI eli = theBackwardLayers.begin();
314  eli != theBackwardLayers.end(); eli++ ) {
315  MapE reacheableE =
316  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer())->getOuterEndcapLayers();
317  for (MapEI i = reacheableE.begin(); i != reacheableE.end(); i++ ) {
318  reachedForwardLayersMap[(*i).first].insert(*eli);
319  }
320  // collect all compatible layer starting from a backward layer
321  MapE compatibleE =
322  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer())->getAllOuterEndcapLayers();
323  for (MapEI i = compatibleE.begin(); i != compatibleE.end(); i++ ) {
324  compatibleForwardLayersMap[(*i).first].insert(*eli);
325  }
326  }
327 
328  for ( MapEI eli = theForwardLayers.begin();
329  eli != theForwardLayers.end(); eli++ ) {
330  // collect all reacheable layer starting from a forward layer
331  MapE reacheableE =
332  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer())->getOuterEndcapLayers();
333  for (MapEI i = reacheableE.begin(); i != reacheableE.end(); i++ ) {
334  reachedForwardLayersMap[(*i).first].insert(*eli);
335  }
336  // collect all compatible layer starting from a forward layer
337  MapE compatibleE =
338  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer())->getAllOuterEndcapLayers();
339  for (MapEI i = compatibleE.begin(); i != compatibleE.end(); i++ ) {
340  compatibleForwardLayersMap[(*i).first].insert(*eli);
341  }
342  }
343 
344  // now set inverse link for barrel layers
345  for ( MapBI bli = theBarrelLayers.begin();
346  bli != theBarrelLayers.end(); bli++ ) {
348  dynamic_cast<MuonBarrelNavigableLayer*>(((*bli).first)->navigableLayer());
349  mbnl->setInwardLinks(reachedBarrelLayersMap[(*bli).first]);
350  mbnl->setInwardCompatibleLinks(compatibleBarrelLayersMap[(*bli).first]);
351 
352  }
353  //BACKWARD
354  for ( MapEI eli = theBackwardLayers.begin();
355  eli != theBackwardLayers.end(); eli++ ) {
357  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer());
358  // for backward next layers
359  mfnl->setInwardLinks(reachedBarrelLayersMap[(*eli).first],
360  reachedForwardLayersMap[(*eli).first]);
361  // for backward compatible layers
362  mfnl->setInwardCompatibleLinks(compatibleBarrelLayersMap[(*eli).first],
363  compatibleForwardLayersMap[(*eli).first]);
364  }
365  //FORWARD
366  for ( MapEI eli = theForwardLayers.begin();
367  eli != theForwardLayers.end(); eli++ ) {
369  dynamic_cast<MuonForwardNavigableLayer*>(((*eli).first)->navigableLayer());
370  // and for forward next layers
371  mfnl->setInwardLinks(reachedBarrelLayersMap[(*eli).first],
372  reachedForwardLayersMap[(*eli).first]);
373  // and for forward compatible layers
374  mfnl->setInwardCompatibleLinks(compatibleBarrelLayersMap[(*eli).first],
375  compatibleForwardLayersMap[(*eli).first]);
376  }
377 
378 }
int i
Definition: DBlmapReader.cc:9
MapE theBackwardLayers
+z endcap
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
MapB::const_iterator MapBI
void setInwardLinks(const MapB &, const MapE &)
set inward links
std::map< BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
void setInwardCompatibleLinks(const MapB &)
MapE::const_iterator MapEI
void setInwardLinks(const MapB &)
set inward links
void setInwardCompatibleLinks(const MapB &, const MapE &)
void MuonNavigationSchool::linkBarrelLayers ( )
private

link barrel layers

linking barrel layers outwards

Definition at line 159 of file MuonNavigationSchool.cc.

References theBackwardLayers, theBarrelLayers, theBarrelNLC, and theForwardLayers.

Referenced by MuonNavigationSchool().

159  {
160 
161  for (MapBI bl = theBarrelLayers.begin();
162  bl != theBarrelLayers.end(); bl++) {
163 
164  MuonEtaRange range = (*bl).second;
165 
166  // first add next barrel layer
167  MapBI plusOne(bl);
168  plusOne++;
169  MapB outerBarrel;
170  MapB allOuterBarrel;
171  if ( plusOne != theBarrelLayers.end() ) { outerBarrel.insert(*plusOne);}
172  // add all outer barrel layers
173  for ( MapBI iMBI = plusOne; iMBI!= theBarrelLayers.end(); iMBI++){
174  allOuterBarrel.insert(*iMBI);
175  }
176  // then add all compatible backward layers with an eta criteria
177  MapE allOuterBackward;
178  for (MapEI el = theBackwardLayers.begin();
179  el != theBackwardLayers.end(); el++) {
180  if ( (*el).second.isCompatible(range) ) {
181  allOuterBackward.insert(*el);
182  }
183  }
184  //add the backward next layer with an eta criteria
185  MapE outerBackward;
186  for (MapEI el = theBackwardLayers.begin();
187  el != theBackwardLayers.end(); el++) {
188  if ( (*el).second.isCompatible(range) ) {
189  outerBackward.insert(*el);
190  break;
191  }
192  }
193 
194  // then add all compatible forward layers with an eta criteria
195  MapE allOuterForward;
196  for (MapEI el = theForwardLayers.begin();
197  el != theForwardLayers.end(); el++) {
198  if ( (*el).second.isCompatible(range) ) {
199  allOuterForward.insert(*el);
200  }
201  }
202 
203  // then add forward next layer with an eta criteria
204  MapE outerForward;
205  for (MapEI el = theForwardLayers.begin();
206  el != theForwardLayers.end(); el++) {
207  if ( (*el).second.isCompatible(range) ) {
208  outerForward.insert(*el);
209  break;
210  }
211  }
212 
214  (*bl).first,outerBarrel, outerBackward, outerForward,
215  allOuterBarrel,allOuterBackward,allOuterForward));
216 
217  }
218 
219 }
MapE theBackwardLayers
+z endcap
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
MapB::const_iterator MapBI
std::map< BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
MapE::const_iterator MapEI
std::vector< MuonBarrelNavigableLayer * > theBarrelNLC
-z endcap
void MuonNavigationSchool::linkEndcapLayers ( const MapE layers,
std::vector< MuonForwardNavigableLayer * > &  result 
)
private

link endcap layers

linking forward/backward layers outwards

Definition at line 221 of file MuonNavigationSchool.cc.

References MuonEtaRange::add(), MuonEtaRange::isCompatible(), MuonEtaRange::isInside(), prof2calltree::l, max(), GetRecoTauVFromDQM_MC_cff::next, and MuonEtaRange::subtract().

Referenced by MuonNavigationSchool().

222  {
223 
224  for (MapEI el = layers.begin(); el != layers.end(); el++) {
225 
226  MuonEtaRange range = (*el).second;
227  // first add next endcap layer (if compatible)
228  MapEI plusOne(el);
229  plusOne++;
230  MapE outerLayers;
231  if ( plusOne != layers.end() && (*plusOne).second.isCompatible(range) ) {
232  outerLayers.insert(*plusOne);
233  if ( !range.isInside((*plusOne).second) ) {
234  // then look if the next layer has a wider eta range, if so add it
235  MapEI tmpel(plusOne);
236  tmpel++;
237  MuonEtaRange max((*plusOne).second);
238  for ( MapEI l = tmpel; l != layers.end(); l++ ) {
239  MuonEtaRange next = (*l).second;
240  if ( next.isCompatible(max) && !range.isInside(next) &&
241  !next.isInside(max) && next.subtract(max).isInside(range) ) {
242  max = max.add(next);
243  outerLayers.insert(*l);
244  }
245  }
246  }
247  }
248 
249  MapE allOuterLayers;
250  for (MapEI iMEI = plusOne; iMEI!=layers.end(); iMEI++){
251  if ((*iMEI).second.isCompatible(range)) allOuterLayers.insert(*iMEI);
252  }
253 
254  result.push_back(new MuonForwardNavigableLayer(
255  (*el).first,outerLayers, allOuterLayers));
256  }
257 
258 }
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
MapE::const_iterator MapEI
const T & max(const T &a, const T &b)
tuple result
Definition: query.py:137
bool isInside(float eta, float error=0.) const
Definition: MuonEtaRange.cc:45
bool isCompatible(const MuonEtaRange &range) const
true if this overlaps with range
Definition: MuonEtaRange.cc:56
MuonEtaRange subtract(const MuonEtaRange &) const
create new range of size this minus range
Definition: MuonEtaRange.cc:67
MuonNavigationSchool::StateType MuonNavigationSchool::navigableLayers ( ) const
virtual

return navigable layers, from base class

return all Navigable layers

Implements NavigationSchool.

Definition at line 89 of file MuonNavigationSchool.cc.

References query::result, theBackwardNLC, theBarrelNLC, and theForwardNLC.

89  {
90 
92 
93  vector<MuonBarrelNavigableLayer*>::const_iterator ib;
94  vector<MuonForwardNavigableLayer*>::const_iterator ie;
95 
96  for ( ib = theBarrelNLC.begin(); ib != theBarrelNLC.end(); ib++ ) {
97  result.push_back(*ib);
98  }
99 
100  for ( ie = theForwardNLC.begin(); ie != theForwardNLC.end(); ie++ ) {
101  result.push_back(*ie);
102  }
103 
104  for ( ie = theBackwardNLC.begin(); ie != theBackwardNLC.end(); ie++ ) {
105  result.push_back(*ie);
106  }
107 
108  return result;
109 
110 }
std::vector< MuonForwardNavigableLayer * > theForwardNLC
std::vector< MuonForwardNavigableLayer * > theBackwardNLC
std::vector< MuonBarrelNavigableLayer * > theBarrelNLC
-z endcap
tuple result
Definition: query.py:137
std::vector< NavigableLayer * > StateType

Member Data Documentation

MapE MuonNavigationSchool::theBackwardLayers
private

+z endcap

Definition at line 75 of file MuonNavigationSchool.h.

Referenced by addEndcapLayer(), createInverseLinks(), linkBarrelLayers(), and MuonNavigationSchool().

std::vector<MuonForwardNavigableLayer*> MuonNavigationSchool::theBackwardNLC
private
MapB MuonNavigationSchool::theBarrelLayers
private

Definition at line 73 of file MuonNavigationSchool.h.

Referenced by addBarrelLayer(), createInverseLinks(), and linkBarrelLayers().

std::vector<MuonBarrelNavigableLayer*> MuonNavigationSchool::theBarrelNLC
private

-z endcap

Definition at line 77 of file MuonNavigationSchool.h.

Referenced by linkBarrelLayers(), navigableLayers(), and ~MuonNavigationSchool().

MapE MuonNavigationSchool::theForwardLayers
private
std::vector<MuonForwardNavigableLayer*> MuonNavigationSchool::theForwardNLC
private
const MuonDetLayerGeometry* MuonNavigationSchool::theMuonDetLayerGeometry
private

Definition at line 81 of file MuonNavigationSchool.h.