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 () override
 return navigable layers, from base class More...
 
 ~MuonNavigationSchool ()
 Destructor. More...
 
- Public Member Functions inherited from NavigationSchool
const std::vector< const
DetLayer * > & 
allLayersInSystem () const
 
template<typename... Args>
std::vector< const DetLayer * > compatibleLayers (const DetLayer &detLayer, Args &&...args) const
 Returns all layers compatible. More...
 
 NavigationSchool ()
 
template<typename... Args>
std::vector< const DetLayer * > nextLayers (const DetLayer &detLayer, Args &&...args) const
 NavigationDirection. More...
 
virtual ~NavigationSchool ()
 

Private Member Functions

void addBarrelLayer (const BarrelDetLayer *)
 add barrel layer More...
 
void addEndcapLayer (const ForwardDetLayer *)
 add endcap layer (backward and forward) More...
 
float calculateEta (const float &, const float &) const
 calculate pseudorapidity from r and z More...
 
void createInverseLinks ()
 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 Member Functions inherited from NavigationSchool
void setState (const StateType &state)
 
- Protected Attributes inherited from NavigationSchool
const std::vector< const
DetLayer * > * 
theAllDetLayersInSystem
 
StateType theAllNavigableLayer
 

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.

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 34 of file MuonNavigationSchool.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 38 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, Exception, i, linkBarrelLayers(), linkEndcapLayers(), NavigationSchool::theAllDetLayersInSystem, NavigationSchool::theAllNavigableLayer, theBackwardLayers, theBackwardNLC, theForwardLayers, and theForwardNLC.

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

Destructor.

Definition at line 79 of file MuonNavigationSchool.cc.

References theBackwardNLC, theBarrelNLC, and theForwardNLC.

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

Member Function Documentation

void MuonNavigationSchool::addBarrelLayer ( const BarrelDetLayer mbp)
private

add barrel layer

create barrel layer map

Definition at line 115 of file MuonNavigationSchool.cc.

References calculateEta(), CosmicsPD_Skims::radius, BarrelDetLayer::specificSurface(), and theBarrelLayers.

Referenced by MuonNavigationSchool().

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

add endcap layer (backward and forward)

create forwrad/backward layer maps

Definition at line 130 of file MuonNavigationSchool.cc.

References calculateEta(), ForwardDetLayer::specificSurface(), theBackwardLayers, theForwardLayers, and detailsBasic3DVector::z.

Referenced by MuonNavigationSchool().

130  {
131 
132  const BoundDisk& bd = mep->specificSurface();
133  float outRadius = bd.outerRadius();
134  float inRadius = bd.innerRadius();
135  float thick = bd.bounds().length()/2.;
136  float z = bd.position().z();
137 
138  if ( z > 0. ) {
139  float eta_min = calculateEta(outRadius, z-thick);
140  float eta_max = calculateEta(inRadius, z+thick);
141  theForwardLayers[mep] = MuonEtaRange(eta_max, eta_min);
142  } else {
143  float eta_max = calculateEta(outRadius, z+thick);
144  float eta_min = calculateEta(inRadius, z-thick);
145  theBackwardLayers[mep] = MuonEtaRange(eta_max, eta_min);
146  }
147 
148 }
MapE theBackwardLayers
+z endcap
float float float z
float calculateEta(const float &, const float &) const
calculate pseudorapidity from r and z
virtual const BoundDisk & specificSurface() const
float MuonNavigationSchool::calculateEta ( const float &  r,
const float &  z 
) const
private

calculate pseudorapidity from r and z

Definition at line 152 of file MuonNavigationSchool.cc.

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

Referenced by addBarrelLayer(), and addEndcapLayer().

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

establish inward links

create inverse links (i.e. inwards)

Definition at line 263 of file MuonNavigationSchool.cc.

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

Referenced by MuonNavigationSchool().

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

link barrel layers

linking barrel layers outwards

Definition at line 160 of file MuonNavigationSchool.cc.

References theBackwardLayers, theBarrelLayers, theBarrelNLC, and theForwardLayers.

Referenced by MuonNavigationSchool().

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

link endcap layers

linking forward/backward layers outwards

Definition at line 222 of file MuonNavigationSchool.cc.

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

Referenced by MuonNavigationSchool().

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

return navigable layers, from base class

return all Navigable layers

Implements NavigationSchool.

Definition at line 90 of file MuonNavigationSchool.cc.

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

Referenced by createInverseLinks().

90  {
91 
93 
94  vector<MuonBarrelNavigableLayer*>::const_iterator ib;
95  vector<MuonForwardNavigableLayer*>::const_iterator ie;
96 
97  for ( ib = theBarrelNLC.begin(); ib != theBarrelNLC.end(); ib++ ) {
98  result.push_back(*ib);
99  }
100 
101  for ( ie = theForwardNLC.begin(); ie != theForwardNLC.end(); ie++ ) {
102  result.push_back(*ie);
103  }
104 
105  for ( ie = theBackwardNLC.begin(); ie != theBackwardNLC.end(); ie++ ) {
106  result.push_back(*ie);
107  }
108 
109  return result;
110 
111 }
std::vector< MuonForwardNavigableLayer * > theForwardNLC
int ib
Definition: cuy.py:660
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 73 of file MuonNavigationSchool.h.

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

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

Definition at line 71 of file MuonNavigationSchool.h.

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

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

-z endcap

Definition at line 75 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 79 of file MuonNavigationSchool.h.