ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <geant4/tree/geant4-10.6-release/examples/extended/field/field04/include/F04ElementField.hh>
Public Member Functions | |
F04ElementField (const G4ThreeVector, G4LogicalVolume *) | |
Constructor. | |
void | Construct () |
the actual implementation constructs the F04ElementField | |
virtual | ~F04ElementField () |
Destructor. | |
void | SetMaxStep (G4double stp) |
SetMaxStep(G4double) sets the max. step size. | |
G4double | GetMaxStep () |
GetMaxStep() returns the max. step size. | |
void | SetColor (G4String c) |
SetColor(G4String) sets the color. | |
G4String | GetColor () |
GetColor() returns the color. | |
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. | |
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 52 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 52 of file F04ElementField.hh
F04ElementField::F04ElementField | ( | const G4ThreeVector | c, |
G4LogicalVolume * | lv | ||
) |
Constructor.
Definition at line 43 of file F04ElementField.cc.
View newest version in sPHENIX GitHub at line 43 of file F04ElementField.cc
References F04GlobalField::AddElementField(), c, 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 68 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 68 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().
the actual implementation constructs the F04ElementField
Definition at line 73 of file F04ElementField.cc.
View newest version in sPHENIX GitHub at line 73 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(), k, local, G4Navigator::LocateGlobalPointAndSetup(), G4TouchableHistory::MoveUpHistory(), SetGlobalPoint(), G4Navigator::SetWorldVolume(), G4AffineTransform::TransformPoint(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
|
inline |
GetColor() returns the color.
Definition at line 89 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 89 of file F04ElementField.hh
References fColor.
|
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 79 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 79 of file F04ElementField.hh
References fMaxStep.
|
static |
GetVisAttribute() returns the appropriate G4VisAttributes.
Definition at line 124 of file F04ElementField.cc.
View newest version in sPHENIX GitHub at line 124 of file F04ElementField.cc
References G4cout, G4endl, G4VisAttributes::GetInvisible(), 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 112 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 112 of file F04ElementField.hh
References fMaxX, fMaxY, fMaxZ, fMinX, fMinY, and fMinZ.
Referenced by F04GlobalField::GetFieldValue().
|
private |
SetColor(G4String) sets the color.
Definition at line 82 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 82 of file F04ElementField.hh
References c, fColor, 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 100 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 100 of file F04ElementField.hh
References DBL_MAX, fMaxX, fMaxY, fMaxZ, fMinX, fMinY, and fMinZ.
Referenced by Construct().
SetMaxStep(G4double) sets the max. step size.
Definition at line 71 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 71 of file F04ElementField.hh
References fMaxStep, fUserLimits, fVolume, G4UserLimits::SetMaxAllowedStep(), and G4LogicalVolume::SetUserLimits().
Referenced by F04GlobalField::ConstructField().
|
private |
Definition at line 149 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 149 of file F04ElementField.hh
Referenced by Construct(), and F04ElementField().
|
private |
Definition at line 147 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 147 of file F04ElementField.hh
Referenced by F04ElementField(), GetColor(), and SetColor().
|
protected |
Definition at line 139 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 139 of file F04ElementField.hh
Referenced by F04FocusSolenoid::AddFieldValue(), F04SimpleSolenoid::AddFieldValue(), and Construct().
|
private |
Definition at line 152 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 152 of file F04ElementField.hh
Referenced by F04ElementField(), GetMaxStep(), and SetMaxStep().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
private |
Definition at line 150 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 150 of file F04ElementField.hh
Referenced by F04ElementField(), IsInBoundingBox(), and SetGlobalPoint().
|
staticprivate |
Definition at line 145 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 145 of file F04ElementField.hh
Referenced by Construct().
|
private |
Definition at line 153 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 153 of file F04ElementField.hh
Referenced by F04ElementField(), and SetMaxStep().
|
protected |
Definition at line 137 of file F04ElementField.hh.
View newest version in sPHENIX GitHub at line 137 of file F04ElementField.hh
Referenced by Construct(), F04ElementField(), F04SimpleSolenoid::F04SimpleSolenoid(), SetColor(), and SetMaxStep().