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
Log Message:
new IPHC alignment

File Contents

# User Rev Content
1 econte 1.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