ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ChordFinder Class Reference

#include <geant4/tree/geant4-10.6-release/source/geometry/magneticfield/include/G4ChordFinder.hh>

+ Collaboration diagram for G4ChordFinder:

Public Member Functions

 G4ChordFinder (G4VIntegrationDriver *pIntegrationDriver)
 
 G4ChordFinder (G4MagneticField *itsMagField, G4double stepMinimum=1.0e-2, G4MagIntegratorStepper *pItsStepper=nullptr, G4bool useFSALstepper=false)
 
virtual ~G4ChordFinder ()
 
 G4ChordFinder (const G4ChordFinder &)=delete
 
G4ChordFinderoperator= (const G4ChordFinder &)=delete
 
G4double AdvanceChordLimited (G4FieldTrack &yCurrent, G4double stepInitial, G4double epsStep_Relative, const G4ThreeVector &latestSafetyOrigin, G4double lasestSafetyRadius)
 
G4FieldTrack ApproxCurvePointS (const G4FieldTrack &curveAPointVelocity, const G4FieldTrack &curveBPointVelocity, const G4FieldTrack &ApproxCurveV, const G4ThreeVector &currentEPoint, const G4ThreeVector &currentFPoint, const G4ThreeVector &PointG, G4bool first, G4double epsStep)
 
G4FieldTrack ApproxCurvePointV (const G4FieldTrack &curveAPointVelocity, const G4FieldTrack &curveBPointVelocity, const G4ThreeVector &currentEPoint, G4double epsStep)
 
G4double InvParabolic (const G4double xa, const G4double ya, const G4double xb, const G4double yb, const G4double xc, const G4double yc)
 
G4double GetDeltaChord () const
 
void SetDeltaChord (G4double newval)
 
void SetIntegrationDriver (G4VIntegrationDriver *IntegrationDriver)
 
G4VIntegrationDriverGetIntegrationDriver ()
 
void ResetStepEstimate ()
 
G4int SetVerbose (G4int newvalue=1)
 
void OnComputeStep ()
 

Protected Member Functions

void PrintDchordTrial (G4int noTrials, G4double stepTrial, G4double oldStepTrial, G4double dChordStep)
 

Private Attributes

const G4double fDefaultDeltaChord
 
G4double fDeltaChord
 
G4int fStatsVerbose = 0
 
G4VIntegrationDriverfIntgrDriver = nullptr
 
G4MagIntegratorStepperfRegularStepperOwned = nullptr
 
G4MagIntegratorStepperfNewFSALStepperOwned = nullptr
 
std::unique_ptr< G4HelixHeumfLongStepper
 
G4CachedMagneticFieldfCachedField = nullptr
 
G4EquationOfMotionfEquation = nullptr
 

Detailed Description

Definition at line 50 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 50 of file G4ChordFinder.hh

Constructor & Destructor Documentation

G4ChordFinder::G4ChordFinder ( G4VIntegrationDriver pIntegrationDriver)
explicit

Definition at line 64 of file G4ChordFinder.cc.

View newest version in sPHENIX GitHub at line 64 of file G4ChordFinder.cc

References fDefaultDeltaChord, and fDeltaChord.

G4ChordFinder::G4ChordFinder ( G4MagneticField itsMagField,
G4double  stepMinimum = 1.0e-2,
G4MagIntegratorStepper pItsStepper = nullptr,
G4bool  useFSALstepper = false 
)

Definition at line 75 of file G4ChordFinder.cc.

View newest version in sPHENIX GitHub at line 75 of file G4ChordFinder.cc

References FatalException, fDefaultDeltaChord, fDeltaChord, fEquation, fIntgrDriver, fLongStepper, fNewFSALStepperOwned, fRegularStepperOwned, G4cout, G4endl, G4Exception(), JustWarning, and message().

+ Here is the call graph for this function:

G4ChordFinder::~G4ChordFinder ( )
virtual

Definition at line 257 of file G4ChordFinder.cc.

View newest version in sPHENIX GitHub at line 257 of file G4ChordFinder.cc

References fCachedField, fEquation, fIntgrDriver, fNewFSALStepperOwned, and fRegularStepperOwned.

G4ChordFinder::G4ChordFinder ( const G4ChordFinder )
delete

Member Function Documentation

G4double G4ChordFinder::AdvanceChordLimited ( G4FieldTrack yCurrent,
G4double  stepInitial,
G4double  epsStep_Relative,
const G4ThreeVector latestSafetyOrigin,
G4double  lasestSafetyRadius 
)
inline

Referenced by G4PropagatorInField::ComputeStep().

+ Here is the caller graph for this function:

G4FieldTrack G4ChordFinder::ApproxCurvePointS ( const G4FieldTrack curveAPointVelocity,
const G4FieldTrack curveBPointVelocity,
const G4FieldTrack ApproxCurveV,
const G4ThreeVector currentEPoint,
const G4ThreeVector currentFPoint,
const G4ThreeVector PointG,
G4bool  first,
G4double  epsStep 
)

Definition at line 269 of file G4ChordFinder.cc.

View newest version in sPHENIX GitHub at line 269 of file G4ChordFinder.cc

References kdfinder::abs(), G4VIntegrationDriver::AccurateAdvance(), ApproxCurvePointV(), fIntgrDriver, G4cout, G4endl, G4FieldTrack::GetCurveLength(), G4FieldTrack::GetPosition(), and InvParabolic().

Referenced by G4BrentLocator::EstimateIntersectionPoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4FieldTrack G4ChordFinder::ApproxCurvePointV ( const G4FieldTrack curveAPointVelocity,
const G4FieldTrack curveBPointVelocity,
const G4ThreeVector currentEPoint,
G4double  epsStep 
)

Definition at line 380 of file G4ChordFinder.cc.

View newest version in sPHENIX GitHub at line 380 of file G4ChordFinder.cc

References G4VIntegrationDriver::AccurateAdvance(), FatalException, fIntgrDriver, G4cerr, G4cout, G4endl, G4Exception(), G4FieldTrack::GetCurveLength(), G4FieldTrack::GetPosition(), CLHEP::Hep3Vector::mag(), max, message(), and perMillion.

Referenced by ApproxCurvePointS(), G4SimpleLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), and G4BrentLocator::EstimateIntersectionPoint().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ChordFinder::GetDeltaChord ( ) const
inline

Referenced by G4PropagatorInField::ComputeStep(), and export_G4ChordFinder().

+ Here is the caller graph for this function:

G4VIntegrationDriver* G4ChordFinder::GetIntegrationDriver ( )
inline

Referenced by G4BrentLocator::EstimateIntersectionPoint(), G4MultiLevelLocator::EstimateIntersectionPoint(), G4ErrorPropagatorManager::InitFieldForBackwards(), G4VIntersectionLocator::ReEstimateEndpoint(), G4FieldManager::SetDetectorField(), and G4PropagatorInField::SetVerboseLevel().

+ Here is the caller graph for this function:

G4double G4ChordFinder::InvParabolic ( const G4double  xa,
const G4double  ya,
const G4double  xb,
const G4double  yb,
const G4double  xc,
const G4double  yc 
)
inline

Referenced by ApproxCurvePointS().

+ Here is the caller graph for this function:

void G4ChordFinder::OnComputeStep ( )

Referenced by G4PropagatorInField::ComputeStep().

+ Here is the caller graph for this function:

G4ChordFinder& G4ChordFinder::operator= ( const G4ChordFinder )
delete
void G4ChordFinder::PrintDchordTrial ( G4int  noTrials,
G4double  stepTrial,
G4double  oldStepTrial,
G4double  dChordStep 
)
protected
void G4ChordFinder::ResetStepEstimate ( )
inline

Referenced by G4FieldManagerStore::ClearAllChordFindersState(), and G4CoupledTransportation::StartTracking().

+ Here is the caller graph for this function:

void G4ChordFinder::SetDeltaChord ( G4double  newval)
inline
void G4ChordFinder::SetIntegrationDriver ( G4VIntegrationDriver IntegrationDriver)
inline
G4int G4ChordFinder::SetVerbose ( G4int  newvalue = 1)
inline

Referenced by export_G4ChordFinder().

+ Here is the caller graph for this function:

Member Data Documentation

G4CachedMagneticField* G4ChordFinder::fCachedField = nullptr
private

Definition at line 143 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 143 of file G4ChordFinder.hh

Referenced by ~G4ChordFinder().

const G4double G4ChordFinder::fDefaultDeltaChord
private

Definition at line 129 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 129 of file G4ChordFinder.hh

Referenced by G4ChordFinder().

G4double G4ChordFinder::fDeltaChord
private

Definition at line 133 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 133 of file G4ChordFinder.hh

Referenced by G4ChordFinder().

G4EquationOfMotion* G4ChordFinder::fEquation = nullptr
private

Definition at line 145 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 145 of file G4ChordFinder.hh

Referenced by G4ChordFinder(), and ~G4ChordFinder().

G4VIntegrationDriver* G4ChordFinder::fIntgrDriver = nullptr
private

Definition at line 139 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 139 of file G4ChordFinder.hh

Referenced by ApproxCurvePointS(), ApproxCurvePointV(), G4ChordFinder(), and ~G4ChordFinder().

std::unique_ptr<G4HelixHeum> G4ChordFinder::fLongStepper
private

Definition at line 142 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 142 of file G4ChordFinder.hh

Referenced by G4ChordFinder().

G4MagIntegratorStepper* G4ChordFinder::fNewFSALStepperOwned = nullptr
private

Definition at line 141 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 141 of file G4ChordFinder.hh

Referenced by G4ChordFinder(), and ~G4ChordFinder().

G4MagIntegratorStepper* G4ChordFinder::fRegularStepperOwned = nullptr
private

Definition at line 140 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 140 of file G4ChordFinder.hh

Referenced by G4ChordFinder(), and ~G4ChordFinder().

G4int G4ChordFinder::fStatsVerbose = 0
private

Definition at line 135 of file G4ChordFinder.hh.

View newest version in sPHENIX GitHub at line 135 of file G4ChordFinder.hh


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