CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SimpleTECWedge Class Referencefinal

#include <SimpleTECWedge.h>

Inheritance diagram for SimpleTECWedge:
TECWedge GeometricSearchDet

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((hot))
 
const std::vector< const GeometricSearchDet * > & components () const override __attribute__((cold))
 Returns basic components, if any. More...
 
void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot))
 
 SimpleTECWedge (const GeomDet *theDet) __attribute__((cold))
 
 ~SimpleTECWedge () override __attribute__((cold))
 
- Public Member Functions inherited from TECWedge
virtual const BoundDiskSectorspecificSurface () const final
 
const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
 TECWedge ()
 
- Public Member Functions inherited from GeometricSearchDet
virtual std::vector< DetWithStatecompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
virtual void compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const
 
 GeometricSearchDet (bool doHaveGroups)
 
virtual std::vector< DetGroupgroupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
bool hasGroups () const
 
virtual const Surface::PositionTypeposition () const
 Returns position of the surface. More...
 
virtual ~GeometricSearchDet ()
 

Private Attributes

const GeomDettheDet
 
std::vector< const GeomDet * > theDets
 

Additional Inherited Members

- Public Types inherited from GeometricSearchDet
typedef std::pair< const GeomDet *, TrajectoryStateOnSurfaceDetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 
- Protected Attributes inherited from TECWedge
ReferenceCountingPointer< BoundDiskSectortheDiskSector
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A concrete implementation for TEC wedge built out of only one det

Definition at line 11 of file SimpleTECWedge.h.

Constructor & Destructor Documentation

SimpleTECWedge::SimpleTECWedge ( const GeomDet theDet)

Definition at line 10 of file SimpleTECWedge.cc.

References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theDet, theDets, TECWedge::theDiskSector, and PV3DBase< T, PVType, FrameType >::z().

10  : theDet(theInputDet) {
11  theDets.push_back(theDet);
12 
14 
15  LogDebug("TkDetLayers") << "DEBUG INFO for CompositeTECWedge"
16  << "\n"
17  << "TECWedge z, perp,innerRadius,outerR: " << this->position().z() << " , "
18  << this->position().perp() << " , " << theDiskSector->innerRadius() << " , "
19  << theDiskSector->outerRadius();
20 }
#define LogDebug(id)
T perp() const
Definition: PV3DBase.h:69
std::vector< const GeomDet * > theDets
ReferenceCountingPointer< BoundDiskSector > theDiskSector
Definition: TECWedge.h:24
T z() const
Definition: PV3DBase.h:61
virtual const Surface::PositionType & position() const
Returns position of the surface.
const GeomDet * theDet
SimpleTECWedge::~SimpleTECWedge ( )
override

Definition at line 22 of file SimpleTECWedge.cc.

22 {}

Member Function Documentation

const std::vector<const GeomDet*>& SimpleTECWedge::basicComponents ( ) const
inlineoverridevirtual

Implements GeometricSearchDet.

Definition at line 18 of file SimpleTECWedge.h.

References compatible(), components(), groupedCompatibleDetsV(), mps_fire::result, and theDets.

18 { return theDets; }
std::vector< const GeomDet * > theDets
pair< bool, TrajectoryStateOnSurface > SimpleTECWedge::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const
overridevirtual

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 28 of file SimpleTECWedge.cc.

References GeomDetCompatibilityChecker::isCompatible(), and theDet.

Referenced by basicComponents(), and groupedCompatibleDetsV().

30  {
31  return GeomDetCompatibilityChecker::isCompatible(theDet, tsos, prop, est);
32 }
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
const GeomDet * theDet
const vector< const GeometricSearchDet * > & SimpleTECWedge::components ( ) const
overridevirtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 24 of file SimpleTECWedge.cc.

Referenced by basicComponents().

24  {
25  throw DetLayerException("SimpleTECWedge doesn't have GeometricSearchDet components");
26 }
Common base class.
void SimpleTECWedge::groupedCompatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const
overridevirtual

Reimplemented from GeometricSearchDet.

Definition at line 34 of file SimpleTECWedge.cc.

References compatible(), and theDet.

Referenced by basicComponents().

37  {
38  pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos, prop, est);
39 
40  if (compat.first) {
41  result.push_back(DetGroup(0, 1));
42  DetGroupElement ge(theDet, compat.second);
43  result.front().push_back(ge);
44  }
45 }
std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((hot))
const GeomDet * theDet

Member Data Documentation

const GeomDet* SimpleTECWedge::theDet
private

Definition at line 32 of file SimpleTECWedge.h.

Referenced by compatible(), groupedCompatibleDetsV(), and SimpleTECWedge().

std::vector<const GeomDet*> SimpleTECWedge::theDets
private

Definition at line 33 of file SimpleTECWedge.h.

Referenced by basicComponents(), and SimpleTECWedge().