Geant4-11
Public Member Functions | Static Public Attributes | Private Attributes
G4QuadrupoleMagField Class Referenceabstract

#include <G4QuadrupoleMagField.hh>

Inheritance diagram for G4QuadrupoleMagField:
G4MagneticField G4Field

Public Member Functions

G4FieldClone () const
 
G4bool DoesFieldChangeEnergy () const
 
 G4QuadrupoleMagField (G4double pGradient)
 
 G4QuadrupoleMagField (G4double pGradient, G4ThreeVector pOrigin, G4RotationMatrix *pMatrix)
 
virtual void GetFieldValue (const G4double Point[4], G4double *Bfield) const =0
 
void GetFieldValue (const G4double yTrack[], G4double B[]) const
 
G4bool IsGravityActive () const
 
void SetGravityActive (G4bool OnOffFlag)
 
 ~G4QuadrupoleMagField ()
 

Static Public Attributes

static constexpr G4int MAX_NUMBER_OF_COMPONENTS = 24
 

Private Attributes

G4double fGradient = 0.0
 
G4bool fGravityActive = false
 
G4ThreeVector fOrigin = G4ThreeVector(0.0, 0.0, 0.0)
 
G4RotationMatrixfpMatrix = nullptr
 

Detailed Description

Definition at line 48 of file G4QuadrupoleMagField.hh.

Constructor & Destructor Documentation

◆ G4QuadrupoleMagField() [1/2]

G4QuadrupoleMagField::G4QuadrupoleMagField ( G4double  pGradient)

Definition at line 40 of file G4QuadrupoleMagField.cc.

41{
42 fGradient = pGradient;
44}
static G4RotationMatrix IdentityMatrix
G4RotationMatrix * fpMatrix

References fGradient, fpMatrix, and IdentityMatrix.

Referenced by Clone().

◆ G4QuadrupoleMagField() [2/2]

G4QuadrupoleMagField::G4QuadrupoleMagField ( G4double  pGradient,
G4ThreeVector  pOrigin,
G4RotationMatrix pMatrix 
)

Definition at line 48 of file G4QuadrupoleMagField.cc.

51{
52 fGradient = pGradient ;
53 fOrigin = pOrigin ;
54 fpMatrix = pMatrix ;
55}

References fGradient, fOrigin, and fpMatrix.

◆ ~G4QuadrupoleMagField()

G4QuadrupoleMagField::~G4QuadrupoleMagField ( )

Definition at line 66 of file G4QuadrupoleMagField.cc.

67{
68}

Member Function Documentation

◆ Clone()

G4Field * G4QuadrupoleMagField::Clone ( ) const
virtual

Reimplemented from G4Field.

Definition at line 59 of file G4QuadrupoleMagField.cc.

60{
62}
G4QuadrupoleMagField(G4double pGradient)

References fGradient, fOrigin, fpMatrix, and G4QuadrupoleMagField().

◆ DoesFieldChangeEnergy()

G4bool G4MagneticField::DoesFieldChangeEnergy ( ) const
inlinevirtualinherited

Implements G4Field.

Definition at line 52 of file G4MagneticField.hh.

52{ return false; }

Referenced by export_G4MagneticField().

◆ GetFieldValue() [1/2]

virtual void G4MagneticField::GetFieldValue ( const G4double  Point[4],
G4double Bfield 
) const
pure virtualinherited

◆ GetFieldValue() [2/2]

void G4QuadrupoleMagField::GetFieldValue ( const G4double  yTrack[],
G4double  B[] 
) const

Definition at line 72 of file G4QuadrupoleMagField.cc.

74{
75 // with displaced origin and rotation
76
77 G4ThreeVector r_global = G4ThreeVector(y[0] - fOrigin.x(),
78 y[1] - fOrigin.y(),
79 y[2] - fOrigin.z());
80
81 const G4ThreeVector r_local = (*fpMatrix) * r_global;
82 const G4ThreeVector B_local( fGradient * r_local.y(),
83 fGradient * r_local.x(), 0);
84 const G4ThreeVector B_global = fpMatrix->inverse() * B_local;
85
86 B[0] = B_global.x();
87 B[1] = B_global.y();
88 B[2] = B_global.z();
89}
G4double B(G4double temperature)
CLHEP::Hep3Vector G4ThreeVector
double z() const
double x() const
double y() const
HepRotation inverse() const

References B(), fGradient, fOrigin, fpMatrix, CLHEP::HepRotation::inverse(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

◆ IsGravityActive()

G4bool G4Field::IsGravityActive ( ) const
inlineinherited

Definition at line 101 of file G4Field.hh.

102{
103 return fGravityActive;
104}
G4bool fGravityActive
Definition: G4Field.hh:96

References G4Field::fGravityActive.

Referenced by G4CoupledTransportation::AlongStepGetPhysicalInteractionLength(), and G4RepleteEofM::G4RepleteEofM().

◆ SetGravityActive()

void G4Field::SetGravityActive ( G4bool  OnOffFlag)
inlineinherited

Definition at line 106 of file G4Field.hh.

107{
108 fGravityActive = OnOffFlag;
109}

References G4Field::fGravityActive.

Field Documentation

◆ fGradient

G4double G4QuadrupoleMagField::fGradient = 0.0
private

Definition at line 64 of file G4QuadrupoleMagField.hh.

Referenced by Clone(), G4QuadrupoleMagField(), and GetFieldValue().

◆ fGravityActive

G4bool G4Field::fGravityActive = false
privateinherited

◆ fOrigin

G4ThreeVector G4QuadrupoleMagField::fOrigin = G4ThreeVector(0.0, 0.0, 0.0)
private

Definition at line 65 of file G4QuadrupoleMagField.hh.

Referenced by Clone(), G4QuadrupoleMagField(), and GetFieldValue().

◆ fpMatrix

G4RotationMatrix* G4QuadrupoleMagField::fpMatrix = nullptr
private

Definition at line 66 of file G4QuadrupoleMagField.hh.

Referenced by Clone(), G4QuadrupoleMagField(), and GetFieldValue().

◆ MAX_NUMBER_OF_COMPONENTS

constexpr G4int G4Field::MAX_NUMBER_OF_COMPONENTS = 24
staticconstexprinherited

Definition at line 92 of file G4Field.hh.

Referenced by G4BFieldIntegrationDriver::CurvatureRadius().


The documentation for this class was generated from the following files: