Geant4
10.03
|
#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]) |
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. More... | |
bool | IsInBoundingBox (const G4double point[4]) const |
IsInBoundingBox() returns true if the point is within the global bounding box - global coordinates. More... | |
virtual void | AddFieldValue (const G4double point[4], G4double field[6]) const =0 |
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. More... | |
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 |
Private Member Functions | |
F04ElementField & | operator= (const F04ElementField &) |
Private Attributes | |
G4String | fColor |
G4ThreeVector | fCenter |
G4double | fMinX |
G4double | fMinY |
G4double | fMinZ |
G4double | fMaxX |
G4double | fMaxY |
G4double | fMaxZ |
G4double | fMaxStep |
G4UserLimits * | fUserLimits |
Static Private Attributes | |
static G4ThreadLocal G4Navigator * | fNavigator = 0 |
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(), DBL_MAX, fCenter, fColor, fMaxStep, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, fMinZ, fUserLimits, fVolume, F04GlobalField::GetObject(), GetVisAttribute(), m, MeV, mm, ms, G4UserLimits::SetMaxAllowedStep(), G4LogicalVolume::SetUserLimits(), G4UserLimits::SetUserMaxTime(), G4UserLimits::SetUserMaxTrackLength(), G4UserLimits::SetUserMinEkine(), and G4LogicalVolume::SetVisAttributes().
|
inlinevirtual |
Destructor.
Definition at line 69 of file F04ElementField.hh.
|
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().
void F04ElementField::Construct | ( | void | ) |
the actual implementation constructs the F04ElementField
Definition at line 74 of file F04ElementField.cc.
References fCenter, fGlobal2local, fNavigator, fVolume, GetHeight(), G4TouchableHistory::GetHistory(), G4TouchableHistory::GetHistoryDepth(), GetLength(), G4VPhysicalVolume::GetLogicalVolume(), G4NavigationHistory::GetTopTransform(), G4TransportationManager::GetTransportationManager(), G4TouchableHistory::GetVolume(), GetWidth(), G4Navigator::GetWorldVolume(), G4AffineTransform::Inverse(), local, G4Navigator::LocateGlobalPointAndSetup(), G4TouchableHistory::MoveUpHistory(), SetGlobalPoint(), G4Navigator::SetWorldVolume(), and G4AffineTransform::TransformPoint().
|
inline |
|
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.
References fMaxStep.
|
static |
GetVisAttribute() returns the appropriate G4VisAttributes.
Definition at line 125 of file F04ElementField.cc.
References blue, G4cout, G4endl, G4VisAttributes::GetInvisible(), 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.
References fMaxX, fMaxY, fMaxZ, fMinX, fMinY, and fMinZ.
Referenced by F04GlobalField::GetFieldValue().
|
private |
|
inline |
SetColor(G4String) sets the color.
Definition at line 83 of file F04ElementField.hh.
References fColor, fVolume, GetVisAttribute(), and G4LogicalVolume::SetVisAttributes().
Referenced by F04GlobalField::ConstructField().
|
inline |
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, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, and fMinZ.
Referenced by Construct().
|
inline |
SetMaxStep(G4double) sets the max. step size.
Definition at line 72 of file F04ElementField.hh.
References fMaxStep, fUserLimits, fVolume, G4UserLimits::SetMaxAllowedStep(), and G4LogicalVolume::SetUserLimits().
Referenced by F04GlobalField::ConstructField().
|
private |
Definition at line 150 of file F04ElementField.hh.
Referenced by Construct(), and F04ElementField().
|
private |
Definition at line 148 of file F04ElementField.hh.
Referenced by F04ElementField(), GetColor(), and SetColor().
|
protected |
Definition at line 140 of file F04ElementField.hh.
Referenced by F04FocusSolenoid::AddFieldValue(), F04SimpleSolenoid::AddFieldValue(), and Construct().
|
private |
Definition at line 153 of file F04ElementField.hh.
Referenced by F04ElementField(), GetMaxStep(), and SetMaxStep().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 151 of file F04ElementField.hh.
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
staticprivate |
Definition at line 146 of file F04ElementField.hh.
Referenced by Construct().
|
private |
Definition at line 154 of file F04ElementField.hh.
Referenced by F04ElementField(), and SetMaxStep().
|
protected |
Definition at line 138 of file F04ElementField.hh.
Referenced by Construct(), F04ElementField(), F04SimpleSolenoid::F04SimpleSolenoid(), SetColor(), and SetMaxStep().