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

virtual const std::vector< const GeomDet * > & basicComponents () const
 
virtual std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((hot))
 
virtual const std::vector< const GeometricSearchDet * > & components () const __attribute__((cold))
 Returns basic components, if any. More...
 
virtual void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot))
 
 SimpleTECWedge (const GeomDet *theDet) __attribute__((cold))
 
 ~SimpleTECWedge () __attribute__((cold))
 
- Public Member Functions inherited from TECWedge
virtual const BoundDiskSectorspecificSurface () const final
 
virtual 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 13 of file SimpleTECWedge.h.

Constructor & Destructor Documentation

SimpleTECWedge::SimpleTECWedge ( const GeomDet theDet)

Definition at line 11 of file SimpleTECWedge.cc.

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

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

Definition at line 27 of file SimpleTECWedge.cc.

27  {
28 
29 }

Member Function Documentation

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

Implements GeometricSearchDet.

Definition at line 20 of file SimpleTECWedge.h.

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

20 {return theDets;}
std::vector< const GeomDet * > 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 39 of file SimpleTECWedge.cc.

References GeomDetCompatibilityChecker::isCompatible(), and theDet.

Referenced by basicComponents(), and groupedCompatibleDetsV().

42 {
43  return GeomDetCompatibilityChecker::isCompatible( theDet,tsos, prop, est);
44 }
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
virtual

Returns basic components, if any.

Returns direct components, if any

Implements GeometricSearchDet.

Definition at line 33 of file SimpleTECWedge.cc.

Referenced by basicComponents().

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

Reimplemented from GeometricSearchDet.

Definition at line 49 of file SimpleTECWedge.cc.

References compatible(), and theDet.

Referenced by basicComponents().

52  {
53  pair<bool, TrajectoryStateOnSurface> compat = this->compatible(tsos,prop,est);
54 
55  if (compat.first) {
56  result.push_back( DetGroup(0,1) );
57  DetGroupElement ge( theDet, compat.second);
58  result.front().push_back(ge);
59  }
60 
61 }
virtual std::pair< bool, TrajectoryStateOnSurface > compatible(const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((hot))
const GeomDet * theDet

Member Data Documentation

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().