CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
DetRodOneR Class Reference

#include <DetRodOneR.h>

Inheritance diagram for DetRodOneR:
DetRod GeometricSearchDet MuDetRod PixelRod

Public Types

typedef std::vector< GeometricSearchDet * > DetContainer
 
- Public Types inherited from GeometricSearchDet
typedef std::pair< const GeomDet *, TrajectoryStateOnSurfaceDetWithState
 
typedef BoundSurface::PositionType PositionType
 
typedef BoundSurface::RotationType RotationType
 
typedef TrajectoryStateOnSurface TrajectoryState
 

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
 DetRodOneR (std::vector< const GeomDet * >::const_iterator first, std::vector< const GeomDet * >::const_iterator last)
 Construct from iterators on GeomDet*. More...
 
 DetRodOneR (const std::vector< const GeomDet * > &dets)
 Construct from a std::vector of GeomDet*. More...
 
 ~DetRodOneR () override
 
- Public Member Functions inherited from DetRod
virtual const PlanespecificSurface () const final
 Return the rod surface as a Plane. More...
 
const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
 ~DetRod () override
 
- Public Member Functions inherited from GeometricSearchDet
virtual std::pair< bool, TrajectoryStateOnSurfacecompatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const =0
 
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
 
virtual const std::vector< const GeometricSearchDet * > & components () const =0
 Returns basic components, if any. More...
 
 GeometricSearchDet (bool doHaveGroups)
 
virtual std::vector< DetGroupgroupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 
virtual void groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const
 
bool hasGroups () const
 
virtual const Surface::PositionTypeposition () const
 Returns position of the surface. More...
 
virtual ~GeometricSearchDet ()
 

Protected Member Functions

bool add (int idet, std::vector< DetWithState > &result, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 Query detector idet for compatible and add the output to result. More...
 
void initialize ()
 
- Protected Member Functions inherited from DetRod
void setPlane (Plane *plane)
 Set the rod's plane. More...
 

Protected Attributes

std::vector< const GeomDet * > theDets
 
- Protected Attributes inherited from GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A rod of detectors, all having the same Plane.

Definition at line 14 of file DetRodOneR.h.

Member Typedef Documentation

Definition at line 16 of file DetRodOneR.h.

Constructor & Destructor Documentation

DetRodOneR::DetRodOneR ( std::vector< const GeomDet * >::const_iterator  first,
std::vector< const GeomDet * >::const_iterator  last 
)

Construct from iterators on GeomDet*.

Definition at line 15 of file DetRodOneR.cc.

References initialize().

17  : DetRod(false), theDets(first,last)
18 {
19  initialize();
20 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:40
Definition: DetRod.h:13
void initialize()
Definition: DetRodOneR.cc:29
DetRodOneR::DetRodOneR ( const std::vector< const GeomDet * > &  dets)

Construct from a std::vector of GeomDet*.

Definition at line 22 of file DetRodOneR.cc.

References initialize().

23  : DetRod(false), theDets(dets)
24 {
25  initialize();
26 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:40
Definition: DetRod.h:13
void initialize()
Definition: DetRodOneR.cc:29
DetRodOneR::~DetRodOneR ( )
override

Definition at line 13 of file DetRodOneR.cc.

13 {}

Member Function Documentation

bool DetRodOneR::add ( int  idet,
std::vector< DetWithState > &  result,
const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est 
) const
protected

Query detector idet for compatible and add the output to result.

Definition at line 42 of file DetRodOneR.cc.

References GeomDetCompatibilityChecker::isCompatible(), GeometricSearchDet::theCompatibilityChecker, and theDets.

Referenced by basicComponents(), MuDetRod::compatibleDets(), PixelRod::compatibleDetsV(), and counter.Counter::register().

46 {
47  pair<bool,TrajectoryStateOnSurface> compat =
48  theCompatibilityChecker.isCompatible(theDets[idet],startingState, prop, est);
49 
50  if (compat.first) {
51  result.push_back( DetWithState( theDets[idet], compat.second));
52  }
53 
54  return compat.first;
55 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:40
GeomDetCompatibilityChecker theCompatibilityChecker
static std::pair< bool, TrajectoryStateOnSurface > isCompatible(const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est)
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
const std::vector<const GeomDet*>& DetRodOneR::basicComponents ( ) const
inlineoverridevirtual

Implements GeometricSearchDet.

Definition at line 28 of file DetRodOneR.h.

References add(), mps_fire::result, and theDets.

Referenced by MuDetRod::compatibleDets(), and MuDetRod::init().

28 {return theDets;}
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:40
void DetRodOneR::initialize ( void  )
protected

Definition at line 29 of file DetRodOneR.cc.

References precomputed_value_sort(), DetRod::setPlane(), and theDets.

Referenced by DetRodOneR().

30 {
31  // assume the dets ARE in a rod;
32  // sort them in Z
33 
35 
37 
38 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:40
ExtractZ< GeomDet, float > DetZ
Definition: DetSorting.h:53
void setPlane(Plane *plane)
Set the rod&#39;s plane.
Definition: DetRod.h:32
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr)

Member Data Documentation

std::vector<const GeomDet*> DetRodOneR::theDets
protected