Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:16:58

0001 #ifndef TRACKBASE_ACTSTRACKINGGEOMETRY_H
0002 #define TRACKBASE_ACTSTRACKINGGEOMETRY_H
0003 
0004 
0005 #pragma GCC diagnostic push
0006 #ifdef __clang__
0007 #pragma GCC diagnostic ignored "-Wundefined-internal"
0008 #include <Acts/Definitions/Algebra.hpp>
0009 #endif
0010 #pragma GCC diagnostic pop
0011 
0012 #include <Acts/Geometry/TrackingGeometry.hpp>
0013 
0014 #include <Acts/MagneticField/MagneticFieldContext.hpp>
0015 #include <Acts/MagneticField/MagneticFieldProvider.hpp>
0016 
0017 #include <Acts/Utilities/BinnedArray.hpp>
0018 #include <Acts/Utilities/CalibrationContext.hpp>
0019 #include <Acts/Utilities/Logger.hpp>
0020 
0021 #include <memory>
0022 
0023 /**
0024  * A struct to carry around Acts geometry on node tree, so as to not put
0025  * all of the MakeActsGeometry tree
0026  */
0027 struct ActsTrackingGeometry
0028 {
0029   ActsTrackingGeometry() {}
0030   ActsTrackingGeometry(std::shared_ptr<const Acts::TrackingGeometry> tGeo,
0031                        // ActsTrackingGeometry(std::shared_ptr<Acts::TrackingGeometry> tGeo,
0032                        std::shared_ptr<Acts::MagneticFieldProvider> mag,
0033                        Acts::CalibrationContext calib,
0034                        Acts::GeometryContext geoCtxt,
0035                        Acts::MagneticFieldContext magFieldCtxt)
0036     : tGeometry(tGeo)
0037     , magField(mag)
0038     , calibContext(calib)
0039     , geoContext(geoCtxt)
0040     , magFieldContext(magFieldCtxt)
0041   {
0042   }
0043 
0044   /// Tracking geometry and magnetic field, for fitter function
0045   std::shared_ptr<const Acts::TrackingGeometry> tGeometry;
0046   // std::shared_ptr<Acts::TrackingGeometry> tGeometry;
0047 
0048   std::shared_ptr<Acts::MagneticFieldProvider> magField;
0049 
0050   /// Acts context, for Kalman options
0051   Acts::CalibrationContext calibContext;
0052   Acts::GeometryContext geoContext;
0053   Acts::MagneticFieldContext magFieldContext;
0054 
0055   const Acts::GeometryContext& getGeoContext() const
0056   {
0057     return geoContext;
0058   }
0059 
0060   Acts::GeometryContext& getGeoContext()
0061   {
0062     return geoContext;
0063   }
0064 
0065   double tpcSurfStepPhi = 0;
0066   double tpcSurfStepZ = 0;
0067 };
0068 
0069 #endif