Geant4.10
|
#include <F04ElementField.hh>
Public Member Functions | |
F04ElementField (const G4ThreeVector, G4LogicalVolume *) | |
Constructor. More... | |
void | Construct () |
the actual implementation constructs the F04ElementField More... | |
virtual | ~F04ElementField () |
Destructor. More... | |
void | SetMaxStep (G4double stp) |
SetMaxStep(G4double) sets the max. step size. More... | |
G4double | GetMaxStep () |
GetMaxStep() returns the max. step size. More... | |
void | SetColor (G4String c) |
SetColor(G4String) sets the color. More... | |
G4String | GetColor () |
GetColor() returns the color. More... | |
void | SetGlobalPoint (const G4double point[4]) |
bool | IsInBoundingBox (const G4double point[4]) const |
virtual void | AddFieldValue (const G4double point[4], G4double field[6]) const =0 |
virtual G4double | GetLength ()=0 |
virtual G4double | GetWidth ()=0 |
virtual G4double | GetHeight ()=0 |
Static Public Member Functions | |
static G4VisAttributes * | GetVisAttribute (G4String color) |
GetVisAttribute() returns the appropriate G4VisAttributes. More... | |
Protected Attributes | |
G4LogicalVolume * | fVolume |
G4AffineTransform | fGlobal2local |
Definition at line 53 of file F04ElementField.hh.
F04ElementField::F04ElementField | ( | const G4ThreeVector | c, |
G4LogicalVolume * | lv | ||
) |
Constructor.
Definition at line 44 of file F04ElementField.cc.
References F04GlobalField::AddElementField(), test::c, DBL_MAX, fVolume, F04GlobalField::GetObject(), GetVisAttribute(), python.hepunit::m, python.hepunit::MeV, python.hepunit::mm, python.hepunit::ms, G4UserLimits::SetMaxAllowedStep(), G4LogicalVolume::SetUserLimits(), G4UserLimits::SetUserMaxTime(), G4UserLimits::SetUserMaxTrackLength(), G4UserLimits::SetUserMinEkine(), and G4LogicalVolume::SetVisAttributes().
|
inlinevirtual |
|
pure virtual |
AddFieldValue() will add the field value for this element to field[]. Implementations must be sure to verify that point[] is within the field region, and do nothing if not. point[] is in global coordinates and geant4 units; x,y,z,t. field[] is in geant4 units; Bx,By,Bz,Ex,Ey,Ez. For efficiency, the caller may (but need not) call IsInBoundingBox(point), and only call this function if that returns true.
Implemented in F04SimpleSolenoid, and F04FocusSolenoid.
Referenced by F04GlobalField::GetFieldValue().
the actual implementation constructs the F04ElementField
Definition at line 74 of file F04ElementField.cc.
References fGlobal2local, fVolume, GetHeight(), GetLength(), G4TransportationManager::GetTransportationManager(), GetWidth(), G4Navigator::GetWorldVolume(), G4AffineTransform::Inverse(), local, G4Navigator::LocateGlobalPointAndSetup(), SetGlobalPoint(), G4Navigator::SetWorldVolume(), G4AffineTransform::TransformPoint(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
inline |
GetColor() returns the color.
Definition at line 90 of file F04ElementField.hh.
|
pure virtual |
Implemented in F04SimpleSolenoid.
Referenced by Construct().
|
pure virtual |
Implemented in F04SimpleSolenoid.
Referenced by Construct().
|
inline |
GetMaxStep() returns the max. step size.
Definition at line 80 of file F04ElementField.hh.
|
static |
GetVisAttribute() returns the appropriate G4VisAttributes.
Definition at line 125 of file F04ElementField.cc.
References blue, G4cout, G4endl, G4VisAttributes::Invisible, red, and G4VisAttributes::SetDaughtersInvisible().
Referenced by F04ElementField(), and SetColor().
|
pure virtual |
Implemented in F04SimpleSolenoid.
Referenced by Construct().
|
inline |
IsInBoundingBox() returns true if the point is within the global bounding box - global coordinates.
Definition at line 113 of file F04ElementField.hh.
Referenced by F04GlobalField::GetFieldValue().
SetColor(G4String) sets the color.
Definition at line 83 of file F04ElementField.hh.
References test::c, fVolume, GetVisAttribute(), and G4LogicalVolume::SetVisAttributes().
Referenced by F04GlobalField::ConstructField().
SetGlobalPoint() ensures that the point is within the global bounding box of this ElementField's global coordinates. Normally called 8 times for the corners of the local bounding box, after a local->global coordinate transform. If never called, the global bounding box is infinite. BEWARE: if called only once, the bounding box is just a point.
Definition at line 101 of file F04ElementField.hh.
References DBL_MAX.
Referenced by Construct().
SetMaxStep(G4double) sets the max. step size.
Definition at line 72 of file F04ElementField.hh.
References fVolume, G4UserLimits::SetMaxAllowedStep(), and G4LogicalVolume::SetUserLimits().
Referenced by F04GlobalField::ConstructField().
|
protected |
Definition at line 140 of file F04ElementField.hh.
Referenced by F04FocusSolenoid::AddFieldValue(), F04SimpleSolenoid::AddFieldValue(), and Construct().
|
protected |
Definition at line 138 of file F04ElementField.hh.
Referenced by Construct(), F04ElementField(), F04SimpleSolenoid::F04SimpleSolenoid(), SetColor(), and SetMaxStep().