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
 
G4ChordFinder & operator= (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)
 
G4VIntegrationDriver * GetIntegrationDriver ()
 
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
 
G4VIntegrationDriver * fIntgrDriver = nullptr
 
G4MagIntegratorStepper * fRegularStepperOwned = nullptr
 
G4MagIntegratorStepper * fNewFSALStepperOwned = nullptr
 
std::unique_ptr< G4HelixHeum > fLongStepper
 
G4CachedMagneticField * fCachedField = nullptr
 
G4EquationOfMotion * fEquation = 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: