Geant4-11
Public Member Functions | Static Public Attributes | Private Attributes
G4TUniformMagneticField Class Reference

#include <G4TUniformMagneticField.hh>

Inheritance diagram for G4TUniformMagneticField:
G4MagneticField G4Field

Public Member Functions

virtual G4TUniformMagneticFieldClone () const
 
G4bool DoesFieldChangeEnergy () const
 
 G4TUniformMagneticField (const G4ThreeVector &FieldVector)
 
 G4TUniformMagneticField (const G4TUniformMagneticField &p)
 
 G4TUniformMagneticField (G4double vField, G4double vTheta, G4double vPhi)
 
G4ThreeVector GetConstantFieldValue () const
 
void GetFieldValue (const G4double yTrack[4], G4double *B) const
 
G4bool IsGravityActive () const
 
G4TUniformMagneticFieldoperator= (const G4TUniformMagneticField &p)
 
void SetFieldValue (const G4ThreeVector &newFieldVector)
 
void SetGravityActive (G4bool OnOffFlag)
 
virtual ~G4TUniformMagneticField ()
 

Static Public Attributes

static constexpr G4int MAX_NUMBER_OF_COMPONENTS = 24
 

Private Attributes

G4double fFieldComponents [3]
 
G4bool fGravityActive = false
 

Detailed Description

Definition at line 34 of file G4TUniformMagneticField.hh.

Constructor & Destructor Documentation

◆ G4TUniformMagneticField() [1/3]

G4TUniformMagneticField::G4TUniformMagneticField ( const G4ThreeVector FieldVector)
inline

Definition at line 38 of file G4TUniformMagneticField.hh.

40 {
41 fFieldComponents[0] = FieldVector.x();
42 fFieldComponents[1] = FieldVector.y();
43 fFieldComponents[2] = FieldVector.z();
44 }
double z() const
double x() const
double y() const

References fFieldComponents, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

Referenced by Clone().

◆ G4TUniformMagneticField() [2/3]

G4TUniformMagneticField::G4TUniformMagneticField ( G4double  vField,
G4double  vTheta,
G4double  vPhi 
)
inline

Definition at line 47 of file G4TUniformMagneticField.hh.

50 {
51 if ( (vField<0) || (vTheta<0) || (vTheta>pi) || (vPhi<0) || (vPhi>twopi) )
52 {
53 G4Exception("G4TUniformMagneticField::G4TUniformMagneticField()",
54 "GeomField0002", FatalException, "Invalid parameters.") ;
55 }
56 fFieldComponents[0] = vField*std::sin(vTheta)*std::cos(vPhi) ;
57 fFieldComponents[1] = vField*std::sin(vTheta)*std::sin(vPhi) ;
58 fFieldComponents[2] = vField*std::cos(vTheta) ;
59 }
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
static constexpr double twopi
Definition: G4SIunits.hh:56
static constexpr double pi
Definition: G4SIunits.hh:55

References FatalException, fFieldComponents, G4Exception(), pi, and twopi.

◆ ~G4TUniformMagneticField()

virtual G4TUniformMagneticField::~G4TUniformMagneticField ( )
inlinevirtual

Definition at line 61 of file G4TUniformMagneticField.hh.

61{;}

◆ G4TUniformMagneticField() [3/3]

G4TUniformMagneticField::G4TUniformMagneticField ( const G4TUniformMagneticField p)
inline

Definition at line 63 of file G4TUniformMagneticField.hh.

65 {
66 for (G4int i=0; i<3; ++i)
68 }
int G4int
Definition: G4Types.hh:85

References fFieldComponents.

Member Function Documentation

◆ Clone()

virtual G4TUniformMagneticField * G4TUniformMagneticField::Clone ( ) const
inlinevirtual

Reimplemented from G4Field.

Definition at line 103 of file G4TUniformMagneticField.hh.

104 {
106 this->fFieldComponents[1],
107 this->fFieldComponents[2]) );
108 }
CLHEP::Hep3Vector G4ThreeVector
G4TUniformMagneticField(const G4ThreeVector &FieldVector)

References fFieldComponents, and G4TUniformMagneticField().

◆ DoesFieldChangeEnergy()

G4bool G4MagneticField::DoesFieldChangeEnergy ( ) const
inlinevirtualinherited

Implements G4Field.

Definition at line 52 of file G4MagneticField.hh.

52{ return false; }

Referenced by export_G4MagneticField().

◆ GetConstantFieldValue()

G4ThreeVector G4TUniformMagneticField::GetConstantFieldValue ( ) const
inline

Definition at line 94 of file G4TUniformMagneticField.hh.

95 {
99 return B;
100 }
G4double B(G4double temperature)

References B(), and fFieldComponents.

◆ GetFieldValue()

void G4TUniformMagneticField::GetFieldValue ( const G4double  yTrack[4],
G4double B 
) const
inlinevirtual

Implements G4MagneticField.

Definition at line 79 of file G4TUniformMagneticField.hh.

81 {
82 B[0]= fFieldComponents[0] ;
83 B[1]= fFieldComponents[1] ;
84 B[2]= fFieldComponents[2] ;
85 }

References B(), and fFieldComponents.

◆ 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().

◆ operator=()

G4TUniformMagneticField & G4TUniformMagneticField::operator= ( const G4TUniformMagneticField p)
inline

Definition at line 70 of file G4TUniformMagneticField.hh.

72 {
73 if (&p == this) return *this;
74 for (G4int i=0; i<3; ++i)
76 return *this;
77 }

References fFieldComponents.

◆ SetFieldValue()

void G4TUniformMagneticField::SetFieldValue ( const G4ThreeVector newFieldVector)
inline

Definition at line 87 of file G4TUniformMagneticField.hh.

88 {
89 fFieldComponents[0] = newFieldVector.x();
90 fFieldComponents[1] = newFieldVector.y();
91 fFieldComponents[2] = newFieldVector.z();
92 }

References fFieldComponents, CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().

◆ 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

◆ fFieldComponents

G4double G4TUniformMagneticField::fFieldComponents[3]
private

◆ fGravityActive

G4bool G4Field::fGravityActive = false
privateinherited

◆ 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 file: