CMS 3D CMS Logo

MTDClusterParameterEstimator.h
Go to the documentation of this file.
1 #ifndef RecoLocalFastTime_MTDCluster_Parameter_Estimator_H
2 #define RecoLocalFastTime_MTDCluster_Parameter_Estimator_H
3 
6 
10 
12 
13 #include<tuple>
14 
16 {
17  public:
18 
20 
21  typedef std::pair<LocalPoint,LocalError> LocalValues;
22  typedef std::vector<LocalValues> VLocalValues;
23 
24  typedef float TimeValue;
25  typedef float TimeValueError;
26 
27  using ReturnType = std::tuple<LocalPoint,LocalError,TimeValue,TimeValueError>;
28 
29  // here just to implement it in the clients;
30  // to be properly implemented in the sub-classes in order to make them thread-safe
31 
32  virtual ReturnType getParameters(const FTLCluster & cl,
33  const GeomDetUnit & det) const =0;
34 
35  virtual ReturnType getParameters(const FTLCluster & cl,
36  const GeomDetUnit & det,
37  const LocalTrajectoryParameters & ltp ) const =0;
38 
40  const GeomDetUnit & det,
41  const TrajectoryStateOnSurface& tsos ) const {
42  return getParameters(cl,det,tsos.localParameters());
43  }
44 
45  virtual VLocalValues localParametersV(const FTLCluster& cluster, const GeomDetUnit& gd) const {
46  VLocalValues vlp;
47  ReturnType tuple = getParameters(cluster, gd);
48  vlp.emplace_back(std::get<0>(tuple), std::get<1>(tuple));
49  return vlp;
50  }
51  virtual VLocalValues localParametersV(const FTLCluster& cluster, const GeomDetUnit& gd, TrajectoryStateOnSurface& tsos) const {
52  VLocalValues vlp;
53  ReturnType tuple = getParameters(cluster, gd, tsos);
54  vlp.emplace_back(std::get<0>(tuple), std::get<1>(tuple));
55  return vlp;
56  }
57 
58 
60 
61 };
62 
63 #endif
virtual VLocalValues localParametersV(const FTLCluster &cluster, const GeomDetUnit &gd, TrajectoryStateOnSurface &tsos) const
const LocalTrajectoryParameters & localParameters() const
virtual ReturnType getParameters(const FTLCluster &cl, const GeomDetUnit &det, const TrajectoryStateOnSurface &tsos) const
std::vector< LocalValues > VLocalValues
virtual VLocalValues localParametersV(const FTLCluster &cluster, const GeomDetUnit &gd) const
std::tuple< LocalPoint, LocalError, TimeValue, TimeValueError > ReturnType
std::pair< LocalPoint, LocalError > LocalValues
virtual ReturnType getParameters(const FTLCluster &cl, const GeomDetUnit &det) const =0