ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
CellularAutomaton.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file CellularAutomaton.h
1
#ifndef TRACKRECO_CELLULARAUTOMATON_H
2
#define TRACKRECO_CELLULARAUTOMATON_H
3
4
5
#include <HelixHough/SimpleHit3D.h>
6
#include <HelixHough/SimpleTrack3D.h>
7
#include <HelixHough/HelixKalmanState.h>
8
9
#include <climits>
10
#include <cmath>
11
#include <map>
12
#include <set>
13
14
class
HelixKalmanState
;
15
class
HelixHoughSpace
;
16
17
class
CellularAutomaton
{
18
19
public
:
20
virtual
~CellularAutomaton
() {};
21
22
// The "standard PHObject response" functions...
23
virtual
void
identify
(std::ostream &os=std::cout)
const
{
24
os <<
"CellularAutomaton base class"
<< std::endl;
25
}
26
virtual
void
Reset
() {}
27
virtual
int
isValid
()
const
{
return
0;}
28
virtual
CellularAutomaton
*
Clone
()
const
{
return
nullptr
;}
29
30
virtual
void
set_hough_space
(
HelixHoughSpace
*) {}
31
virtual
void
set_mag_field
(
float
) {}
32
virtual
void
set_pt_rescale
(
float
) {}
33
virtual
void
set_n_layers
(
unsigned
int
) {}
34
virtual
void
set_required_layers
(
unsigned
int
) {}
35
virtual
void
set_ca_chi2
(
float
) {}
36
virtual
void
set_ca_chi2_layer
(
float
) {}
37
virtual
void
set_ca_phi_cut
(
float
) {}
38
virtual
void
set_ca_z_cut
(
float
) {}
39
virtual
void
set_ca_dcaxy_cut
(
float
) {}
40
virtual
void
set_propagate_forward
(
bool
) {}
41
virtual
void
set_remove_hits
(
bool
) {}
42
virtual
void
set_remove_inner_hits
(
bool
) {}
43
virtual
void
set_require_inner_hits
(
bool
) {}
44
virtual
void
set_triplet_mode
(
bool
) {}
45
virtual
void
set_seeding_mode
(
bool
) {}
46
virtual
void
set_hits_map
(std::map<unsigned int, SimpleHit3D>&) {}
47
48
virtual
int
run
(std::vector<SimpleTrack3D>&, std::vector<HelixKalmanState>&, std::map<unsigned int, bool>&) {
return
0;}
49
50
private
:
51
52
virtual
void
set_detector_radii
(std::vector<float>&) {}
53
virtual
void
set_detector_material
(std::vector<float>&) {}
54
virtual
void
set_input_tracks
(std::vector<SimpleTrack3D>&) {}
55
virtual
void
set_cylinder_kalman
() {}
56
57
virtual
int
init
() {
return
0;}
58
virtual
int
process_tracks
() {
return
0;}
59
virtual
int
process_single_track
(
SimpleTrack3D
&) {
return
0;}
60
virtual
int
process_single_triplet
(
SimpleTrack3D
&) {
return
0;}
61
virtual
int
get_ca_tracks
(std::vector<SimpleTrack3D>&, std::vector<HelixKalmanState>&) {
return
0;}
62
63
virtual
int
calculate_kappa_tangents
(
64
float
,
float
,
float
,
float
,
float
,
float
,
65
float
,
float
,
float
,
66
float
,
float
,
float
,
float
,
float
,
float
,
67
float
,
float
,
float
,
68
float
&,
float
&,
69
float
&,
float
&,
float
&,
float
&,
70
float
&,
float
&,
float
&,
float
&) {
return
0;}
71
72
virtual
int
calculate_kappa_tangents
(
73
float
,
float
,
float
,
float
,
float
,
float
,
74
float
,
float
,
float
,
75
float
,
float
,
float
,
float
,
float
,
float
,
76
float
,
float
,
float
,
77
float
&,
float
&,
78
float
&,
float
&,
float
&,
float
&,
79
float
&,
float
&,
float
&,
float
&,
80
float
,
float
,
81
float
,
float
,
float
,
float
,
82
float
,
float
&) {
return
0;}
83
84
virtual
float
shift_phi_range
(
float
){
return
0;};
85
86
87
protected
:
88
CellularAutomaton
(){}
89
90
};
91
92
#endif
coresoftware
blob
master
offline
packages
trackreco
CellularAutomaton.h
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:24:38
using
1.8.2 with
ECCE GitHub integration