Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions
G4UniformMagField Class Reference

#include <G4UniformMagField.hh>

Inheritance diagram for G4UniformMagField:
G4MagneticField G4ElectroMagneticField G4Field ExErrorMagneticField ExN02MagneticField ExP01MagneticField

Public Member Functions

 G4UniformMagField (const G4ThreeVector &FieldVector)
 
 G4UniformMagField (G4double vField, G4double vTheta, G4double vPhi)
 
virtual ~G4UniformMagField ()
 
 G4UniformMagField (const G4UniformMagField &p)
 
G4UniformMagFieldoperator= (const G4UniformMagField &p)
 
virtual void GetFieldValue (const G4double yTrack[4], G4double *MagField) const
 
void SetFieldValue (const G4ThreeVector &newFieldValue)
 
G4ThreeVector GetConstantFieldValue () const
 
virtual G4UniformMagFieldClone () const
 
- Public Member Functions inherited from G4MagneticField
 G4MagneticField ()
 
virtual ~G4MagneticField ()
 
 G4MagneticField (const G4MagneticField &r)
 
G4MagneticFieldoperator= (const G4MagneticField &p)
 
G4bool DoesFieldChangeEnergy () const
 
- Public Member Functions inherited from G4ElectroMagneticField
 G4ElectroMagneticField ()
 
virtual ~G4ElectroMagneticField ()
 
 G4ElectroMagneticField (const G4ElectroMagneticField &r)
 
G4ElectroMagneticFieldoperator= (const G4ElectroMagneticField &p)
 
- Public Member Functions inherited from G4Field
 G4Field (G4bool gravityOn=false)
 
 G4Field (const G4Field &)
 
virtual ~G4Field ()
 
G4Fieldoperator= (const G4Field &p)
 
G4bool IsGravityActive () const
 
void SetGravityActive (G4bool OnOffFlag)
 

Detailed Description

Definition at line 49 of file G4UniformMagField.hh.

Constructor & Destructor Documentation

G4UniformMagField::G4UniformMagField ( const G4ThreeVector FieldVector)

Definition at line 39 of file G4UniformMagField.cc.

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

Referenced by Clone().

40 {
41  fFieldComponents[0] = FieldVector.x();
42  fFieldComponents[1] = FieldVector.y();
43  fFieldComponents[2] = FieldVector.z();
44 }
double x() const
double z() const
double y() const
G4UniformMagField::G4UniformMagField ( G4double  vField,
G4double  vTheta,
G4double  vPhi 
)

Definition at line 61 of file G4UniformMagField.cc.

References FatalException, G4Exception(), python.hepunit::pi, and python.hepunit::twopi.

64 {
65  if ( (vField<0) || (vTheta<0) || (vTheta>pi) || (vPhi<0) || (vPhi>twopi) )
66  {
67  G4Exception("G4UniformMagField::G4UniformMagField()",
68  "GeomField0002", FatalException, "Invalid parameters.") ;
69  }
70  fFieldComponents[0] = vField*std::sin(vTheta)*std::cos(vPhi) ;
71  fFieldComponents[1] = vField*std::sin(vTheta)*std::sin(vPhi) ;
72  fFieldComponents[2] = vField*std::cos(vTheta) ;
73 }
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4UniformMagField::~G4UniformMagField ( )
virtual

Definition at line 75 of file G4UniformMagField.cc.

76 {
77 }
G4UniformMagField::G4UniformMagField ( const G4UniformMagField p)

Definition at line 79 of file G4UniformMagField.cc.

80  : G4MagneticField(p)
81 {
82  for (G4int i=0; i<3; i++)
83  fFieldComponents[i] = p.fFieldComponents[i];
84 }
int G4int
Definition: G4Types.hh:78

Member Function Documentation

G4UniformMagField * G4UniformMagField::Clone ( ) const
virtual

Reimplemented from G4Field.

Definition at line 46 of file G4UniformMagField.cc.

References G4UniformMagField().

47 {
48  return new G4UniformMagField( G4ThreeVector(this->fFieldComponents[0],
49  this->fFieldComponents[1],
50  this->fFieldComponents[2]) );
51 }
CLHEP::Hep3Vector G4ThreeVector
G4UniformMagField(const G4ThreeVector &FieldVector)
G4ThreeVector G4UniformMagField::GetConstantFieldValue ( ) const

Definition at line 104 of file G4UniformMagField.cc.

Referenced by export_G4UniformMagField(), and G4GlobalMagFieldMessenger::GetFieldValue().

105 {
106  G4ThreeVector B(fFieldComponents[0],
107  fFieldComponents[1],
108  fFieldComponents[2]);
109  return B;
110 }
void G4UniformMagField::GetFieldValue ( const G4double  yTrack[4],
G4double MagField 
) const
virtual

Implements G4MagneticField.

Definition at line 96 of file G4UniformMagField.cc.

98 {
99  B[0]= fFieldComponents[0] ;
100  B[1]= fFieldComponents[1] ;
101  B[2]= fFieldComponents[2] ;
102 }
G4UniformMagField & G4UniformMagField::operator= ( const G4UniformMagField p)

Definition at line 86 of file G4UniformMagField.cc.

87 {
88  if (&p == this) return *this;
89  for (G4int i=0; i<3; i++)
90  fFieldComponents[i] = p.fFieldComponents[i];
91  return *this;
92 }
int G4int
Definition: G4Types.hh:78
void G4UniformMagField::SetFieldValue ( const G4ThreeVector newFieldValue)

Definition at line 54 of file G4UniformMagField.cc.

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

Referenced by export_G4UniformMagField(), ExErrorMagneticField::SetFieldValue(), ExP01MagneticField::SetFieldValue(), and ExN02MagneticField::SetMagFieldValue().

55 {
56  fFieldComponents[0] = newFieldVector.x();
57  fFieldComponents[1] = newFieldVector.y();
58  fFieldComponents[2] = newFieldVector.z();
59 }

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