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 
10 #define COMPUTE_CHI2_ARGS \
11  const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, \
12  const int, const PropagationFlags, const bool
13 
14 #define UPDATE_PARAM_ARGS \
15  const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, const int, \
16  const PropagationFlags, const bool
17 
18  class FindingFoos {
19  public:
23 
25 
26  FindingFoos(void (*cch2_f)(COMPUTE_CHI2_ARGS),
27  void (*updp_f)(UPDATE_PARAM_ARGS),
28  void (MkBase::*p_f)(float, const int, const PropagationFlags))
29  : m_compute_chi2_foo(cch2_f), m_update_param_foo(updp_f), m_propagate_foo(p_f) {}
30 
31  static const FindingFoos &get_barrel_finding_foos();
32  static const FindingFoos &get_endcap_finding_foos();
33  static const FindingFoos &get_finding_foos(bool is_barrel);
34  };
35 
36 } // end namespace mkfit
37 
38 #endif
FindingFoos(void(*cch2_f)(const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, const int, const PropagationFlags, const bool), void(*updp_f)(const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, const int, const PropagationFlags, const bool), void(MkBase::*p_f)(float, const int, const PropagationFlags))
Definition: FindingFoos.h:26
void(MkBase::* m_propagate_foo)(float, const int, const PropagationFlags)
Definition: FindingFoos.h:22
static const FindingFoos & get_endcap_finding_foos()
Definition: FindingFoos.cc:16
#define UPDATE_PARAM_ARGS
Definition: FindingFoos.h:14
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
void(* m_compute_chi2_foo)(const MPlexLS &, const MPlexLV &, const MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLV &, const int, const PropagationFlags, const bool)
Definition: FindingFoos.h:20
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:10
void(* m_update_param_foo)(const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexLS &, MPlexLV &, const int, const PropagationFlags, const bool)
Definition: FindingFoos.h:21