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(), oldbuild(), ProjectedSiStripRecHit2D::originalHit(), L1TEmulatorMonitor_cff::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,
75  1.,1.,
77  }
78  else if (tp == typeid(SiTrackerGSRecHit2D))
79  {
80  const SiTrackerGSRecHit2D* gh = reinterpret_cast<const SiTrackerGSRecHit2D*>(p);
82  }
83  else if (tp == typeid(SiTrackerGSMatchedRecHit2D))
84  {
85  const SiTrackerGSMatchedRecHit2D* gh = reinterpret_cast<const SiTrackerGSMatchedRecHit2D*>(p);
87  }
88  return oldbuild(p);
89 }
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
const PixelClusterParameterEstimator * pixelCPE
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
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
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, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
DetId geographicalId() const
const SiStripRecHit2D & originalHit() const
Our base class.
Definition: SiPixelRecHit.h:27
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 126 of file TkTransientTrackingRecHitBuilder.cc.

References build().

128 {
130  return noRefit->clone(tsos);
131 }
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 92 of file TkTransientTrackingRecHitBuilder.cc.

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

Referenced by build().

93 {
94  if ( const SiPixelRecHit* ph = dynamic_cast<const SiPixelRecHit*>(p)) {
96  } else if ( const SiStripRecHit2D* sh = dynamic_cast<const SiStripRecHit2D*>(p)) {
98  } else if ( const SiStripRecHit1D* sh = dynamic_cast<const SiStripRecHit1D*>(p)) {
100  } else if ( const SiStripMatchedRecHit2D* mh = dynamic_cast<const SiStripMatchedRecHit2D*>(p)) {
102  } else if (dynamic_cast<const InvalidTrackingRecHit*>(p)){
103  return ( InvalidTransientRecHit::build((p->geographicalId().rawId() == 0 ? 0 :
105  p->getType()
106  ) );
107 
108  }else if (const ProjectedSiStripRecHit2D* ph = dynamic_cast<const ProjectedSiStripRecHit2D*>(p)) {
110  tGeometry_->idToDet(ph->originalHit().geographicalId()),
111  ph,stripCPE,
112  1.,1.,
114  } else if ( const SiTrackerGSRecHit2D* gh = dynamic_cast<const SiTrackerGSRecHit2D*>(p)) {
116 
117  } else if ( const SiTrackerGSMatchedRecHit2D* gh = dynamic_cast<const SiTrackerGSMatchedRecHit2D*>(p)) {
119  }
120 
121  throw cms::Exception("LogicError") << "TrackingRecHit* cannot be casted to a known concrete type. hit type is: "<< className(*p);
122 }
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, Type type=TrackingRecHit::missing, const DetLayer *layer=0)
const PixelClusterParameterEstimator * pixelCPE
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit1D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh)
const StripClusterParameterEstimator * stripCPE
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, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
DetId geographicalId() const
std::string className(const T &t)
Definition: ClassName.h:30
Our base class.
Definition: SiPixelRecHit.h:27
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().