CMS 3D CMS Logo

TECLayer.h
Go to the documentation of this file.
1 #ifndef TkDetLayers_TECLayer_h
2 #define TkDetLayers_TECLayer_h
3 
5 #include "TECPetal.h"
7 #include "SubLayerCrossings.h"
9 
14 #pragma GCC visibility push(hidden)
15 class TECLayer : public ForwardDetLayer {
16 public:
17  TECLayer(std::vector<const TECPetal*>& innerPetals, std::vector<const TECPetal*>& outerPetals) __attribute__((cold));
18  ~TECLayer() override __attribute__((cold));
19 
20  // GeometricSearchDet interface
21 
22  const std::vector<const GeomDet*>& basicComponents() const override { return theBasicComps; }
23 
24  const std::vector<const GeometricSearchDet*>& components() const override __attribute__((cold)) { return theComps; }
25 
27  const Propagator& prop,
28  const MeasurementEstimator& est,
29  std::vector<DetGroup>& result) const override __attribute__((hot));
30 
31  // DetLayer interface
33 
34 private:
35  // private methods for the implementation of groupedCompatibleDets()
37  __attribute__((hot));
38 
39  bool addClosest(const TrajectoryStateOnSurface& tsos,
40  const Propagator& prop,
41  const MeasurementEstimator& est,
42  const SubLayerCrossing& crossing,
43  std::vector<DetGroup>& result) const __attribute__((hot));
44 
46  const Propagator& prop,
47  const MeasurementEstimator& est,
48  const SubLayerCrossing& crossing,
49  float window,
50  std::vector<DetGroup>& result,
51  bool checkClosest) const __attribute__((hot));
52 
53  const std::vector<const TECPetal*>& subLayer(int ind) const { return (ind == 0 ? theFrontComps : theBackComps); }
54 
55 protected:
56  std::vector<const GeometricSearchDet*> theComps;
57  std::vector<const GeomDet*> theBasicComps;
58 
59  std::vector<const TECPetal*> theFrontComps;
60  std::vector<const TECPetal*> theBackComps;
61 
64 
66 
69 };
70 
71 #pragma GCC visibility pop
72 #endif
TECLayer::theFrontBinFinder
BinFinderPhi theFrontBinFinder
Definition: TECLayer.h:67
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
MeasurementEstimator
Definition: MeasurementEstimator.h:19
PeriodicBinFinderInPhi.h
TECLayer::theBackBinFinder
BinFinderPhi theBackBinFinder
Definition: TECLayer.h:68
TECLayer::~TECLayer
~TECLayer() override __attribute__((cold))
Definition: TECLayer.cc:93
TECLayer::theBackComps
std::vector< const TECPetal * > theBackComps
Definition: TECLayer.h:60
TECLayer::theBackDisk
ReferenceCountingPointer< BoundDisk > theBackDisk
Definition: TECLayer.h:63
svgfig.window
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
TECLayer::theFrontDisk
ReferenceCountingPointer< BoundDisk > theFrontDisk
Definition: TECLayer.h:62
ReferenceCountingPointer< BoundDisk >
watchdog.const
const
Definition: watchdog.py:83
TECLayer::addClosest
bool addClosest(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot))
Definition: TECLayer.cc:179
SubLayerCrossings.h
TECPetal.h
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TECLayer::searchNeighbors
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:205
MeasurementEstimator.h
TECLayer::theComps
std::vector< const GeometricSearchDet * > theComps
Definition: TECLayer.h:56
TECLayer::computeCrossings
SubLayerCrossings computeCrossings(const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot))
Definition: TECLayer.cc:137
TECLayer
Definition: TECLayer.h:15
TECLayer::TECLayer
TECLayer(std::vector< const TECPetal * > &innerPetals, std::vector< const TECPetal * > &outerPetals) __attribute__((cold))
Definition: TECLayer.cc:50
GeomDetEnumerators::TEC
Definition: GeomDetEnumerators.h:16
__attribute__
float __attribute__((vector_size(8))) cms_float32x2_t
Definition: ExtVec.h:12
TECLayer::groupedCompatibleDetsV
void groupedCompatibleDetsV(const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
Definition: TECLayer.cc:99
TECLayer::components
const std::vector< const GeometricSearchDet * > & components() const override __attribute__((cold))
Returns basic components, if any.
Definition: TECLayer.h:24
TECLayer::theFrontComps
std::vector< const TECPetal * > theFrontComps
Definition: TECLayer.h:59
TECLayer::subDetector
SubDetector subDetector() const override
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel,...
Definition: TECLayer.h:32
ForwardDetLayer
Definition: ForwardDetLayer.h:22
PeriodicBinFinderInPhi< float >
GeomDetEnumerators::subDetGeom
constexpr SubDetector subDetGeom[21]
Definition: GeomDetEnumerators.h:40
ForwardDetLayer.h
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
SubLayerCrossing
Definition: SubLayerCrossings.h:7
TECLayer::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: TECLayer.h:22
mps_fire.result
result
Definition: mps_fire.py:311
TECLayer::subLayer
const std::vector< const TECPetal * > & subLayer(int ind) const
Definition: TECLayer.h:53
TECLayer::theBasicComps
std::vector< const GeomDet * > theBasicComps
Definition: TECLayer.h:57
TECLayer::BinFinderPhi
PeriodicBinFinderInPhi< float > BinFinderPhi
Definition: TECLayer.h:65
SubLayerCrossings
Definition: SubLayerCrossings.h:22