CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
ForwardDetRingOneZ Class Reference

#include <ForwardDetRingOneZ.h>

Inheritance diagram for ForwardDetRingOneZ:
ForwardDetRing GeometricSearchDet MTDDetRing MuDetRing

Public Member Functions

const std::vector< const GeomDet * > & basicComponents () const override
 
 ForwardDetRingOneZ (std::vector< const GeomDet *>::const_iterator first, std::vector< const GeomDet *>::const_iterator last)
 Construct from iterators on Det*. More...
 
 ForwardDetRingOneZ (const std::vector< const GeomDet *> &dets)
 
 ~ForwardDetRingOneZ () override
 
- Public Member Functions inherited from ForwardDetRing
void compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const override
 
 GeometricSearchDet (bool doHaveGroups)
 
const BoundDiskspecificSurface () const
 Return the ring surface as a BoundDisk. More...
 
const BoundSurfacesurface () const final
 The surface of the GeometricSearchDet. More...
 
 ~ForwardDetRing () 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 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 &tsos, const Propagator &prop, const MeasurementEstimator &est) const
 
- Protected Member Functions inherited from ForwardDetRing
void setDisk (BoundDisk *disk)
 Set the rod's disk. More...
 

Private Member Functions

void initialize ()
 

Private Attributes

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 GeometricSearchDet
bool haveGroups
 
GeomDetCompatibilityChecker theCompatibilityChecker
 

Detailed Description

A ring of detectors, all having the same BoundDisk.

Definition at line 10 of file ForwardDetRingOneZ.h.

Constructor & Destructor Documentation

◆ ForwardDetRingOneZ() [1/2]

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

Construct from iterators on Det*.

Definition at line 16 of file ForwardDetRingOneZ.cc.

References initialize().

18  : ForwardDetRing(false), theDets(first, last) {
19  initialize();
20 }
std::vector< const GeomDet * > theDets

◆ ForwardDetRingOneZ() [2/2]

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

Definition at line 22 of file ForwardDetRingOneZ.cc.

References initialize().

22  : ForwardDetRing(false), theDets(dets) {
23  initialize();
24 }
std::vector< const GeomDet * > theDets

◆ ~ForwardDetRingOneZ()

ForwardDetRingOneZ::~ForwardDetRingOneZ ( )
override

Definition at line 14 of file ForwardDetRingOneZ.cc.

14 {}

Member Function Documentation

◆ add()

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

Definition at line 33 of file ForwardDetRingOneZ.cc.

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

Referenced by MTDDetRing::compatibleDets(), MuDetRing::compatibleDets(), and counter.Counter::register().

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

◆ basicComponents()

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

Implements GeometricSearchDet.

Definition at line 21 of file ForwardDetRingOneZ.h.

References theDets.

Referenced by MTDDetRing::compatibleDets(), MuDetRing::compatibleDets(), MuDetRing::init(), and MTDDetRing::init().

21 { return theDets; }
std::vector< const GeomDet * > theDets

◆ initialize()

void ForwardDetRingOneZ::initialize ( void  )
private

Definition at line 26 of file ForwardDetRingOneZ.cc.

References precomputed_value_sort(), ForwardDetRing::setDisk(), and theDets.

Referenced by ForwardDetRingOneZ().

26  {
27  // assume the dets ARE in a ring
28  // sort them in phi
31 }
ExtractPhi< GeomDet, float > DetPhi
Definition: DetSorting.h:37
void precomputed_value_sort(RandomAccessIterator begin, RandomAccessIterator end, const Extractor &extr, const Compare &comp)
std::vector< const GeomDet * > theDets
void setDisk(BoundDisk *disk)
Set the rod&#39;s disk.

Member Data Documentation

◆ theDets

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

Definition at line 31 of file ForwardDetRingOneZ.h.

Referenced by add(), basicComponents(), and initialize().