20#include "BDSFieldMagDipoleHardEdgeMuonCooler.hh"
21#include "BDSMagnetStrength.hh"
22#include "BDSUtilities.hh"
25#include "G4ThreeVector.hh"
28#include "CLHEP/Units/PhysicalConstants.h"
29#include "CLHEP/Units/SystemOfUnits.h"
34BDSFieldMagDipoleHardEdgeMuonCooler::BDSFieldMagDipoleHardEdgeMuonCooler(G4double strength,
35 G4double apertureRadius,
39 halfLength(0.5*coilLength),
44 const G4double )
const
46 G4double z = position.z();
47 G4double rho = position.perp();
51 if (rho >
D*0.5 || std::abs(z) > halfLength)
52 {
return G4ThreeVector();}
56 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.