Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-12 07:51:36

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #pragma once
0010 
0011 #include "Acts/Definitions/Units.hpp"
0012 
0013 #include <functional>
0014 #include <limits>
0015 
0016 namespace Acts {
0017 
0018 class GeometryContext;
0019 class MagneticFieldContext;
0020 
0021 struct StepperPlainOptions {
0022   /// StepperPlainOptions with context
0023   StepperPlainOptions(const GeometryContext& gctx,
0024                       const MagneticFieldContext& mctx)
0025       : geoContext(gctx), magFieldContext(mctx) {}
0026 
0027   /// Context object for the geometry
0028   std::reference_wrapper<const GeometryContext> geoContext;
0029 
0030   /// Context object for the magnetic field
0031   std::reference_wrapper<const MagneticFieldContext> magFieldContext;
0032 
0033   /// Tolerance for the error of the integration
0034   double stepTolerance = 1e-4;
0035 
0036   /// Cut-off value for the step size
0037   double stepSizeCutOff = 0.;
0038 
0039   /// Initial step size
0040   double initialStepSize = 10 * Acts::UnitConstants::m;
0041 
0042   /// Absolute maximum step size
0043   double maxStepSize = std::numeric_limits<double>::max();
0044 
0045   /// Maximum number of Runge-Kutta steps for the stepper step call
0046   unsigned int maxRungeKuttaStepTrials = 10000;
0047 
0048   struct Dense {
0049     /// Toggle between mean and mode evaluation of energy loss
0050     bool meanEnergyLoss = true;
0051 
0052     /// Boolean flag for inclusion of d(dEds)d(q/p) into energy loss
0053     bool includeGradient = true;
0054 
0055     /// Cut-off value for the momentum
0056     double momentumCutOff = 0.;
0057   } dense;
0058 };
0059 
0060 }  // namespace Acts