CMS 3D CMS Logo

GeometricSearchTracker.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_GeometricSearchTracker_h
2 #define TkDetLayers_GeometricSearchTracker_h
3 
8 
9 class TrackerTopology;
10 
16 public:
17  GeometricSearchTracker(const std::vector<BarrelDetLayer const*>& pxlBar,
18  const std::vector<BarrelDetLayer const*>& tib,
19  const std::vector<BarrelDetLayer const*>& tob,
20  const std::vector<ForwardDetLayer const*>& negPxlFwd,
21  const std::vector<ForwardDetLayer const*>& negTid,
22  const std::vector<ForwardDetLayer const*>& negTec,
23  const std::vector<ForwardDetLayer const*>& posPxlFwd,
24  const std::vector<ForwardDetLayer const*>& posTid,
25  const std::vector<ForwardDetLayer const*>& posTec,
26  const TrackerTopology* tTopo) __attribute__((cold));
27 
28  ~GeometricSearchTracker() override __attribute__((cold));
29 
30  void addDetLayerGeometry();
31 
32  void addMTDLayers(const std::vector<BarrelDetLayer const*>& btl,
33  const std::vector<ForwardDetLayer const*>& negEtl,
34  const std::vector<ForwardDetLayer const*>& posEtl);
35 
36  std::vector<DetLayer const*> const& allLayers() const { return theAllLayers; }
37 
38  std::vector<BarrelDetLayer const*> const& barrelLayers() const { return theBarrelLayers; }
39 
40  std::vector<ForwardDetLayer const*> const& forwardLayers() const { return theForwardLayers; }
41  std::vector<ForwardDetLayer const*> const& negForwardLayers() const { return theNegForwardLayers; }
42  std::vector<ForwardDetLayer const*> const& posForwardLayers() const { return thePosForwardLayers; }
43 
44  std::vector<BarrelDetLayer const*> const& pixelBarrelLayers() const { return thePixelBarrelLayers; }
45  std::vector<BarrelDetLayer const*> const& tibLayers() const { return theTibLayers; }
46  std::vector<BarrelDetLayer const*> const& tobLayers() const { return theTobLayers; }
47 
48  std::vector<ForwardDetLayer const*> const& negPixelForwardLayers() const { return theNegPixelForwardLayers; }
49  std::vector<ForwardDetLayer const*> const& negTidLayers() const { return theNegTidLayers; }
50  std::vector<ForwardDetLayer const*> const& negTecLayers() const { return theNegTecLayers; }
51 
52  std::vector<ForwardDetLayer const*> const& posPixelForwardLayers() const { return thePosPixelForwardLayers; }
53  std::vector<ForwardDetLayer const*> const& posTidLayers() const { return thePosTidLayers; }
54  std::vector<ForwardDetLayer const*> const& posTecLayers() const { return thePosTecLayers; }
55 
57  const DetLayer* idToLayer(const DetId& detId) const override;
58 
60  const DetLayer* detLayer(const DetId& id) const { return idToLayer(id); };
61 
62  //Need to make this pointer public so the tracker builder can build the MTD
64 
65 private:
66  std::vector<DetLayer const*> theAllLayers;
67  std::vector<BarrelDetLayer const*> theBarrelLayers;
68  std::vector<ForwardDetLayer const*> theForwardLayers;
69  std::vector<ForwardDetLayer const*> theNegForwardLayers;
70  std::vector<ForwardDetLayer const*> thePosForwardLayers;
71 
72  std::vector<BarrelDetLayer const*> thePixelBarrelLayers;
73  std::vector<BarrelDetLayer const*> theTibLayers;
74  std::vector<BarrelDetLayer const*> theTobLayers;
75 
76  std::vector<ForwardDetLayer const*> theNegPixelForwardLayers;
77  std::vector<ForwardDetLayer const*> theNegTidLayers;
78  std::vector<ForwardDetLayer const*> theNegTecLayers;
79  std::vector<ForwardDetLayer const*> thePosPixelForwardLayers;
80  std::vector<ForwardDetLayer const*> thePosTidLayers;
81  std::vector<ForwardDetLayer const*> thePosTecLayers;
82 
83  //MTD stuff
84  std::vector<BarrelDetLayer const*> theBTLLayers;
85  std::vector<ForwardDetLayer const*> theETLLayers;
86  std::vector<ForwardDetLayer const*> theNegETLLayers;
87  std::vector<ForwardDetLayer const*> thePosETLLayers;
88 
90 };
91 
92 #endif
std::vector< BarrelDetLayer const * > theBarrelLayers
std::vector< ForwardDetLayer const * > const & negForwardLayers() const
std::vector< ForwardDetLayer const * > theNegTidLayers
std::vector< ForwardDetLayer const * > const & posTecLayers() const
std::vector< ForwardDetLayer const * > theForwardLayers
const DetLayer * detLayer(const DetId &id) const
obsolete method. Use idToLayer() instead.
std::vector< ForwardDetLayer const * > const & forwardLayers() const
std::vector< DetLayer const * > const & allLayers() const
std::vector< ForwardDetLayer const * > theETLLayers
std::vector< ForwardDetLayer const * > thePosTidLayers
std::vector< ForwardDetLayer const * > theNegETLLayers
std::vector< BarrelDetLayer const * > theBTLLayers
std::vector< ForwardDetLayer const * > const & posPixelForwardLayers() const
std::vector< DetLayer const * > theAllLayers
const DetLayer * idToLayer(const DetId &detId) const override
Give the DetId of a module, returns the pointer to the corresponding DetLayer.
std::vector< ForwardDetLayer const * > thePosPixelForwardLayers
MTDDetLayerGeometry * mtdDetLayerGeometry
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
std::vector< BarrelDetLayer const * > thePixelBarrelLayers
std::vector< BarrelDetLayer const * > theTibLayers
std::vector< ForwardDetLayer const * > const & negPixelForwardLayers() const
std::vector< ForwardDetLayer const * > const & posForwardLayers() const
std::vector< ForwardDetLayer const * > theNegForwardLayers
std::vector< ForwardDetLayer const * > thePosTecLayers
std::vector< ForwardDetLayer const * > const & negTidLayers() const
std::vector< BarrelDetLayer const * > const & pixelBarrelLayers() const
Definition: DetId.h:17
~GeometricSearchTracker() override __attribute__((cold))
std::vector< ForwardDetLayer const * > const & posTidLayers() const
std::vector< BarrelDetLayer const * > const & barrelLayers() const
std::vector< BarrelDetLayer const * > const & tibLayers() const
const TrackerTopology * theTrkTopo
std::vector< ForwardDetLayer const * > thePosETLLayers
std::vector< BarrelDetLayer const * > const & tobLayers() const
std::vector< ForwardDetLayer const * > theNegPixelForwardLayers
GeometricSearchTracker(const std::vector< BarrelDetLayer const *> &pxlBar, const std::vector< BarrelDetLayer const *> &tib, const std::vector< BarrelDetLayer const *> &tob, const std::vector< ForwardDetLayer const *> &negPxlFwd, const std::vector< ForwardDetLayer const *> &negTid, const std::vector< ForwardDetLayer const *> &negTec, const std::vector< ForwardDetLayer const *> &posPxlFwd, const std::vector< ForwardDetLayer const *> &posTid, const std::vector< ForwardDetLayer const *> &posTec, const TrackerTopology *tTopo) __attribute__((cold))
std::vector< ForwardDetLayer const * > const & negTecLayers() const
void addMTDLayers(const std::vector< BarrelDetLayer const *> &btl, const std::vector< ForwardDetLayer const *> &negEtl, const std::vector< ForwardDetLayer const *> &posEtl)
std::vector< BarrelDetLayer const * > theTobLayers
std::vector< ForwardDetLayer const * > theNegTecLayers
std::vector< ForwardDetLayer const * > thePosForwardLayers