CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
TkTransientTrackingRecHitBuilder Class Reference

#include <TkTransientTrackingRecHitBuilder.h>

Inheritance diagram for TkTransientTrackingRecHitBuilder:
TransientTrackingRecHitBuilder

Public Member Functions

TransientTrackingRecHit::RecHitPointer build (const TrackingRecHit *p) const
 build a tracking rechit from an existing rechit More...
 
TransientTrackingRecHit::RecHitPointer build (const TrackingRecHit *p, const TrajectoryStateOnSurface &state) const
 build a tracking rechit refiting the rechit position and error according to the state estimate More...
 
const
PixelClusterParameterEstimator
pixelClusterParameterEstimator ()
 
const SiStripRecHitMatchersiStripRecHitMatcher ()
 
const
StripClusterParameterEstimator
stripClusterParameterEstimator ()
 
 TkTransientTrackingRecHitBuilder (const TrackingGeometry *trackingGeometry, const PixelClusterParameterEstimator *, const StripClusterParameterEstimator *, const SiStripRecHitMatcher *, bool computeCoarseLocalPositionFromDisk)
 

Private Member Functions

TransientTrackingRecHit::RecHitPointer oldbuild (const TrackingRecHit *p) const
 

Private Attributes

const
PixelClusterParameterEstimator
pixelCPE
 
const
StripClusterParameterEstimator
stripCPE
 
const TrackingGeometrytGeometry_
 
bool theComputeCoarseLocalPosition
 
const SiStripRecHitMatchertheMatcher
 

Additional Inherited Members

- Public Types inherited from TransientTrackingRecHitBuilder
typedef
TransientTrackingRecHit::RecHitContainer 
RecHitContainer
 
typedef
TransientTrackingRecHit::RecHitPointer 
RecHitPointer
 

Detailed Description

Definition at line 11 of file TkTransientTrackingRecHitBuilder.h.

Constructor & Destructor Documentation

TkTransientTrackingRecHitBuilder::TkTransientTrackingRecHitBuilder ( const TrackingGeometry trackingGeometry,
const PixelClusterParameterEstimator pCPE,
const StripClusterParameterEstimator sCPE,
const SiStripRecHitMatcher matcher,
bool  computeCoarseLocalPositionFromDisk 
)

Definition at line 26 of file TkTransientTrackingRecHitBuilder.cc.

30  :
31  tGeometry_(trackingGeometry),
32  pixelCPE(pCPE),
33  stripCPE(sCPE),
34  theMatcher(matcher),
35  theComputeCoarseLocalPosition(computeCoarseLocalPositionFromDisk){}
const PixelClusterParameterEstimator * pixelCPE
const StripClusterParameterEstimator * stripCPE

Member Function Documentation

TransientTrackingRecHit::RecHitPointer TkTransientTrackingRecHitBuilder::build ( const TrackingRecHit p) const
virtual

build a tracking rechit from an existing rechit

Implements TransientTrackingRecHitBuilder.

Definition at line 38 of file TkTransientTrackingRecHitBuilder.cc.

References InvalidTransientRecHit::build(), ProjectedRecHit2D::build(), TSiStripMatchedRecHit::build(), GenericTransientTrackingRecHit::build(), TSiStripRecHit2DLocalPos::build(), TSiPixelRecHit::build(), TSiStripRecHit1D::build(), TrackingRecHit::geographicalId(), TrackingRecHit::getType(), TrackingGeometry::idToDet(), errorMatrix2Lands::mh, oldbuild(), ProjectedSiStripRecHit2D::originalHit(), AlCaHLTBitMon_ParallelJobs::p, pixelCPE, DetId::rawId(), stripCPE, tGeometry_, theComputeCoarseLocalPosition, and theMatcher.

Referenced by build(), and RoadSearchSeedFinderAlgorithm::run().

