CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/TrackingTools/PatternTools/interface/TSCPBuilderNoMaterial.h

Go to the documentation of this file.
00001 #ifndef TSCPBuilderNoMaterial_H
00002 #define TSCPBuilderNoMaterial_H
00003 
00004 #include "TrackingTools/PatternTools/interface/TrajectoryStateClosestToPointBuilder.h"
00005 #include "DataFormats/GeometryVector/interface/GlobalTag.h"
00006 #include "DataFormats/GeometryVector/interface/Point3DBase.h"
00007 #include "DataFormats/GeometryVector/interface/Vector3DBase.h"
00008 
00016 class TSCPBuilderNoMaterial : 
00017   public TrajectoryStateClosestToPointBuilder
00018 {
00019 public: 
00020 
00021   virtual ~TSCPBuilderNoMaterial(){}
00022 
00023   virtual TrajectoryStateClosestToPoint operator() 
00024     (const FTS& originalFTS, const GlobalPoint& referencePoint) const;
00025 
00026   virtual TrajectoryStateClosestToPoint operator() 
00027     (const TSOS& originalTSOS, const GlobalPoint& referencePoint) const;
00028 
00029 private:
00030 
00031   typedef Point3DBase< double, GlobalTag>       GlobalPointDouble;
00032   typedef Vector3DBase< double, GlobalTag>      GlobalVectorDouble;
00033   typedef std::pair<bool, FreeTrajectoryState>  PairBoolFTS;
00034   
00035   PairBoolFTS createFTSatTransverseImpactPoint(const FTS& originalFTS, 
00036       const GlobalPoint& referencePoint) const; 
00037   
00038   PairBoolFTS createFTSatTransverseImpactPointCharged(const FTS& originalFTS, 
00039       const GlobalPoint& referencePoint) const; 
00040   
00041   PairBoolFTS createFTSatTransverseImpactPointNeutral(const FTS& originalFTS, 
00042       const GlobalPoint& referencePoint) const; 
00043 };
00044 #endif