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 MTDDetTray 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
 GeometricSearchDet (bool doHaveGroups)
 
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

◆ DetContainer

Definition at line 16 of file DetRodOneR.h.

Constructor & Destructor Documentation

◆ DetRodOneR() [1/2]

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

16  : DetRod(false), theDets(first, last) {
17  initialize();
18 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:37
Definition: DetRod.h:13
void initialize()
Definition: DetRodOneR.cc:22

◆ DetRodOneR() [2/2]

DetRodOneR::DetRodOneR ( const std::vector< const GeomDet *> &  dets)

Construct from a std::vector of GeomDet*.

Definition at line 20 of file DetRodOneR.cc.

References initialize().

20 : DetRod(false), theDets(dets) { initialize(); }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:37
Definition: DetRod.h:13
void initialize()
Definition: DetRodOneR.cc:22

◆ ~DetRodOneR()

DetRodOneR::~DetRodOneR ( )
override

Definition at line 13 of file DetRodOneR.cc.

13 {}

Member Function Documentation

◆ add()

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 32 of file DetRodOneR.cc.

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

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

36  {
37  pair<bool, TrajectoryStateOnSurface> compat =
38  theCompatibilityChecker.isCompatible(theDets[idet], startingState, prop, est);
39 
40  if (compat.first) {
41  result.push_back(DetWithState(theDets[idet], compat.second));
42  }
43 
44  return compat.first;
45 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:37
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

◆ basicComponents()

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

Implements GeometricSearchDet.

Definition at line 26 of file DetRodOneR.h.

References theDets.

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

26 { return theDets; }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:37

◆ initialize()

void DetRodOneR::initialize ( void  )
protected

Definition at line 22 of file DetRodOneR.cc.

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

Referenced by DetRodOneR().

22  {
23  // assume the dets ARE in a rod;
24  // sort them in Z
25 
27 
29 }
std::vector< const GeomDet * > theDets
Definition: DetRodOneR.h:37
ExtractZ< GeomDet, float > DetZ
Definition: DetSorting.h:50
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr, const Compare &comp)
void setPlane(Plane *plane)
Set the rod&#39;s plane.
Definition: DetRod.h:28

Member Data Documentation

◆ theDets

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