CMS 3D CMS Logo

TECLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TECLayer_h
2 #define TkDetLayers_TECLayer_h
3 
4 
6 #include "TECPetal.h"
8 #include "SubLayerCrossings.h"
10 
15 #pragma GCC visibility push(hidden)
16 class TECLayer : public ForwardDetLayer {
17  public:
18  TECLayer(std::vector<const TECPetal*>& innerPetals,
19  std::vector<const TECPetal*>& outerPetals) __attribute__ ((cold));
20  ~TECLayer() override __attribute__ ((cold));
21 
22  // GeometricSearchDet interface
23 
24  const std::vector<const GeomDet*>& basicComponents() const override {return theBasicComps;}
25 
26  const std::vector<const GeometricSearchDet*>& components() const override __attribute__ ((cold)) {return theComps;}
27 
29  const Propagator& prop,
30  const MeasurementEstimator& est,
31  std::vector<DetGroup> & result) const override __attribute__ ((hot));
32 
33  // DetLayer interface
35 
36 
37 
38  private:
39 
40 
41  // private methods for the implementation of groupedCompatibleDets()
43  PropagationDirection propDir) const __attribute__ ((hot));
44 
45  bool addClosest( const TrajectoryStateOnSurface& tsos,
46  const Propagator& prop,
47  const MeasurementEstimator& est,
48  const SubLayerCrossing& crossing,
49  std::vector<DetGroup>& result) const __attribute__ ((hot));
50 
51  void searchNeighbors( const TrajectoryStateOnSurface& tsos,
52  const Propagator& prop,
53  const MeasurementEstimator& est,
54  const SubLayerCrossing& crossing,
55  float window,
56  std::vector<DetGroup>& result,
57  bool checkClosest) const __attribute__ ((hot));
58 
59 
60 
61  const std::vector<const TECPetal*>& subLayer( int ind) const {
62  return (ind==0 ? theFrontComps : theBackComps);
63  }
64 
65 
66  protected:
67 
68  std::vector<const GeometricSearchDet*> theComps;
69  std::vector<const GeomDet*> theBasicComps;
70 
71  std::vector<const TECPetal*> theFrontComps;
72  std::vector<const TECPetal*> theBackComps;
73 
74 
77 
79 
80  BinFinderPhi theFrontBinFinder;
81  BinFinderPhi theBackBinFinder;
82 
83 
84 };
85 
86 
87 #pragma GCC visibility pop
88 #endif
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TECLayer.h:26
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:72
std::vector< const GeomDet * > theBasicComps
Definition: TECLayer.h:69
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TECLayer.h:24
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TECLayer.h:75
PropagationDirection
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TECLayer.cc:127
const std::vector< const TECPetal * > & subLayer(int ind) const
Definition: TECLayer.h:61
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:68
void searchNeighbors(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot))
Definition: TECLayer.cc:260
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TECLayer.h:76
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TECLayer.cc:225
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
Definition: TECLayer.cc:167
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:81
TECLayer(std::vector< const TECPetal * > &innerPetals, std::vector< const TECPetal * > &outerPetals) __attribute__((cold))
Definition: TECLayer.cc:56
def window(xmin, xmax, ymin, ymax, x=0, y=0, width=100, height=100, xlogbase=None, ylogbase=None, minusInfinity=-1000, flipx=False, flipy=True)
Definition: svgfig.py:643
SubDetector subDetGeom[21]
SubDetector subDetector() const override
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Definition: TECLayer.h:34
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:80
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:71
PeriodicBinFinderInPhi< float > BinFinderPhi
Definition: TECLayer.h:78
~TECLayer() override __attribute__((cold))
Definition: TECLayer.cc:119