CMS 3D CMS Logo

GeometricSearchDet.h
Go to the documentation of this file.
1 #ifndef DetLayers_GeometricSearchDet_h
2 #define DetLayers_GeometricSearchDet_h
3 
6 
10 
12 
13 #include <vector>
14 
16 
18 public:
19  typedef std::pair<const GeomDet*, TrajectoryStateOnSurface> DetWithState;
23 
24  GeometricSearchDet(bool doHaveGroups) : haveGroups(doHaveGroups) {}
25  virtual ~GeometricSearchDet();
26 
28  virtual const BoundSurface& surface() const = 0;
29 
31  virtual const Surface::PositionType& position() const { return surface().position(); }
32 
34  //virtual std::vector< const GeomDet*> basicComponents() const = 0;
35 
37  virtual const std::vector<const GeometricSearchDet*>& components() const = 0;
38 
39  /* Returns basic components. For the moment they are GeomDet,
40  * but they could become MeasurementDet
41  */
42  virtual const std::vector<const GeomDet*>& basicComponents() const = 0;
43 
52  virtual std::pair<bool, TrajectoryStateOnSurface> compatible(const TrajectoryStateOnSurface& ts,
53  const Propagator&,
54  const MeasurementEstimator&) const = 0;
55 
63  virtual std::vector<DetWithState> compatibleDets(const TrajectoryStateOnSurface& startingState,
64  const Propagator& prop,
65  const MeasurementEstimator& est) const;
66  virtual void compatibleDetsV(const TrajectoryStateOnSurface& startingState,
67  const Propagator& prop,
68  const MeasurementEstimator& est,
69  std::vector<DetWithState>& result) const; //=0;
70 
90  virtual std::vector<DetGroup> groupedCompatibleDets(const TrajectoryStateOnSurface& startingState,
91  const Propagator& prop,
92  const MeasurementEstimator& est) const;
93 
94  virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface& startingState,
95  const Propagator& prop,
96  const MeasurementEstimator& est,
97  std::vector<DetGroup>& result) const; // = 0;
98 
99  bool hasGroups() const { return haveGroups; }
100 
101 protected:
104 };
105 
106 #endif
Propagator.h
MeasurementEstimator
Definition: MeasurementEstimator.h:19
TkRotation< float >
GeometricSearchDet::GeometricSearchDet
GeometricSearchDet(bool doHaveGroups)
Definition: GeometricSearchDet.h:24
GeometricSearchDet::haveGroups
bool haveGroups
Definition: GeometricSearchDet.h:103
GeometricSearchDet::~GeometricSearchDet
virtual ~GeometricSearchDet()
Definition: GeometricSearchDet.cc:7
GeometricSearchDet::theCompatibilityChecker
GeomDetCompatibilityChecker theCompatibilityChecker
Definition: GeometricSearchDet.h:102
GeomDetCompatibilityChecker
Definition: GeomDetCompatibilityChecker.h:12
Surface
Definition: Surface.h:36
GeometricSearchDet::compatible
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const =0
GeometricSearchDet::compatibleDets
virtual std::vector< DetWithState > compatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Definition: GeometricSearchDet.cc:35
GeometricSearchDet::RotationType
BoundSurface::RotationType RotationType
Definition: GeometricSearchDet.h:21
GeometricSearchDet::position
virtual const Surface::PositionType & position() const
Returns position of the surface.
Definition: GeometricSearchDet.h:31
BoundSurface.h
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
GeometricSearchDet::groupedCompatibleDets
virtual std::vector< DetGroup > groupedCompatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
Definition: GeometricSearchDet.cc:42
DetGroup.h
Surface.h
GeometricSearchDet::components
virtual const std::vector< const GeometricSearchDet * > & components() const =0
Returns basic components, if any.
Point3DBase< float, GlobalTag >
GeometricSearchDet::TrajectoryState
TrajectoryStateOnSurface TrajectoryState
Definition: GeometricSearchDet.h:22
GeometricSearchDet::groupedCompatibleDetsV
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
Definition: GeometricSearchDet.cc:28
GeometricSearchDet::compatibleDetsV
virtual void compatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
Definition: GeometricSearchDet.cc:9
GeomDetCompatibilityChecker.h
GeometricSearchDet::DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Definition: GeometricSearchDet.h:19
GloballyPositioned::position
const PositionType & position() const
Definition: GloballyPositioned.h:36
GeomDet.h
GeometricSearchDet::hasGroups
bool hasGroups() const
Definition: GeometricSearchDet.h:99
GeometricSearchDet::surface
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
mps_fire.result
result
Definition: mps_fire.py:303
GeometricSearchDet
Definition: GeometricSearchDet.h:17
GeometricSearchDet::PositionType
BoundSurface::PositionType PositionType
Definition: GeometricSearchDet.h:20
GeometricSearchDet::basicComponents
virtual const std::vector< const GeomDet * > & basicComponents() const =0