forked from sPHENIX-Collaboration/coresoftware
/
ActsTrackingGeometry.h
49 lines (40 loc) · 1.4 KB
/
ActsTrackingGeometry.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef TRACKRECO_ACTSTRACKINGGEOMETRY_H
#define TRACKRECO_ACTSTRACKINGGEOMETRY_H
#include <memory>
#include <Acts/Utilities/BinnedArray.hpp>
#include <Acts/Utilities/Definitions.hpp>
#include <Acts/Utilities/Logger.hpp>
#include <Acts/Geometry/TrackingGeometry.hpp>
#include <Acts/MagneticField/MagneticFieldContext.hpp>
#include <Acts/Utilities/CalibrationContext.hpp>
#include <ActsExamples/Plugins/BField/BFieldOptions.hpp>
/**
* A struct to carry around Acts geometry on node tree, so as to not put
* all of the MakeActsGeometry tree
*/
struct ActsTrackingGeometry{
ActsTrackingGeometry(){}
ActsTrackingGeometry(std::shared_ptr<const Acts::TrackingGeometry> tGeo,
ActsExamples::Options::BFieldVariant mag,
Acts::CalibrationContext calib,
Acts::GeometryContext geoCtxt,
Acts::MagneticFieldContext magFieldCtxt)
: tGeometry(tGeo)
, magField(mag)
, calibContext(calib)
, geoContext(geoCtxt)
, magFieldContext(magFieldCtxt)
{}
/// Tracking geometry and magnetic field, for fitter function
std::shared_ptr<const Acts::TrackingGeometry> tGeometry;
ActsExamples::Options::BFieldVariant magField;
/// Acts context, for Kalman options
Acts::CalibrationContext calibContext;
Acts::GeometryContext geoContext;
Acts::MagneticFieldContext magFieldContext;
double tpcSurfStepPhi;
double tpcSurfStepZ;
double mmSurfStepPhi;
double mmSurfStepZ;
};
#endif