ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/RecoTracker/TransientTrackingRecHit/interface/TRecHit5DParamConstraint.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
Error occurred while calculating annotation data.
Log Message:
new IPHC alignment

File Contents

# Content
1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit5DParamConstraint_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit5DParamConstraint_H
3
4 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
5 #include "DataFormats/CLHEP/interface/Migration.h"
6
7 class GeomDetUnit;
8
9 class TRecHit5DParamConstraint : public TransientTrackingRecHit
10 {
11
12 private:
13
14 TRecHit5DParamConstraint( const TrajectoryStateOnSurface& tsos ) : tsos_( tsos ) {}
15
16 TRecHit5DParamConstraint( const TRecHit5DParamConstraint& other ) : tsos_( other.trajectoryState() ) {}
17
18 public:
19
20 virtual ~TRecHit5DParamConstraint() {}
21
22 virtual int dimension() const { return 5; }
23
24 virtual AlgebraicMatrix projectionMatrix() const {
25 AlgebraicMatrix projectionMatrix( 5, 5, 1 );
26 return projectionMatrix;
27 }
28
29 virtual AlgebraicVector parameters() const { return asHepVector( tsos_.localParameters().vector() ); }
30
31 virtual AlgebraicSymMatrix parametersError() const { return asHepMatrix( tsos_.localError().matrix() ); }
32
33 virtual LocalPoint localPosition() const { return tsos_.localPosition(); }
34
35 virtual LocalError localPositionError() const { return tsos_.localError().positionError(); }
36
37 virtual int charge() const { return tsos_.charge(); }
38
39 virtual bool canImproveWithTrack() const { return false; }
40
41 virtual const TrackingRecHit* hit() const { return 0; }
42
43 virtual std::vector<const TrackingRecHit*> recHits() const { return std::vector<const TrackingRecHit*>(); }
44
45 virtual std::vector<TrackingRecHit*> recHits() { return std::vector<TrackingRecHit*>(); }
46
47 virtual const GeomDetUnit* detUnit() const { return 0; }
48
49 virtual const GeomDet* det() const { return 0; }
50
51 virtual const Surface* surface() const { return &tsos_.surface(); }
52
53 virtual TransientTrackingRecHit::RecHitPointer clone( const TrajectoryStateOnSurface& tsos ) const {
54 //return new TRecHit5DParamConstraint( this->trajectoryState() );
55 return new TRecHit5DParamConstraint( tsos );
56 }
57
58 static TransientTrackingRecHit::RecHitPointer build( const TrajectoryStateOnSurface& tsos ) {
59 return RecHitPointer( new TRecHit5DParamConstraint( tsos ) );
60 }
61
62 private:
63
64 const TrajectoryStateOnSurface tsos_;
65
66 virtual TRecHit5DParamConstraint* clone() const {
67 return new TRecHit5DParamConstraint( this->trajectoryState() );
68 }
69
70 const TrajectoryStateOnSurface& trajectoryState() const { return tsos_; }
71
72 };
73
74 #endif