1 #ifndef G4HOUGH_CELLULARAUTOMATONV1_H
2 #define G4HOUGH_CELLULARAUTOMATONV1_H
6 #include <HelixHough/SimpleHit3D.h>
7 #include <HelixHough/SimpleTrack3D.h>
9 #include <HelixHough/HelixKalmanState.h>
30 std::vector<unsigned int>
hits;
47 void identify(std::ostream& = std::cout)
const override {};
48 void Reset()
override;
71 int run(std::vector<SimpleTrack3D>& output_tracks, std::vector<HelixKalmanState>& output_track_states, std::map<unsigned int, bool>& hits_used)
override;
85 int get_ca_tracks(std::vector<SimpleTrack3D>& output_tracks, std::vector<HelixKalmanState>& output_track_states)
override;
88 float x1,
float y1,
float z1,
float x2,
float y2,
float z2,
89 float x3,
float y3,
float z3,
90 float dx1,
float dy1,
float dz1,
float dx2,
float dy2,
float dz2,
91 float dx3,
float dy3,
float dz3,
92 float& kappa,
float& dkappa,
93 float& ux_mid,
float& uy_mid,
float& ux_end,
float& uy_end,
94 float& dzdl_1,
float& dzdl_2,
float& ddzdl_1,
float& ddzdl_2)
override;
96 float x1,
float y1,
float z1,
float x2,
float y2,
float z2,
97 float x3,
float y3,
float z3,
98 float dx1,
float dy1,
float dz1,
float dx2,
float dy2,
float dz2,
99 float dx3,
float dy3,
float dz3,
100 float& kappa,
float& dkappa,
101 float& ux_mid,
float& uy_mid,
float& ux_end,
float& uy_end,
102 float& dzdl_1,
float& dzdl_2,
float& ddzdl_1,
float& ddzdl_2,
103 float ca_sin_ang_cut,
float inv_cos_ang_diff,
104 float cur_kappa,
float cur_dkappa,
float cur_ux,
float cur_uy,
105 float cur_chi2,
float& chi2)
override;
117 std::set<std::vector<unsigned int> >
combos;