39 {
40  std::type_info const & tp = typeid(*p);
41 
42  if (tp == typeid(SiPixelRecHit))
43  {
44  const SiPixelRecHit* ph = reinterpret_cast<const SiPixelRecHit*>(p);
46  }
47  else if (tp == typeid(SiStripRecHit2D))
48  {
49  const SiStripRecHit2D* sh = reinterpret_cast<const SiStripRecHit2D*>(p);
51  }
52  else if (tp == typeid(SiStripRecHit1D))
53  {
54  const SiStripRecHit1D* sh = reinterpret_cast<const SiStripRecHit1D*>(p);
56  }
57  else if (tp == typeid(SiStripMatchedRecHit2D))
58  {
59  const SiStripMatchedRecHit2D* mh = reinterpret_cast<const SiStripMatchedRecHit2D*>(p);
61  }
62  else if (tp == typeid(InvalidTrackingRecHit))
63  {
64  return InvalidTransientRecHit::build((p->geographicalId().rawId() == 0 ? 0 :
66  p->getType()
67  );
68  }
69  else if (tp == typeid(ProjectedSiStripRecHit2D))
70  {
71  const ProjectedSiStripRecHit2D* ph = reinterpret_cast<const ProjectedSiStripRecHit2D*>(p);
74  ph,stripCPE,
76  }
77  else if (tp == typeid(SiTrackerGSRecHit2D))
78  {
79  const SiTrackerGSRecHit2D* gh = reinterpret_cast<const SiTrackerGSRecHit2D*>(p);
81  }
82  else if (tp == typeid(SiTrackerGSMatchedRecHit2D))
83  {
84  const SiTrackerGSMatchedRecHit2D* gh = reinterpret_cast<const SiTrackerGSMatchedRecHit2D*>(p);
86  }
87  return oldbuild(p);
88 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
const PixelClusterParameterEstimator * pixelCPE
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
TransientTrackingRecHit::RecHitPointer oldbuild(const TrackingRecHit *p) const
const StripClusterParameterEstimator * stripCPE
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
Type getType() const
virtual const GeomDet * idToDet(DetId) const =0
static RecHitPointer build(const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, bool computeCoarseLocalPosition=false)
DetId geographicalId() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
const SiStripRecHit2D & originalHit() const
Our base class.
Definition: SiPixelRecHit.h:22
TransientTrackingRecHit::RecHitPointer TkTransientTrackingRecHitBuilder::build ( const TrackingRecHit p,
const TrajectoryStateOnSurface state 
) const
virtual

build a tracking rechit refiting the rechit position and error according to the state estimate

Reimplemented from TransientTrackingRecHitBuilder.

Definition at line 124 of file TkTransientTrackingRecHitBuilder.cc.

References build().

126 {
128  return noRefit->clone(tsos);
129 }
TransientTrackingRecHit::RecHitPointer build(const TrackingRecHit *p) const
build a tracking rechit from an existing rechit
TransientTrackingRecHit::RecHitPointer TkTransientTrackingRecHitBuilder::oldbuild ( const TrackingRecHit p) const
private

Definition at line 91 of file TkTransientTrackingRecHitBuilder.cc.

References InvalidTransientRecHit::build(), ProjectedRecHit2D::build(), TSiStripMatchedRecHit::build(), GenericTransientTrackingRecHit::build(), TSiStripRecHit2DLocalPos::build(), TSiPixelRecHit::build(), TSiStripRecHit1D::build(), className(), edm::hlt::Exception, TrackingRecHit::geographicalId(), TrackingRecHit::getType(), TrackingGeometry::idToDet(), errorMatrix2Lands::mh, pixelCPE, DetId::rawId(), stripCPE, tGeometry_, theComputeCoarseLocalPosition, and theMatcher.

Referenced by build().

92 {
93  if ( const SiPixelRecHit* ph = dynamic_cast<const SiPixelRecHit*>(p)) {
95  } else if ( const SiStripRecHit2D* sh = dynamic_cast<const SiStripRecHit2D*>(p)) {
97  } else if ( const SiStripRecHit1D* sh = dynamic_cast<const SiStripRecHit1D*>(p)) {
99  } else if ( const SiStripMatchedRecHit2D* mh = dynamic_cast<const SiStripMatchedRecHit2D*>(p)) {
101  } else if (dynamic_cast<const InvalidTrackingRecHit*>(p)){
102  return ( InvalidTransientRecHit::build((p->geographicalId().rawId() == 0 ? 0 :
104  p->getType()
105  ) );
106 
107  }else if (const ProjectedSiStripRecHit2D* ph = dynamic_cast<const ProjectedSiStripRecHit2D*>(p)) {
109  tGeometry_->idToDet(ph->originalHit().geographicalId()),
110  ph,stripCPE,
112  } else if ( const SiTrackerGSRecHit2D* gh = dynamic_cast<const SiTrackerGSRecHit2D*>(p)) {
114 
115  } else if ( const SiTrackerGSMatchedRecHit2D* gh = dynamic_cast<const SiTrackerGSMatchedRecHit2D*>(p)) {
117  }
118 
119  throw cms::Exception("LogicError") << "TrackingRecHit* cannot be casted to a known concrete type. hit type is: "<< className(*p);
120 }
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
const PixelClusterParameterEstimator * pixelCPE
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
const StripClusterParameterEstimator * stripCPE
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
Type getType() const
virtual const GeomDet * idToDet(DetId) const =0
static RecHitPointer build(const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, bool computeCoarseLocalPosition=false)
DetId geographicalId() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
std::string className(const T &t)
Definition: ClassName.h:30
Our base class.
Definition: SiPixelRecHit.h:22
const PixelClusterParameterEstimator* TkTransientTrackingRecHitBuilder::pixelClusterParameterEstimator ( )
inline

Definition at line 22 of file TkTransientTrackingRecHitBuilder.h.

References pixelCPE.

22 {return pixelCPE;}
const PixelClusterParameterEstimator * pixelCPE
const SiStripRecHitMatcher* TkTransientTrackingRecHitBuilder::siStripRecHitMatcher ( )
inline

Definition at line 24 of file TkTransientTrackingRecHitBuilder.h.

References theMatcher.

24 {return theMatcher;}
const StripClusterParameterEstimator* TkTransientTrackingRecHitBuilder::stripClusterParameterEstimator ( )
inline

Definition at line 23 of file TkTransientTrackingRecHitBuilder.h.

References stripCPE.

23 {return stripCPE;}
const StripClusterParameterEstimator * stripCPE

Member Data Documentation

const PixelClusterParameterEstimator* TkTransientTrackingRecHitBuilder::pixelCPE
private
const StripClusterParameterEstimator* TkTransientTrackingRecHitBuilder::stripCPE
private
const TrackingGeometry* TkTransientTrackingRecHitBuilder::tGeometry_
private

Definition at line 32 of file TkTransientTrackingRecHitBuilder.h.

Referenced by build(), and oldbuild().

bool TkTransientTrackingRecHitBuilder::theComputeCoarseLocalPosition
private

Definition at line 36 of file TkTransientTrackingRecHitBuilder.h.

Referenced by build(), and oldbuild().

const SiStripRecHitMatcher* TkTransientTrackingRecHitBuilder::theMatcher
private

Definition at line 35 of file TkTransientTrackingRecHitBuilder.h.

Referenced by build(), oldbuild(), and siStripRecHitMatcher().