CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MuonNavigationSchool.h
Go to the documentation of this file.
1 #ifndef Navigation_MuonNavigationSchool_H
2 #define Navigation_MuonNavigationSchool_H
3 
27 #include <vector>
28 #include <map>
29 
32 class MuonEtaRange;
33 class BarrelDetLayer;
34 class ForwardDetLayer;
35 
37 
38  public:
40  MuonNavigationSchool(const MuonDetLayerGeometry *, bool enableRPC = true);
44  virtual StateType navigableLayers() const;
45  private:
51  void linkBarrelLayers();
53  void linkEndcapLayers(const MapE&,std::vector<MuonForwardNavigableLayer*>&);
55  void createInverseLinks() const;
56  float calculateEta(const float&, const float& ) const;
57 
58  private:
59 
60  struct delete_layer
61  {
62  template <typename T>
63  void operator()(T*& p)
64  {
65  if( p)
66  {
67  delete p;
68  p = 0;
69  }
70  }
71  };
72 
76 
77  std::vector<MuonBarrelNavigableLayer*> theBarrelNLC;
78  std::vector<MuonForwardNavigableLayer*> theForwardNLC;
79  std::vector<MuonForwardNavigableLayer*> theBackwardNLC;
80 
82 
83 };
84 #endif
std::vector< MuonForwardNavigableLayer * > theForwardNLC
MapE theBackwardLayers
+z endcap
std::map< ForwardDetLayer *, MuonEtaRange, MuonDetLayerComp > MapE
MuonNavigationSchool(const MuonDetLayerGeometry *, bool enableRPC=true)
Constructor.
std::map< BarrelDetLayer *, MuonEtaRange, MuonDetLayerComp > MapB
void createInverseLinks() const
establish inward links
std::vector< MuonForwardNavigableLayer * > theBackwardNLC
float calculateEta(const float &, const float &) const
calculate pseudorapidity from r and z
std::vector< MuonBarrelNavigableLayer * > theBarrelNLC
-z endcap
void linkBarrelLayers()
link barrel layers
std::vector< NavigableLayer * > StateType
void linkEndcapLayers(const MapE &, std::vector< MuonForwardNavigableLayer * > &)
link endcap layers
~MuonNavigationSchool()
Destructor.
const MuonDetLayerGeometry * theMuonDetLayerGeometry
void addEndcapLayer(ForwardDetLayer *)
add endcap layer (backward and forward)
long double T
void addBarrelLayer(BarrelDetLayer *)
add barrel layer
virtual StateType navigableLayers() const
return navigable layers, from base class