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 #define COMPUTE_CHI2_AND_UPDATE_ARGS \
20  const MPlexLS &, const MPlexLV &, MPlexQI &, const MPlexHS &, const MPlexHV &, MPlexQF &, MPlexLS &, MPlexLV &, \
21  MPlexQI &, const int, const PropagationFlags, const bool
22 
23  class FindingFoos {
24  public:
28 
30 
31  FindingFoos(void (*cch2_f)(COMPUTE_CHI2_ARGS),
32  void (*updp_f)(UPDATE_PARAM_ARGS),
33  void (MkBase::*p_f)(float, const int, const PropagationFlags &))
34  : m_compute_chi2_foo(cch2_f), m_update_param_foo(updp_f), m_propagate_foo(p_f) {}
35 
36  static const FindingFoos &get_barrel_finding_foos();
37  static const FindingFoos &get_endcap_finding_foos();
38  static const FindingFoos &get_finding_foos(bool is_barrel);
39  };
40 
41 } // end namespace mkfit
42 
43 #endif
void(MkBase::* m_propagate_foo)(float, const int, const PropagationFlags &)
Definition: FindingFoos.h:27
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:25
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:31
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:26
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