CMS 3D CMS Logo

MTDDetSector.h
Go to the documentation of this file.
1 #ifndef RecoMTD_DetLayers_MTDDetSector_H
2 #define RecoMTD_DetLayers_MTDDetSector_H
3 
7 
8 #include <ostream>
9 
10 class GeomDet;
11 
13 public:
15 
17  MTDDetSector(std::vector<const GeomDet*>::const_iterator first,
18  std::vector<const GeomDet*>::const_iterator last,
19  const MTDTopology& topo);
20 
22  MTDDetSector(const std::vector<const GeomDet*>& dets, const MTDTopology& topo);
23 
24  ~MTDDetSector() override{};
25 
26  // GeometricSearchDet structure
27 
28  const std::vector<const GeomDet*>& basicComponents() const override { return theDets; }
29 
30  const BoundSurface& surface() const final { return *theDiskS; }
31 
32  const std::vector<const GeometricSearchDet*>& components() const override;
33 
34  std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
35  const Propagator& prop,
36  const MeasurementEstimator& est) const override;
37 
38  std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
39  const Propagator& prop,
40  const MeasurementEstimator& est) const override;
41 
42  void compatibleDetsV(const TrajectoryStateOnSurface& startingState,
43  const Propagator& prop,
44  const MeasurementEstimator& est,
45  std::vector<DetWithState>& result) const override;
46 
47  std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
48  const Propagator& prop,
49  const MeasurementEstimator& est) const override;
50 
51  // GeometricSearchDet extension
52 
53  const BoundDiskSector& specificSurface() const { return *theDiskS; }
54 
55  void compatibleDetsLine(const size_t idetMin,
56  std::vector<DetWithState>& result,
57  const TrajectoryStateOnSurface& tsos,
58  const Propagator& prop,
59  const MeasurementEstimator& est) const;
60 
61  size_t hshift(const uint32_t detid, const int horizontalShift) const;
62  size_t vshift(const uint32_t detid, const int verticalShift, size_t& closest) const;
63 
64 protected:
65  void setDisk(BoundDiskSector* diskS) { theDiskS = diskS; }
66 
67  bool add(size_t idet,
68  std::vector<DetWithState>& result,
69  const TrajectoryStateOnSurface& tsos,
70  const Propagator& prop,
71  const MeasurementEstimator& est) const;
72 
73 private:
75  std::vector<const GeomDet*> theDets;
76 
78 
79  void init();
80 };
81 
82 std::ostream& operator<<(std::ostream&, const MTDDetSector&);
83 
84 #endif
MTDDetSector::hshift
size_t hshift(const uint32_t detid, const int horizontalShift) const
Definition: MTDDetSector.cc:213
MeasurementEstimator
Definition: MeasurementEstimator.h:19
GeometricSearchDet::GeometricSearchDet
GeometricSearchDet(bool doHaveGroups)
Definition: GeometricSearchDet.h:24
GeomDet
Definition: GeomDet.h:27
MTDDetSector::theDets
std::vector< const GeomDet * > theDets
Definition: MTDDetSector.h:75
MTDDetSector::compatibleDets
std::vector< DetWithState > compatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const override
Definition: MTDDetSector.cc:66
MTDDetSector::topo_
const MTDTopology * topo_
Definition: MTDDetSector.h:77
MTDDetSector::compatibleDetsV
void compatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const override
Definition: MTDDetSector.cc:145
GeometricSearchDet.h
Surface
Definition: Surface.h:36
ReferenceCountingPointer< BoundDiskSector >
watchdog.const
const
Definition: watchdog.py:83
Propagator
Definition: Propagator.h:44
MTDDetSector::groupedCompatibleDets
std::vector< DetGroup > groupedCompatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const override
Definition: MTDDetSector.cc:152
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
dqmdumpme.last
last
Definition: dqmdumpme.py:56
MTDDetSector::~MTDDetSector
~MTDDetSector() override
Definition: MTDDetSector.h:24
MTDDetSector::compatibleDetsLine
void compatibleDetsLine(const size_t idetMin, std::vector< DetWithState > &result, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est) const
Definition: MTDDetSector.cc:192
MTDDetSector::add
bool add(size_t idet, std::vector< DetWithState > &result, const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est) const
Definition: MTDDetSector.cc:162
first
auto first
Definition: CAHitNtupletGeneratorKernelsImpl.h:125
MTDTopology
Definition: MTDTopology.h:13
MTDDetSector::theDiskS
ReferenceCountingPointer< BoundDiskSector > theDiskS
Definition: MTDDetSector.h:74
MTDDetSector::specificSurface
const BoundDiskSector & specificSurface() const
Definition: MTDDetSector.h:53
MTDDetSector::compatible
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est) const override
Definition: MTDDetSector.cc:44
BoundDiskSector
Definition: BoundDiskSector.h:7
operator<<
std::ostream & operator<<(std::ostream &, const MTDDetSector &)
Definition: MTDDetSector.cc:180
MTDDetSector::components
const std::vector< const GeometricSearchDet * > & components() const override
Returns basic components, if any.
Definition: MTDDetSector.cc:37
MTDDetSector::init
void init()
Definition: MTDDetSector.cc:30
MTDDetSector::setDisk
void setDisk(BoundDiskSector *diskS)
Definition: MTDDetSector.h:65
MTDDetSector::basicComponents
const std::vector< const GeomDet * > & basicComponents() const override
Definition: MTDDetSector.h:28
BoundDiskSector.h
MTDDetSector::MTDDetSector
MTDDetSector(std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last, const MTDTopology &topo)
Construct from iterators on GeomDet*.
Definition: MTDDetSector.cc:18
mps_fire.result
result
Definition: mps_fire.py:311
MTDDetSector
Definition: MTDDetSector.h:12
GeometricSearchDet
Definition: GeometricSearchDet.h:17
MTDDetSector::vshift
size_t vshift(const uint32_t detid, const int verticalShift, size_t &closest) const
Definition: MTDDetSector.cc:217
MTDTopology.h
MTDDetSector::surface
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
Definition: MTDDetSector.h:30