1 #ifndef DetLayers_GeometricSearchDet_h 2 #define DetLayers_GeometricSearchDet_h 21 typedef std::pair<const GeomDet*,TrajectoryStateOnSurface>
DetWithState;
39 virtual const std::vector<const GeometricSearchDet*>&
components()
const = 0;
55 virtual std::pair<bool, TrajectoryStateOnSurface>
66 virtual std::vector<DetWithState>
74 std::vector<DetWithState>&
result)
const;
95 virtual std::vector<DetGroup>
104 std::vector<DetGroup> & result)
const;
BoundSurface::RotationType RotationType
BoundSurface::PositionType PositionType
virtual std::vector< DetGroup > groupedCompatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
virtual const std::vector< const GeomDet * > & basicComponents() const =0
virtual void groupedCompatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
virtual const std::vector< const GeometricSearchDet * > & components() const =0
Returns basic components, if any.
GeometricSearchDet(bool doHaveGroups)
GeomDetCompatibilityChecker theCompatibilityChecker
virtual std::vector< DetWithState > compatibleDets(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
TrajectoryStateOnSurface TrajectoryState
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const =0
virtual const Surface::PositionType & position() const
Returns position of the surface.
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
const PositionType & position() const
virtual void compatibleDetsV(const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
virtual ~GeometricSearchDet()