19#include "BDSFieldMagDipoleHardEdgeMuonCooler.hh"
20#include "BDSMagnetStrength.hh"
21#include "BDSUtilities.hh"
24#include "G4ThreeVector.hh"
27#include "CLHEP/Units/PhysicalConstants.h"
28#include "CLHEP/Units/SystemOfUnits.h"
33BDSFieldMagDipoleHardEdgeMuonCooler::BDSFieldMagDipoleHardEdgeMuonCooler(G4double strength,
34 G4double apertureRadius,
38 halfLength(0.5*coilLength),
43 const G4double )
const
45 G4double z = position.z();
46 G4double rho = position.perp();
50 if (rho >
D*0.5 || std::abs(z) > halfLength)
51 {
return G4ThreeVector();}
55 G4ThreeVector result = G4ThreeVector(0,By,0);
G4double D
Private default constructor to ensure use of supplied constructor.
virtual G4ThreeVector GetField(const G4ThreeVector &position, const G4double t=0) const
Calculate the field value.