CMS 3D CMS Logo

FindingFoos.h
Go to the documentation of this file.
1 #ifndef RecoTracker_MkFitCore_src_FindingFoos_h
2 #define RecoTracker_MkFitCore_src_FindingFoos_h
3 
4 #include "Matrix.h"
5 
6 namespace mkfit {
7 
8  class MkBase;
9  class PropagationFlags;
10 
11 #define COMPUTE_CHI2_ARGS \
12  const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, \
13  MPlexQI &, const int, const PropagationFlags &, const bool
14 
15 #define UPDATE_PARAM_ARGS \
16  const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, MPlexQI &, \
17  const int, const PropagationFlags &, const bool
18 
19  class FindingFoos {
20  public:
24 
26 
27  FindingFoos(void (*cch2_f)(COMPUTE_CHI2_ARGS),
28  void (*updp_f)(UPDATE_PARAM_ARGS),
29  void (MkBase::*p_f)(float, const int, const PropagationFlags &))
30  : m_compute_chi2_foo(cch2_f), m_update_param_foo(updp_f), m_propagate_foo(p_f) {}
31 
32  static const FindingFoos &get_barrel_finding_foos();
33  static const FindingFoos &get_endcap_finding_foos();
34  static const FindingFoos &get_finding_foos(bool is_barrel);
35  };
36 
37 } // end namespace mkfit
38 
39 #endif
void(MkBase::* m_propagate_foo)(float, const int, const PropagationFlags &)
Definition: FindingFoos.h:23
void(* m_compute_chi2_foo)(const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, MPlexQI &, const int, const PropagationFlags &, const bool)
Definition: FindingFoos.h:21
static const FindingFoos & get_endcap_finding_foos()
Definition: FindingFoos.cc:16
#define UPDATE_PARAM_ARGS
Definition: FindingFoos.h:15
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
FindingFoos(void(*cch2_f)(const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, MPlexQI &, const int, const PropagationFlags &, const bool), void(*updp_f)(const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, MPlexQI &, const int, const PropagationFlags &, const bool), void(MkBase::*p_f)(float, const int, const PropagationFlags &))
Definition: FindingFoos.h:27
void(* m_update_param_foo)(const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, MPlexQI &, const int, const PropagationFlags &, const bool)
Definition: FindingFoos.h:22
static const FindingFoos & get_finding_foos(bool is_barrel)
Definition: FindingFoos.cc:18
static const FindingFoos & get_barrel_finding_foos()
Definition: FindingFoos.cc:15
#define COMPUTE_CHI2_ARGS
Definition: FindingFoos.h:11