EIC Software
Reference for
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
PHTpcTracker.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file PHTpcTracker.h
1
7
#ifndef PHTPCTRACKER_H_
8
#define PHTPCTRACKER_H_
9
10
// sPHENIX includes
11
12
#include <
trackreco/PHTrackSeeding.h
>
13
14
#include <cmath>
// for M_PI
15
#include <cstddef>
// for size_t
16
#include <string>
// for string
17
18
class
PHCompositeNode
;
19
class
PHField
;
20
class
TGeoManager;
21
class
PHTpcSeedFinder
;
22
class
PHTpcTrackFollower
;
23
class
PHTpcVertexFinder
;
24
class
PHTpcEventExporter
;
25
class
PHTpcLookup
;
26
27
namespace
PHGenFit2
28
{
29
class
Fitter;
30
}
31
36
class
PHTpcTracker
:
public
PHTrackSeeding
37
{
38
public
:
39
PHTpcTracker
(
const
std::string&
name
=
"PHTpcTracker"
);
40
~PHTpcTracker
()
override
;
41
42
void
set_seed_finder_options
(
double
maxdistance1 = 3.0,
double
tripletangle1 =
M_PI
/ 8,
size_t
minhits1 = 10,
43
double
maxdistance2 = 6.0,
double
tripletangle2 =
M_PI
/ 8,
size_t
minhits2 = 5,
size_t
nthreads = 1);
44
void
set_seed_finder_optimization_remove_loopers
(
bool
opt =
false
,
double
minr = 10.0,
double
maxr = 70.0);
45
void
set_track_follower_optimization_helix
(
bool
opt =
false
);
46
void
set_track_follower_optimization_precise_fit
(
bool
opt =
true
);
47
48
PHTpcSeedFinder
*
get_seed_finder
() {
return
mSeedFinder
; }
49
PHTpcTrackFollower
*
get_track_follower
() {
return
mTrackFollower
; }
50
PHTpcVertexFinder
*
get_vertex_finder
() {
return
mVertexFinder
; }
51
PHTpcEventExporter
*
get_event_exporter
() {
return
mEventExporter
; }
52
53
void
enable_vertexing
(
bool
opt =
false
) {
mEnableVertexing
= opt; }
54
void
enable_json_export
(
bool
opt =
false
) {
mEnableJsonExport
= opt; }
55
56
protected
:
57
int
Setup
(
PHCompositeNode
* topNode)
override
;
58
59
int
Process
(
PHCompositeNode
* topNode)
override
;
60
61
int
End
()
override
{
return
0;}
62
63
PHField
*
getMagField
(
PHCompositeNode
* topNode,
double
& B);
64
65
private
:
66
PHTpcSeedFinder
*
mSeedFinder
;
67
PHTpcTrackFollower
*
mTrackFollower
;
68
PHTpcVertexFinder
*
mVertexFinder
;
69
PHTpcEventExporter
*
mEventExporter
;
70
PHTpcLookup
*
mLookup
;
71
72
PHGenFit2::Fitter
*
mFitter
;
73
TGeoManager*
mTGeoManager
;
74
PHField
*
mField
;
75
double
mB
;
76
77
bool
mEnableVertexing
;
78
bool
mEnableJsonExport
;
79
};
80
81
#endif
/* __PHTPCTRACKER_H */
fun4all_coresoftware
blob
master
offline
packages
PHTpcTracker
PHTpcTracker.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:45
using
1.8.2 with
EIC GitHub integration