File indexing completed on 2024-04-06 12:31:34
0001 #ifndef TSCPBuilderNoMaterial_H
0002 #define TSCPBuilderNoMaterial_H
0003
0004 #include "TrackingTools/PatternTools/interface/TrajectoryStateClosestToPointBuilder.h"
0005 #include "DataFormats/GeometryVector/interface/GlobalTag.h"
0006 #include "DataFormats/GeometryVector/interface/Point3DBase.h"
0007 #include "DataFormats/GeometryVector/interface/Vector3DBase.h"
0008 #include "FWCore/Utilities/interface/Visibility.h"
0009
0010
0011
0012
0013
0014
0015
0016
0017 class TSCPBuilderNoMaterial final : public TrajectoryStateClosestToPointBuilder {
0018 public:
0019 ~TSCPBuilderNoMaterial() override {}
0020
0021 TrajectoryStateClosestToPoint operator()(const FTS& originalFTS, const GlobalPoint& referencePoint) const override;
0022
0023 TrajectoryStateClosestToPoint operator()(const TSOS& originalTSOS, const GlobalPoint& referencePoint) const override;
0024
0025 private:
0026 typedef Point3DBase<double, GlobalTag> GlobalPointDouble;
0027 typedef Vector3DBase<double, GlobalTag> GlobalVectorDouble;
0028 typedef std::pair<bool, FreeTrajectoryState> PairBoolFTS;
0029
0030 PairBoolFTS createFTSatTransverseImpactPoint(const FTS& originalFTS,
0031 const GlobalPoint& referencePoint) const dso_internal;
0032
0033 PairBoolFTS createFTSatTransverseImpactPointCharged(const FTS& originalFTS,
0034 const GlobalPoint& referencePoint) const dso_internal;
0035
0036 PairBoolFTS createFTSatTransverseImpactPointNeutral(const FTS& originalFTS,
0037 const GlobalPoint& referencePoint) const dso_internal;
0038 };
0039 #endif