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 
8 //RC #include "DataFormats/Common/interface/OwnVector.h"
11 
13 
14 
15 // make tis default
16 #define TTRH_NOGE
17 
18 
19 class GeomDetUnit;
20 
23 public:
24 
25  //RC typedef edm::OwnVector<const TransientTrackingRecHit> RecHitContainer;
26 
29  typedef std::vector<ConstRecHitPointer> RecHitContainer;
30  typedef std::vector<ConstRecHitPointer> ConstRecHitContainer;
31 
32  explicit TransientTrackingRecHit(const GeomDet * geom=0) :
34  globalPosition_(0,0,0),
35  geom_(geom),
36  errorR_(0),errorZ_(0),errorRPhi_(0),
38 
40  TrackingRecHit(id, type),
41  globalPosition_(0,0,0),
42  geom_(geom),
43  errorR_(0),errorZ_(0),errorRPhi_(0),
45 
47  TrackingRecHit(id, type),
48  globalPosition_(0,0,0),
49  geom_(geom),
50  errorR_(0),errorZ_(0),errorRPhi_(0),
52 
53  explicit TransientTrackingRecHit(const GeomDet * geom, TrackingRecHit const & rh) :
55  globalPosition_(0,0,0),
56  geom_(geom),
57  errorR_(0),errorZ_(0),errorRPhi_(0),
59 
60 
61 
62  // Extension of the TrackingRecHit interface
63 
65  const GeomDet * det() const {return geom_;}
66  virtual const Surface * surface() const {return &(geom_->surface());}
67 
71  virtual const GeomDetUnit * detUnit() const;
72 
73  virtual GlobalPoint globalPosition() const ;
74  virtual GlobalError globalPositionError() const ;
75 
76  float errorGlobalR() const;
77  float errorGlobalZ() const;
78  float errorGlobalRPhi() const;
79 
84  virtual RecHitPointer clone (const TrajectoryStateOnSurface& ts) const;
85 
90  virtual bool canImproveWithTrack() const {return false;}
91 
92  virtual const TrackingRecHit * hit() const = 0;
93 
95  virtual ConstRecHitContainer transientHits() const;
96 
97 
99  virtual float clusterProbability() const { return 1; }
100 
101 private:
102  void setPositionErrors() const;
103 
104  // caching of some variable for fast access
106 #ifndef TTRH_NOGE
107  mutable GlobalError globalError_;
108 #endif
109 
110  const GeomDet * geom_ ;
111 
112  mutable float errorR_,errorZ_,errorRPhi_;
113  mutable bool hasGlobalPosition_;
114  mutable bool hasGlobalError_;
115 
116  // hide the clone method for ReferenceCounted. Warning: this method is still
117  // accessible via the bas class TrackingRecHit interface!
118  virtual TransientTrackingRecHit * clone() const = 0;
119 
120 };
121 
122 #endif
123 
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
type
Definition: HCALResponse.h:22
ConstReferenceCountingPointer< TransientTrackingRecHit > ConstRecHitPointer
unsigned int id_type
TransientTrackingRecHit(const GeomDet *geom, TrackingRecHit::id_type id, Type type=valid)
TransientTrackingRecHit(const GeomDet *geom, TrackingRecHit const &rh)
TransientTrackingRecHit(const GeomDet *geom=0)
virtual TransientTrackingRecHit * clone() const =0
virtual const TrackingRecHit * hit() const =0
TransientTrackingRecHit(const GeomDet *geom, DetId id, Type type=valid)
std::vector< ConstRecHitPointer > RecHitContainer
virtual GlobalError globalPositionError() const
virtual float clusterProbability() const
cluster probability, overloaded by pixel rechits.
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: DetId.h:20
virtual bool canImproveWithTrack() const
virtual GlobalPoint globalPosition() const
const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:35
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
virtual const Surface * surface() const
virtual const GeomDetUnit * detUnit() const
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
DetId geographicalId() const
id_type rawId() const
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.