Geant4  10.03.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4QuadrupoleMagField Class Reference

#include <G4QuadrupoleMagField.hh>

Inheritance diagram for G4QuadrupoleMagField:
Collaboration diagram for G4QuadrupoleMagField:

Public Member Functions

 G4QuadrupoleMagField (G4double pGradient)
 
 G4QuadrupoleMagField (G4double pGradient, G4ThreeVector pOrigin, G4RotationMatrix *pMatrix)
 
 ~G4QuadrupoleMagField ()
 
void GetFieldValue (const G4double yTrack[], G4double B[]) const
 
G4FieldClone () const
 
- Public Member Functions inherited from G4MagneticField
 G4MagneticField ()
 
virtual ~G4MagneticField ()
 
 G4MagneticField (const G4MagneticField &r)
 
G4MagneticFieldoperator= (const G4MagneticField &p)
 
G4bool DoesFieldChangeEnergy () const
 
virtual void GetFieldValue (const G4double Point[4], G4double *Bfield) const =0
 
- 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 54 of file G4QuadrupoleMagField.hh.

Constructor & Destructor Documentation

G4QuadrupoleMagField::G4QuadrupoleMagField ( G4double  pGradient)

Definition at line 36 of file G4QuadrupoleMagField.cc.

37 {
38  fGradient = pGradient ;
39  fOrigin = G4ThreeVector( 0.0, 0.0, 0.0) ;
40  fpMatrix = &IdentityMatrix;
41 }
CLHEP::Hep3Vector G4ThreeVector
static G4RotationMatrix IdentityMatrix

Here is the caller graph for this function:

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

Definition at line 46 of file G4QuadrupoleMagField.cc.

49 {
50  fGradient = pGradient ;
51  fOrigin = pOrigin ;
52  fpMatrix = pMatrix ;
53 }
G4QuadrupoleMagField::~G4QuadrupoleMagField ( )

Definition at line 62 of file G4QuadrupoleMagField.cc.

63 {
64 }

Member Function Documentation

G4Field * G4QuadrupoleMagField::Clone ( ) const
virtual

Reimplemented from G4Field.

Definition at line 55 of file G4QuadrupoleMagField.cc.

56 {
57  return new G4QuadrupoleMagField(fGradient, fOrigin, fpMatrix);
58 }
G4QuadrupoleMagField(G4double pGradient)

Here is the call graph for this function:

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

Definition at line 70 of file G4QuadrupoleMagField.cc.

72 {
73  G4ThreeVector r_global = G4ThreeVector(
74  y[0] - fOrigin.x(),
75  y[1] - fOrigin.y(),
76  y[2] - fOrigin.z());
77 
78  G4ThreeVector r_local = G4ThreeVector(
79  fpMatrix->colX() * r_global,
80  fpMatrix->colY() * r_global,
81  fpMatrix->colZ() * r_global);
82 
83  G4ThreeVector B_local = G4ThreeVector(
84  fGradient * r_local.y(),
85  fGradient * r_local.x(),
86  0);
87 
88  G4ThreeVector B_global = G4ThreeVector(
89  fpMatrix->inverse().rowX() * B_local,
90  fpMatrix->inverse().rowY() * B_local,
91  fpMatrix->inverse().rowZ() * B_local);
92 
93  B[0] = B_global.x() ;
94  B[1] = B_global.y() ;
95  B[2] = B_global.z() ;
96 }
Hep3Vector rowY() const
Hep3Vector rowZ() const
CLHEP::Hep3Vector G4ThreeVector
double x() const
Hep3Vector colX() const
double B(double temperature)
double z() const
HepRotation inverse() const
Hep3Vector colZ() const
Hep3Vector colY() const
Hep3Vector rowX() const
double y() const

Here is the call graph for this function:


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