ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/IPHCalignment2/TrackingTools/PatternTools/interface/TSCPBuilderNoMaterial.h
Revision: 1.1
Committed: Fri Nov 25 16:38:23 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 TSCPBuilderNoMaterial_H
2     #define TSCPBuilderNoMaterial_H
3    
4     #include "TrackingTools/PatternTools/interface/TrajectoryStateClosestToPointBuilder.h"
5     #include "DataFormats/GeometryVector/interface/GlobalTag.h"
6     #include "DataFormats/GeometryVector/interface/Point3DBase.h"
7     #include "DataFormats/GeometryVector/interface/Vector3DBase.h"
8    
9     /**
10     * This class builds a TrajectoryStateClosestToPoint given an original
11     * TrajectoryStateOnSurface or FreeTrajectoryState. This new state is then
12     * defined at the point of closest approach to the reference point.
13     * In case the propagation was not successful, this state can be invalid.
14     */
15    
16     class TSCPBuilderNoMaterial :
17     public TrajectoryStateClosestToPointBuilder
18     {
19     public:
20    
21     virtual ~TSCPBuilderNoMaterial(){}
22    
23     virtual TrajectoryStateClosestToPoint operator()
24     (const FTS& originalFTS, const GlobalPoint& referencePoint) const;
25    
26     virtual TrajectoryStateClosestToPoint operator()
27     (const TSOS& originalTSOS, const GlobalPoint& referencePoint) const;
28    
29     private:
30    
31     typedef Point3DBase< double, GlobalTag> GlobalPointDouble;
32     typedef Vector3DBase< double, GlobalTag> GlobalVectorDouble;
33     typedef std::pair<bool, FreeTrajectoryState> PairBoolFTS;
34    
35     PairBoolFTS createFTSatTransverseImpactPoint(const FTS& originalFTS,
36     const GlobalPoint& referencePoint) const;
37    
38     PairBoolFTS createFTSatTransverseImpactPointCharged(const FTS& originalFTS,
39     const GlobalPoint& referencePoint) const;
40    
41     PairBoolFTS createFTSatTransverseImpactPointNeutral(const FTS& originalFTS,
42     const GlobalPoint& referencePoint) const;
43     };
44     #endif