#include <SimpleTECWedge.h>
Public Member Functions | |
virtual const std::vector < const GeomDet * > & | basicComponents () const |
virtual std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const |
virtual const std::vector < const GeometricSearchDet * > & | components () const |
Returns basic components, if any. | |
virtual void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const |
SimpleTECWedge (const GeomDet *theDet) | |
~SimpleTECWedge () | |
Private Attributes | |
const GeomDet * | theDet |
std::vector< const GeomDet * > | theDets |
A concrete implementation for TEC wedge built out of only one det
Definition at line 13 of file SimpleTECWedge.h.
SimpleTECWedge::SimpleTECWedge | ( | const GeomDet * | theDet | ) |
Definition at line 14 of file SimpleTECWedge.cc.
References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theDet, theDets, TECWedge::theDiskSector, and PV3DBase< T, PVType, FrameType >::z().
: theDet(theInputDet) { theDets.push_back(theDet); theDiskSector = ForwardDiskSectorBuilderFromDet()( theDets ); LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECWedge" << "\n" << "TECWedge z, perp,innerRadius,outerR: " << this->position().z() << " , " << this->position().perp() << " , " << theDiskSector->innerRadius() << " , " << theDiskSector->outerRadius() ; }
SimpleTECWedge::~SimpleTECWedge | ( | ) |
Definition at line 30 of file SimpleTECWedge.cc.
{ }
virtual const std::vector<const GeomDet*>& SimpleTECWedge::basicComponents | ( | ) | const [inline, virtual] |
Implements GeometricSearchDet.
Definition at line 20 of file SimpleTECWedge.h.
References theDets.
{return theDets;}
pair< bool, TrajectoryStateOnSurface > SimpleTECWedge::compatible | ( | const TrajectoryStateOnSurface & | ts, |
const Propagator & | , | ||
const MeasurementEstimator & | |||
) | const [virtual] |
tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.
Implements GeometricSearchDet.
Definition at line 42 of file SimpleTECWedge.cc.
References GeomDetCompatibilityChecker::isCompatible(), and theDet.
Referenced by groupedCompatibleDetsV().
{ return GeomDetCompatibilityChecker::isCompatible( theDet,tsos, prop, est); }
const vector< const GeometricSearchDet * > & SimpleTECWedge::components | ( | ) | const [virtual] |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 36 of file SimpleTECWedge.cc.
{ throw DetLayerException("SimpleTECWedge doesn't have GeometricSearchDet components"); }
void SimpleTECWedge::groupedCompatibleDetsV | ( | const TrajectoryStateOnSurface & | startingState, |
const Propagator & | prop, | ||
const MeasurementEstimator & | est, | ||
std::vector< DetGroup > & | result | ||
) | const [virtual] |
Reimplemented from GeometricSearchDet.
Definition at line 52 of file SimpleTECWedge.cc.
References compatible(), and theDet.
{ pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos,prop,est); if (compat.first) { result.push_back( DetGroup(0,1) ); DetGroupElement ge( theDet, compat.second); result.front().push_back(ge); } }
const GeomDet* SimpleTECWedge::theDet [private] |
Definition at line 35 of file SimpleTECWedge.h.
Referenced by compatible(), groupedCompatibleDetsV(), and SimpleTECWedge().
std::vector<const GeomDet*> SimpleTECWedge::theDets [private] |
Definition at line 36 of file SimpleTECWedge.h.
Referenced by basicComponents(), and SimpleTECWedge().