BDSIM
BDSIM is a Geant4 extension toolkit for simulation of particle transport in accelerator beamlines.
Loading...
Searching...
No Matches
__w
bdsim
bdsim
include
BDSIntegratorSolenoid.hh
1
/*
2
Beam Delivery Simulation (BDSIM) Copyright (C) BDSIM Collaboration, 2001 - 2026.
3
4
This file is part of BDSIM.
5
6
BDSIM is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published
8
by the Free Software Foundation version 3 of the License.
9
10
BDSIM is distributed in the hope that it will be useful, but
11
WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
GNU General Public License for more details.
14
15
You should have received a copy of the GNU General Public License
16
along with BDSIM. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
#ifndef BDSINTEGRATORSOLENOID_H
19
#define BDSINTEGRATORSOLENOID_H
20
21
#include "BDSIntegratorMag.hh"
22
23
#include "globals.hh"
24
25
class
G4Mag_EqRhs;
26
class
BDSMagnetStrength
;
27
38
class
BDSIntegratorSolenoid
:
public
BDSIntegratorMag
39
{
40
public
:
41
BDSIntegratorSolenoid
(
BDSMagnetStrength
const
* strength,
42
G4double brho,
43
G4Mag_EqRhs* eqOfMIn);
44
45
virtual
~BDSIntegratorSolenoid
(){;}
46
48
virtual
void
Stepper
(
const
G4double y[],
49
const
G4double dydx[],
50
const
G4double h,
51
G4double yOut[],
52
G4double yErr[]);
53
54
55
private
:
57
BDSIntegratorSolenoid
();
58
60
G4double
bField
;
61
};
62
63
#endif
BDSIntegratorMag
Common functionality to BDSIM integrators.
Definition
BDSIntegratorMag.hh:43
BDSIntegratorSolenoid
Integrator that ignores the field and uses the analytical solution to a solenoid.
Definition
BDSIntegratorSolenoid.hh:39
BDSIntegratorSolenoid::Stepper
virtual void Stepper(const G4double y[], const G4double dydx[], const G4double h, G4double yOut[], G4double yErr[])
Calculate the particle motion along step length l in the paraxial approximation.
Definition
BDSIntegratorSolenoid.cc:43
BDSIntegratorSolenoid::BDSIntegratorSolenoid
BDSIntegratorSolenoid()
Private default constructor to enforce use of supplied constructor.
BDSIntegratorSolenoid::bField
G4double bField
The field strength.
Definition
BDSIntegratorSolenoid.hh:60
BDSMagnetStrength
Efficient storage of magnet strengths.
Definition
BDSMagnetStrength.hh:44
Generated on Thu Nov 12 2026 21:36:59 for BDSIM by
1.9.8