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)) {}
const GeomDet * theGeomDet
TrackingRecHit::ConstRecHitPointer theMissingHit
TrackingRecHit::ConstRecHitPointer theInactiveHit
const GeomDet & fastGeomDet() const

◆ ~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.

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

60  {
61  TempMeasurements tmps;
62  measurements(stateOnThisDet, est, data, tmps);
63  std::vector<TrajectoryMeasurement> result;
64  result.reserve(tmps.size());
65  int* index = new int[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  delete[] index;
72  return result;
73  }
tracking::TempMeasurements TempMeasurements
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:80
def move(src, dest)
Definition: eostools.py:511
virtual bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const =0

◆ 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 86 of file MeasurementDet.h.

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

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

86 { return geomDet().position(); }
virtual const GeomDet & geomDet() const
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43

◆ 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.

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

37  {
38  result = recHits(stateOnThisDet, data);
39  return !result.empty();
40  }
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &) const =0
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:80

◆ 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 84 of file MeasurementDet.h.

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

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

84 { return geomDet().surface(); }
virtual const GeomDet & geomDet() const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37

Member Data Documentation

◆ theGeomDet

const GeomDet* MeasurementDet::theGeomDet
private

Definition at line 92 of file MeasurementDet.h.

Referenced by fastGeomDet(), and geomDet().

◆ theInactiveHit

TrackingRecHit::ConstRecHitPointer MeasurementDet::theInactiveHit
protected

◆ theMissingHit

TrackingRecHit::ConstRecHitPointer MeasurementDet::theMissingHit
protected