CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TransientTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef TransientTrackingRecHit_H
2 #define TransientTrackingRecHit_H
3 
10 
12 
13 class GeomDetUnit;
14 
15 #ifdef COUNT_HITS
17 #else
19 #endif
20 
21 
24 public:
25 
28  typedef std::vector<ConstRecHitPointer> RecHitContainer;
29  typedef std::vector<ConstRecHitPointer> ConstRecHitContainer;
30 
31 
34  TrackingRecHit(id, type)
35  {countTTRH(type);}
36 
37  explicit TransientTrackingRecHit(TrackingRecHit const & rh) :
39  {countTTRH(type());}
40 
42 
43 
44  // Extension of the TrackingRecHit interface
45 
47 
48  virtual const GeomDet * det() const =0;
49  virtual const Surface * surface() const {return &(det()->surface());}
50 
54  virtual const GeomDetUnit * detUnit() const;
55 
56  virtual GlobalPoint globalPosition() const =0;
57  virtual GlobalError globalPositionError() const =0;
58 
59  virtual float errorGlobalR() const=0;
60  virtual float errorGlobalZ() const=0;
61  virtual float errorGlobalRPhi() const=0;
62 
67  virtual RecHitPointer clone (const TrajectoryStateOnSurface&) const;
68 
73  virtual bool canImproveWithTrack() const {return false;}
74 
75  virtual const TrackingRecHit * hit() const = 0;
76 
77  // clone the corresponding Persistent Hit
78  virtual TrackingRecHit * cloneHit() const = 0;
79 
81  virtual ConstRecHitContainer transientHits() const;
82 
83 
85  virtual float clusterProbability() const { return 1.f; }
86 
87 private:
88 
89  // hide the clone method for ReferenceCounted. Warning: this method is still
90  // accessible via the bas class TrackingRecHit interface!
91  virtual TransientTrackingRecHit * clone() const = 0;
92 
93 };
94 
95 #endif
96 
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
type
Definition: HCALResponse.h:21
ConstReferenceCountingPointer< TransientTrackingRecHit > ConstRecHitPointer
unsigned int id_type
virtual float errorGlobalR() const =0
virtual TransientTrackingRecHit * clone() const =0
Type type() const
virtual float errorGlobalRPhi() const =0
virtual const TrackingRecHit * hit() const =0
virtual const GeomDet * det() const =0
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
virtual float errorGlobalZ() const =0
std::vector< ConstRecHitPointer > RecHitContainer
virtual GlobalPoint globalPosition() const =0
TransientTrackingRecHit(TrackingRecHit::id_type id, Type type=valid)
virtual GlobalError globalPositionError() const =0
virtual TrackingRecHit * cloneHit() const =0
virtual float clusterProbability() const
cluster probability, overloaded by pixel rechits.
std::vector< ConstRecHitPointer > ConstRecHitContainer
virtual bool canImproveWithTrack() const
TransientTrackingRecHit(TrackingRecHit const &rh)
void countTTRH(TrackingRecHit::Type)
virtual const Surface * surface() const
virtual const GeomDetUnit * detUnit() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
DetId geographicalId() const
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.