File indexing completed on 2024-04-06 12:26:15
0001 #ifndef RecoLocalTracker_Fake_StripCluster_Parameter_Estimator_H
0002 #define RecoLocalTracker_Fake_StripCluster_Parameter_Estimator_H
0003
0004 #include "DataFormats/GeometrySurface/interface/LocalError.h"
0005 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0006
0007 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
0008 #include "DataFormats/TrajectoryState/interface/LocalTrajectoryParameters.h"
0009 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
0010
0011 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
0012 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
0013 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementPoint.h"
0014 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementError.h"
0015
0016 #include "CommonTools/Utils/interface/DynArray.h"
0017 #include "FWCore/Utilities/interface/Exception.h"
0018
0019 #include "RecoLocalTracker/ClusterParameterEstimator/interface/FakeCPE.h"
0020 #include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h"
0021
0022 class StripFakeCPE final : public StripClusterParameterEstimator {
0023 public:
0024 StripFakeCPE() = default;
0025 ~StripFakeCPE() override = default;
0026
0027 using LocalValues = std::pair<LocalPoint, LocalError>;
0028
0029 LocalValues localParameters(const SiStripCluster& cl, const GeomDetUnit& gd) const override {
0030 return fakeCPE().map().get(cl, gd);
0031 }
0032
0033
0034 LocalVector driftDirection(const StripGeomDetUnit*) const override { return LocalVector(); }
0035
0036 void setFakeCPE(FakeCPE* iFakeCPE) { m_fakeCPE = iFakeCPE; }
0037 FakeCPE const& fakeCPE() const { return *m_fakeCPE; }
0038
0039 private:
0040 FakeCPE const* m_fakeCPE = nullptr;
0041 };
0042
0043 #endif