CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HICSimpleNavigationSchool.h
Go to the documentation of this file.
1 #ifndef RecoHIMuon_HICSimpleNavigationSchool_H
2 #define RecoHIMuon_HICSimpleNavigationSchool_H
3 
6 
7 #include <vector>
8 
9 class DetLayer;
10 class BarrelDetLayer;
11 class ForwardDetLayer;
15 class MagneticField;
16 
21 public:
22 
25  const MagneticField* field);
27  const MagneticField* field,int j, int l);
28 
30 
32 
33  // from base class
34  virtual StateType navigableLayers() const;
35 
36 //private:
37 protected:
38 
41  typedef std::vector<const DetLayer*> DLC;
42  typedef std::vector<BarrelDetLayer*> BDLC;
43  typedef std::vector<ForwardDetLayer*> FDLC;
44  typedef DLC::iterator DLI;
45  typedef BDLC::iterator BDLI;
46  typedef FDLC::iterator FDLI;
47  typedef BDLC::const_iterator ConstBDLI;
48  typedef FDLC::const_iterator ConstFDLI;
49 
55 
56  typedef std::vector< SimpleBarrelNavigableLayer*> BNLCType;
57  typedef std::vector< SimpleForwardNavigableLayer*> FNLCType;
60 
61  virtual void linkBarrelLayers( SymmetricLayerFinder& symFinder);
62  virtual void linkForwardLayers( SymmetricLayerFinder& symFinder);
63 
64  virtual void linkNextForwardLayer( BarrelDetLayer*, FDLC&);
65 
66  virtual void linkNextLargerLayer( BDLI, BDLI, BDLC&);
67 
68  virtual void linkNextBarrelLayer( ForwardDetLayer* fl, BDLC&);
69 
70  virtual void linkOuterGroup( ForwardDetLayer* fl,
71  const FDLC& group,
72  FDLC& reachableFL);
73 
74  virtual void linkWithinGroup( FDLI fl, const FDLC& group, FDLC& reachableFL);
75 
76  virtual ConstFDLI outerRadiusIncrease( FDLI fl, const FDLC& group);
77 
78  virtual std::vector<FDLC> splitForwardLayers();
79 
80  virtual float barrelLength();
81 
82  virtual void establishInverseRelations();
83 
84  virtual void linkNextLayerInGroup( FDLI fli, const FDLC& group, FDLC& reachableFL);
85 
86  std::vector<DetLayer*> theDetLayers;
89 };
90 
91 #endif // SimpleNavigationSchool_H
std::vector< BarrelDetLayer * > BDLC
std::vector< ForwardDetLayer * > FDLC
virtual void linkBarrelLayers(SymmetricLayerFinder &symFinder)
virtual void linkNextLayerInGroup(FDLI fli, const FDLC &group, FDLC &reachableFL)
virtual std::vector< FDLC > splitForwardLayers()
std::vector< DetLayer * > theDetLayers
virtual StateType navigableLayers() const
std::vector< SimpleBarrelNavigableLayer * > BNLCType
int j
Definition: DBlmapReader.cc:9
std::vector< const DetLayer * > DLC
std::vector< NavigableLayer * > StateType
virtual void linkNextBarrelLayer(ForwardDetLayer *fl, BDLC &)
virtual void linkNextLargerLayer(BDLI, BDLI, BDLC &)
virtual void linkOuterGroup(ForwardDetLayer *fl, const FDLC &group, FDLC &reachableFL)
virtual void linkForwardLayers(SymmetricLayerFinder &symFinder)
const GeometricSearchTracker * theTracker
virtual ConstFDLI outerRadiusIncrease(FDLI fl, const FDLC &group)
std::vector< SimpleForwardNavigableLayer * > FNLCType
virtual void linkWithinGroup(FDLI fl, const FDLC &group, FDLC &reachableFL)
virtual void linkNextForwardLayer(BarrelDetLayer *, FDLC &)