Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:10:59

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 
0015 namespace Acts {
0016 
0017 class GeometryContext;
0018 class MagneticFieldContext;
0019 
0020 struct StepperPlainOptions {
0021   /// StepperPlainOptions with context
0022   StepperPlainOptions(const GeometryContext& gctx,
0023                       const MagneticFieldContext& mctx)
0024       : geoContext(gctx), magFieldContext(mctx) {}
0025 
0026   /// Context object for the geometry
0027   std::reference_wrapper<const GeometryContext> geoContext;
0028 
0029   /// Context object for the magnetic field
0030   std::reference_wrapper<const MagneticFieldContext> magFieldContext;
0031 
0032   /// Tolerance for the error of the integration
0033   double stepTolerance = 1e-4;
0034 
0035   /// Cut-off value for the step size
0036   double stepSizeCutOff = 0.;
0037 
0038   /// Absolute maximum step size
0039   double maxStepSize = 10 * Acts::UnitConstants::m;
0040 
0041   /// Maximum number of Runge-Kutta steps for the stepper step call
0042   unsigned int maxRungeKuttaStepTrials = 10000;
0043 
0044   struct Dense {
0045     /// Toggle between mean and mode evaluation of energy loss
0046     bool meanEnergyLoss = true;
0047 
0048     /// Boolean flag for inclusion of d(dEds)d(q/p) into energy loss
0049     bool includeGradient = true;
0050 
0051     /// Cut-off value for the momentum in SI units
0052     double momentumCutOff = 0.;
0053   } dense;
0054 };
0055 
0056 }  // namespace Acts