CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes | Private Attributes
MeasurementDet Class Referenceabstract

#include <MeasurementDet.h>

Inheritance diagram for MeasurementDet:
TkGluedMeasurementDet TkPhase2OTMeasurementDet TkPixelMeasurementDet TkStackMeasurementDet TkStripMeasurementDet

Public Types

typedef TrackingRecHit::ConstRecHitContainer RecHitContainer
 
using SimpleHitContainer = std::vector< BaseTrackerRecHit * >
 
typedef tracking::TempMeasurements TempMeasurements
 

Public Member Functions

const GeomDetfastGeomDet () const
 
std::vector< TrajectoryMeasurementfastMeasurements (const TrajectoryStateOnSurface &stateOnThisDet, const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &est, const MeasurementTrackerEvent &data) const
 
virtual const GeomDetgeomDet () const
 
virtual bool hasBadComponents (const TrajectoryStateOnSurface &tsos, const MeasurementTrackerEvent &data) const =0
 
virtual bool isActive (const MeasurementTrackerEvent &data) const =0
 
 MeasurementDet (const GeomDet *gdet)
 
virtual bool measurements (const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const =0
 
const Surface::PositionTypeposition () const
 
virtual RecHitContainer recHits (const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &) const =0
 
virtual bool recHits (const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &, const MeasurementTrackerEvent &data, RecHitContainer &result, std::vector< float > &) const
 
virtual bool recHits (SimpleHitContainer &result, const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &, const MeasurementTrackerEvent &data) const
 
const Surfacesurface () const
 
virtual ~MeasurementDet ()=default
 

Protected Attributes

TrackingRecHit::ConstRecHitPointer theInactiveHit
 
TrackingRecHit::ConstRecHitPointer theMissingHit
 

Private Attributes

const GeomDettheGeomDet
 

Detailed Description

Definition at line 16 of file MeasurementDet.h.

Member Typedef Documentation

◆ RecHitContainer

Definition at line 19 of file MeasurementDet.h.

◆ SimpleHitContainer

Definition at line 21 of file MeasurementDet.h.

◆ TempMeasurements

Definition at line 18 of file MeasurementDet.h.

Constructor & Destructor Documentation

◆ MeasurementDet()

MeasurementDet::MeasurementDet ( const GeomDet gdet)
inline

Definition at line 23 of file MeasurementDet.h.

24  : theGeomDet(gdet),
25  theMissingHit(std::make_shared<InvalidTrackingRecHit>(fastGeomDet(), TrackingRecHit::missing)),
26  theInactiveHit(std::make_shared<InvalidTrackingRecHit>(fastGeomDet(), TrackingRecHit::inactive)) {}

◆ ~MeasurementDet()

virtual MeasurementDet::~MeasurementDet ( )
virtualdefault

Member Function Documentation

◆ fastGeomDet()

const GeomDet& MeasurementDet::fastGeomDet ( ) const
inline

◆ fastMeasurements()

std::vector<TrajectoryMeasurement> MeasurementDet::fastMeasurements ( const TrajectoryStateOnSurface stateOnThisDet,
const TrajectoryStateOnSurface ,
const Propagator ,
const MeasurementEstimator est,
const MeasurementTrackerEvent data 
) const
inline

obsolete version in case the TrajectoryState on the surface of the Det is already available. The first TrajectoryStateOnSurface is on the surface of this Det, and the second TrajectoryStateOnSurface is not used, as the propagator... The stateOnThisDet should the result of
prop.propagate( startingState, this->surface())

Definition at line 56 of file MeasurementDet.h.

60  {
61  TempMeasurements tmps;
62  measurements(stateOnThisDet, est, data, tmps);
63  std::vector<TrajectoryMeasurement> result;
64  result.reserve(tmps.size());
65  int index[tmps.size()];
66  tmps.sortIndex(index);
67  for (std::size_t i = 0; i != tmps.size(); ++i) {
68  auto j = index[i];
69  result.emplace_back(stateOnThisDet, std::move(tmps.hits[j]), tmps.distances[j]);
70  }
71  return result;
72  }

References data, tracking::TempMeasurements::distances, tracking::TempMeasurements::hits, mps_fire::i, dqmiolumiharvest::j, measurements(), eostools::move(), mps_fire::result, tracking::TempMeasurements::size(), and tracking::TempMeasurements::sortIndex().

Referenced by MeasurementDetWithData::fastMeasurements().

◆ geomDet()

virtual const GeomDet& MeasurementDet::geomDet ( ) const
inlinevirtual

◆ hasBadComponents()

virtual bool MeasurementDet::hasBadComponents ( const TrajectoryStateOnSurface tsos,
const MeasurementTrackerEvent data 
) const
pure virtual

◆ isActive()

virtual bool MeasurementDet::isActive ( const MeasurementTrackerEvent data) const
pure virtual

◆ measurements()

virtual bool MeasurementDet::measurements ( const TrajectoryStateOnSurface stateOnThisDet,
const MeasurementEstimator est,
const MeasurementTrackerEvent data,
TempMeasurements result 
) const
pure virtual

◆ position()

const Surface::PositionType& MeasurementDet::position ( ) const
inline

Definition at line 85 of file MeasurementDet.h.

85 { return geomDet().position(); }

References geomDet(), and GeomDet::position().

Referenced by CkfDebugger::analyseRecHitExistance(), and TkGluedMeasurementDet::collectRecHits().

◆ recHits() [1/3]

virtual RecHitContainer MeasurementDet::recHits ( const TrajectoryStateOnSurface ,
const MeasurementTrackerEvent  
) const
pure virtual

◆ recHits() [2/3]

virtual bool MeasurementDet::recHits ( const TrajectoryStateOnSurface stateOnThisDet,
const MeasurementEstimator ,
const MeasurementTrackerEvent data,
RecHitContainer result,
std::vector< float > &   
) const
inlinevirtual

Reimplemented in TkStripMeasurementDet, and TkPhase2OTMeasurementDet.

Definition at line 33 of file MeasurementDet.h.

37  {
38  result = recHits(stateOnThisDet, data);
39  return !result.empty();
40  }

References data, recHits(), and mps_fire::result.

◆ recHits() [3/3]

virtual bool MeasurementDet::recHits ( SimpleHitContainer result,
const TrajectoryStateOnSurface stateOnThisDet,
const MeasurementEstimator ,
const MeasurementTrackerEvent data 
) const
inlinevirtual

Reimplemented in TkStripMeasurementDet, TkPixelMeasurementDet, TkPhase2OTMeasurementDet, and TkGluedMeasurementDet.

Definition at line 43 of file MeasurementDet.h.

46  {
47  return false;
48  }

◆ surface()

const Surface& MeasurementDet::surface ( ) const
inline

Definition at line 83 of file MeasurementDet.h.

83 { return geomDet().surface(); }

References geomDet(), and GeomDet::surface().

Referenced by CkfDebugger::analyseRecHitExistance(), and TkGluedMeasurementDet::collectRecHits().

Member Data Documentation

◆ theGeomDet

const GeomDet* MeasurementDet::theGeomDet
private

Definition at line 91 of file MeasurementDet.h.

Referenced by fastGeomDet(), and geomDet().

◆ theInactiveHit

TrackingRecHit::ConstRecHitPointer MeasurementDet::theInactiveHit
protected

◆ theMissingHit

TrackingRecHit::ConstRecHitPointer MeasurementDet::theMissingHit
protected
GeomDet::position
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43
mps_fire.i
i
Definition: mps_fire.py:355
MeasurementDet::measurements
virtual bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const =0
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
TrackingRecHit::missing
Definition: TrackingRecHit.h:47
eostools.move
def move(src, dest)
Definition: eostools.py:511
MeasurementDet::theInactiveHit
TrackingRecHit::ConstRecHitPointer theInactiveHit
Definition: MeasurementDet.h:95
MeasurementDet::theGeomDet
const GeomDet * theGeomDet
Definition: MeasurementDet.h:91
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
TrackingRecHit::inactive
Definition: TrackingRecHit.h:48
mps_fire.result
result
Definition: mps_fire.py:303
MeasurementDet::TempMeasurements
tracking::TempMeasurements TempMeasurements
Definition: MeasurementDet.h:18
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
MeasurementDet::fastGeomDet
const GeomDet & fastGeomDet() const
Definition: MeasurementDet.h:80
MeasurementDet::theMissingHit
TrackingRecHit::ConstRecHitPointer theMissingHit
Definition: MeasurementDet.h:94
MeasurementDet::recHits
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &) const =0
MeasurementDet::geomDet
virtual const GeomDet & geomDet() const
Definition: MeasurementDet.h:81