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

Member Typedef Documentation

Definition at line 21 of file MeasurementDet.h.

Definition at line 23 of file MeasurementDet.h.

Definition at line 20 of file MeasurementDet.h.

Constructor & Destructor Documentation

MeasurementDet::MeasurementDet ( const GeomDet gdet)
inline

Definition at line 26 of file MeasurementDet.h.

References recHits(), and ~MeasurementDet().

26  :
27  theGeomDet(gdet),
28  theMissingHit(std::make_shared<InvalidTrackingRecHit>(fastGeomDet(),TrackingRecHit::missing)),
29  theInactiveHit(std::make_shared<InvalidTrackingRecHit>(fastGeomDet(),TrackingRecHit::inactive)){}
const GeomDet * theGeomDet
TrackingRecHit::ConstRecHitPointer theMissingHit
const GeomDet & fastGeomDet() const
TrackingRecHit::ConstRecHitPointer theInactiveHit
virtual MeasurementDet::~MeasurementDet ( )
virtualdefault

Referenced by MeasurementDet().

Member Function Documentation

const GeomDet& MeasurementDet::fastGeomDet ( ) const
inline
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 53 of file MeasurementDet.h.

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

Referenced by MeasurementDetWithData::fastMeasurements().

57  {
58 
59  TempMeasurements tmps;
60  measurements(stateOnThisDet, est, data, tmps);
61  std::vector<TrajectoryMeasurement> result;
62  result.reserve(tmps.size());
63  int index[tmps.size()]; tmps.sortIndex(index);
64  for (std::size_t i=0; i!=tmps.size(); ++i) {
65  auto j=index[i];
66  result.emplace_back(stateOnThisDet,std::move(tmps.hits[j]),tmps.distances[j]);
67  }
68  return result;
69  }
tracking::TempMeasurements TempMeasurements
virtual bool measurements(const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, const MeasurementTrackerEvent &data, TempMeasurements &result) const =0
def move(src, dest)
Definition: eostools.py:510
virtual const GeomDet& MeasurementDet::geomDet ( ) const
inlinevirtual
virtual bool MeasurementDet::hasBadComponents ( const TrajectoryStateOnSurface tsos,
const MeasurementTrackerEvent data 
) const
pure virtual
virtual bool MeasurementDet::isActive ( const MeasurementTrackerEvent data) const
pure virtual
virtual bool MeasurementDet::measurements ( const TrajectoryStateOnSurface stateOnThisDet,
const MeasurementEstimator est,
const MeasurementTrackerEvent data,
TempMeasurements result 
) const
pure virtual
const Surface::PositionType& MeasurementDet::position ( ) const
inline

Definition at line 83 of file MeasurementDet.h.

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

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

83 {return geomDet().position();}
virtual const GeomDet & geomDet() const
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:48
virtual RecHitContainer MeasurementDet::recHits ( const TrajectoryStateOnSurface ,
const MeasurementTrackerEvent  
) const
pure virtual
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 36 of file MeasurementDet.h.

References recHits().

37  {
38  result = recHits(stateOnThisDet, data);
39  return !result.empty();
40  }
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &, const MeasurementTrackerEvent &) const =0
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.

44  { return false;}
const Surface& MeasurementDet::surface ( ) const
inline

Definition at line 81 of file MeasurementDet.h.

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

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

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

Member Data Documentation

const GeomDet* MeasurementDet::theGeomDet
private

Definition at line 90 of file MeasurementDet.h.

Referenced by fastGeomDet(), and geomDet().

TrackingRecHit::ConstRecHitPointer MeasurementDet::theInactiveHit
protected
TrackingRecHit::ConstRecHitPointer MeasurementDet::theMissingHit
protected