CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TSiTrackerMultiRecHit.h
Go to the documentation of this file.
1 #ifndef TSiTrackerMultiRecHit_h
2 #define TSiTrackerMultiRecHit_h
3 
8 
9 /*
10 A TransientTrackingRecHit for the SiTrackerMultiRecHit
11 */
12 
14  public:
15  //virtual ~TSiTrackerMultiRecHit() {delete theHitData;}
17 
18  virtual AlgebraicVector parameters() const {return theHitData.parameters();}
21  //return theHitData.parametersError();
22  }
23 
24  virtual void getKfComponents( KfComponentsHolder & holder ) const {
26  }
27  virtual DetId geographicalId() const {return theHitData.geographicalId();}
29  virtual int dimension() const {return theHitData.dimension();}
30 
31  virtual LocalPoint localPosition() const {return theHitData.localPosition();}
33 
34  virtual const TrackingRecHit * hit() const {return &theHitData;};
35  const SiTrackerMultiRecHit* specificHit() const {return &theHitData;}
36 
37  virtual bool isValid() const{return theHitData.isValid();}
38 
39  virtual std::vector<const TrackingRecHit*> recHits() const {
40  return theHitData.recHits();
41  }
42  virtual std::vector<TrackingRecHit*> recHits() {
43  return theHitData.recHits();
44  }
45 
46  virtual const GeomDetUnit* detUnit() const;
47 
48  virtual bool canImproveWithTrack() const {return true;}
49 
50  virtual RecHitPointer clone(const TrajectoryStateOnSurface& ts) const;
51 
53 
54  static RecHitPointer build( const GeomDet * geom, const SiTrackerMultiRecHit* rh,
55  const ConstRecHitContainer& components, float annealing=1.){
56  return RecHitPointer(new TSiTrackerMultiRecHit( geom, rh, components, annealing));
57  }
58  private:
60  //holds the TransientTrackingRecHit components of the MultiRecHit with up-to-date weights
62 
64  const ConstRecHitContainer& components, float annealing):
65  TransientTrackingRecHit(geom,1, annealing), theHitData(*rh), theComponents(components){}
66 
67  virtual TSiTrackerMultiRecHit* clone() const {
68  return new TSiTrackerMultiRecHit(*this);
69  }
70 
71 };
72 
73 #endif
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual LocalError localPositionError() const
virtual int dimension() const
virtual LocalPoint localPosition() const
virtual AlgebraicMatrix projectionMatrix() const
virtual bool canImproveWithTrack() const
virtual const TrackingRecHit * hit() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
virtual const GeomDetUnit * detUnit() const
virtual AlgebraicMatrix projectionMatrix() const
virtual DetId geographicalId() const
TSiTrackerMultiRecHit(const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing)
virtual TSiTrackerMultiRecHit * clone() const
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
virtual LocalPoint localPosition() const
virtual void getKfComponents(KfComponentsHolder &holder) const
virtual bool isValid() const
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
CLHEP::HepMatrix AlgebraicMatrix
static RecHitPointer build(const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing=1.)
ConstRecHitContainer theComponents
virtual AlgebraicVector parameters() const
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: DetId.h:20
CLHEP::HepVector AlgebraicVector
virtual AlgebraicVector parameters() const
bool isValid() const
virtual LocalError localPositionError() const
const SiTrackerMultiRecHit * specificHit() const
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
DetId geographicalId() const
virtual int dimension() const
SiTrackerMultiRecHit theHitData
virtual AlgebraicSymMatrix parametersError() const
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)