Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4UniformGravityField Class Reference

G4UniformGravityField is a class for defining a uniform gravitation field. More...

#include <G4UniformGravityField.hh>

Inheritance diagram for G4UniformGravityField:

Public Member Functions

 G4UniformGravityField (const G4ThreeVector &FieldVector)
 G4UniformGravityField (const G4double gy=-9.81 *CLHEP::m/CLHEP::s/CLHEP::s)
 ~G4UniformGravityField () override=default
 G4UniformGravityField (const G4UniformGravityField &p)
G4UniformGravityFieldoperator= (const G4UniformGravityField &p)
G4bool DoesFieldChangeEnergy () const override
void GetFieldValue (const G4double Point[4], G4double *field) const override
G4FieldClone () const override
G4FieldType GetFieldType () const override
Public Member Functions inherited from G4Field
 G4Field (G4bool gravityOn=false)
virtual ~G4Field ()=default
 G4Field (const G4Field &p)=default
G4Fieldoperator= (const G4Field &p)
G4bool IsGravityActive () const
void SetGravityActive (G4bool OnOffFlag)

Additional Inherited Members

Static Public Attributes inherited from G4Field
static constexpr G4int MAX_NUMBER_OF_COMPONENTS = 24

Detailed Description

G4UniformGravityField is a class for defining a uniform gravitation field.

Definition at line 49 of file G4UniformGravityField.hh.

Constructor & Destructor Documentation

◆ G4UniformGravityField() [1/3]

G4UniformGravityField::G4UniformGravityField ( const G4ThreeVector & FieldVector)

Constructor for G4UniformGravityField, a field with value equal to 'FieldVector'.

Parameters
[in]FieldVectorThe field vector value.

Definition at line 38 of file G4UniformGravityField.cc.

39 : G4Field ( true ) // Gravity flag *on*
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
G4Field(G4bool gravityOn=false)
Definition G4Field.cc:33

Referenced by Clone(), G4UniformGravityField(), operator=(), and ~G4UniformGravityField().

◆ G4UniformGravityField() [2/3]

G4UniformGravityField::G4UniformGravityField ( const G4double gy = -9.81*CLHEP::m/CLHEP::s/CLHEP::s)

Alternative constructor for G4UniformGravityField.

Parameters
[in]gyThe gravitation field value (default is the Standard Gravitational field on earth's surface.

Definition at line 47 of file G4UniformGravityField.cc.

48 : G4Field ( true )
49{
50 fFieldComponents[0] = 0.0;
51 fFieldComponents[1] = gy;
52 fFieldComponents[2] = 0.0;
53}

◆ ~G4UniformGravityField()

G4UniformGravityField::~G4UniformGravityField ( )
overridedefault

Default Destructor.

◆ G4UniformGravityField() [3/3]

G4UniformGravityField::G4UniformGravityField ( const G4UniformGravityField & p)

Copy constructor and assignment operator.

Definition at line 55 of file G4UniformGravityField.cc.

56 : G4Field(p)
57{
58 for (auto i=0; i<3; ++i)
59 {
60 fFieldComponents[i] = p.fFieldComponents[i];
61 }
62}

Member Function Documentation

◆ Clone()

G4Field * G4UniformGravityField::Clone ( ) const
overridevirtual

Returns a pointer to a new allocated clone of this object.

Reimplemented from G4Field.

Definition at line 76 of file G4UniformGravityField.cc.

77{
78 return new G4UniformGravityField( G4ThreeVector(fFieldComponents[0],
79 fFieldComponents[1],
80 fFieldComponents[2]) );
81}
CLHEP::Hep3Vector G4ThreeVector
G4UniformGravityField(const G4ThreeVector &FieldVector)

◆ DoesFieldChangeEnergy()

G4bool G4UniformGravityField::DoesFieldChangeEnergy ( ) const
inlineoverridevirtual

The field can change track energy, so returning true.

Implements G4Field.

Definition at line 81 of file G4UniformGravityField.hh.

81{ return true; }

◆ GetFieldType()

G4FieldType G4UniformGravityField::GetFieldType ( ) const
inlineoverridevirtual

Returns the field type ID, 'kGravity'.

Reimplemented from G4Field.

Definition at line 96 of file G4UniformGravityField.hh.

96{ return kGravity; }
@ kGravity
gravity field

◆ GetFieldValue()

void G4UniformGravityField::GetFieldValue ( const G4double Point[4],
G4double * field ) const
overridevirtual

Returns the field value 'field' on given time 'Point'.

Implements G4Field.

Definition at line 85 of file G4UniformGravityField.cc.

87{
88 G[0]= fFieldComponents[0];
89 G[1]= fFieldComponents[1];
90 G[2]= fFieldComponents[2];
91}

◆ operator=()

G4UniformGravityField & G4UniformGravityField::operator= ( const G4UniformGravityField & p)

Definition at line 65 of file G4UniformGravityField.cc.

66{
67 if (&p == this) { return *this; }
69 for (auto i=0; i<3; ++i)
70 {
71 fFieldComponents[i] = p.fFieldComponents[i];
72 }
73 return *this;
74}
G4Field & operator=(const G4Field &p)
Definition G4Field.cc:38

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