ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/RecoTracker/TransientTrackingRecHit/interface/ProjectedRecHit2D.h
Revision: 1.1
Committed: Fri Nov 25 17:05:34 2011 UTC (13 years, 5 months ago) by econte
Content type: text/plain
Branch: MAIN
CVS Tags: TBD2011, TBD_2011, HEAD
Log Message:
new IPHC alignment

File Contents

# User Rev Content
1 econte 1.1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_ProjectedRecHit2D_H
2     #define RECOTRACKER_TRANSIENTRACKINGRECHIT_ProjectedRecHit2D_H
3    
4     #include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h"
5     #include "TrackingTools/TransientTrackingRecHit/interface/GenericTransientTrackingRecHit.h"
6     #include "TrackingTools/TransientTrackingRecHit/interface/HelpertRecHit2DLocalPos.h"
7     #include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h"
8    
9     class SiStripRecHit2D;
10    
11     class ProjectedRecHit2D : public GenericTransientTrackingRecHit {
12     public:
13    
14     virtual void getKfComponents( KfComponentsHolder & holder ) const {
15     HelpertRecHit2DLocalPos().getKfComponents(holder, *hit(), *det());
16     }
17    
18    
19     virtual AlgebraicSymMatrix parametersError() const {
20     return HelpertRecHit2DLocalPos().parError( localPositionError(), *det());
21     }
22    
23     const GeomDetUnit* detUnit() const {return 0;}
24     const GeomDet* originalDet() const {return theOriginalDet;}
25    
26     static RecHitPointer build( const GeomDet * geom,
27     const GeomDet* originaldet,
28     const ProjectedSiStripRecHit2D* rh,
29     const StripClusterParameterEstimator* cpe,
30     float weight=1., float annealing=1.,
31     bool computeCoarseLocalPosition=false) {
32     return RecHitPointer( new ProjectedRecHit2D( geom, originaldet, rh, cpe, weight, annealing, computeCoarseLocalPosition));
33     }
34    
35     static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
36     const GeomDet* det, const GeomDet* originaldet,
37     const TransientTrackingRecHit& originalHit,
38     float weight=1., float annealing=1.) {
39     return RecHitPointer( new ProjectedRecHit2D( pos, err, det, originaldet, originalHit, weight, annealing));
40     }
41    
42     RecHitPointer clone( const TrajectoryStateOnSurface& ts) const;
43    
44     const SiStripRecHit2D& originalHit() const { return static_cast<const ProjectedSiStripRecHit2D*>( hit() )->originalHit();}
45    
46     virtual ConstRecHitContainer transientHits () const;
47    
48     private:
49     const StripClusterParameterEstimator* theCPE;
50     const GeomDet* theOriginalDet;
51    
52     ProjectedRecHit2D( const LocalPoint& pos, const LocalError& err,
53     const GeomDet* det, const GeomDet* originaldet,
54     const TransientTrackingRecHit& originalHit,
55     float weight, float annealing);
56    
57     ProjectedRecHit2D( const GeomDet * geom, const GeomDet* originaldet,
58     const ProjectedSiStripRecHit2D* rh,
59     const StripClusterParameterEstimator* cpe,
60     float weight, float annealing,
61     bool computeCoarseLocalPosition);
62    
63     virtual ProjectedRecHit2D* clone() const {
64     return new ProjectedRecHit2D(*this);
65     }
66    
67     };
68    
69    
70    
71     #endif