- Timestamp:
- Feb 16, 2009, 10:14:30 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/geometry/magneticfield/include/G4ChordFinder.hh
r850 r921 25 25 // 26 26 // 27 // $Id: G4ChordFinder.hh,v 1. 19 2008/07/15 14:02:06 japostExp $28 // GEANT4 tag $Name: HEAD$27 // $Id: G4ChordFinder.hh,v 1.21 2008/10/29 14:17:42 gcosmo Exp $ 28 // GEANT4 tag $Name: geant4-09-02-cand-01 $ 29 29 // 30 30 // 31 // class G4ChordFinder32 // 33 // Class description:31 // Class G4ChordFinder 32 // 33 // class description: 34 34 // 35 35 // A class that provides RK integration of motion ODE (as does g4magtr) … … 38 38 39 39 // History: 40 // - 25.02.97 John Apostolakis, design and implementation 41 // - 05.03.97 V. Grichine , makeup to G4 'standard' 40 // - 25.02.97 - John Apostolakis - Design and implementation 42 41 // ------------------------------------------------------------------- 43 42 … … 62 61 63 62 virtual ~G4ChordFinder(); 64 65 63 66 64 G4double AdvanceChordLimited( G4FieldTrack& yCurrent, … … 73 71 // -> Returns Length of Step taken. 74 72 75 G4FieldTrack ApproxCurvePointS(const G4FieldTrack& curveAPointVelocity, 76 const G4FieldTrack& curveBPointVelocity, 77 const G4ThreeVector& currentEPoint, 78 const G4ThreeVector& currentFPoint, 79 const G4ThreeVector& PointG, 80 G4bool first,G4double epsStep); 73 G4FieldTrack ApproxCurvePointS( const G4FieldTrack& curveAPointVelocity, 74 const G4FieldTrack& curveBPointVelocity, 75 const G4FieldTrack& ApproxCurveV, 76 const G4ThreeVector& currentEPoint, 77 const G4ThreeVector& currentFPoint, 78 const G4ThreeVector& PointG, 79 G4bool first, G4double epsStep); 81 80 82 G4FieldTrack ApproxCurvePointV( constG4FieldTrack& curveAPointVelocity,83 constG4FieldTrack& curveBPointVelocity,84 constG4ThreeVector& currentEPoint,85 G4double epsStep);81 G4FieldTrack ApproxCurvePointV( const G4FieldTrack& curveAPointVelocity, 82 const G4FieldTrack& curveBPointVelocity, 83 const G4ThreeVector& currentEPoint, 84 G4double epsStep); 86 85 87 86 inline G4double InvParabolic( const G4double xa, const G4double ya, 88 89 87 const G4double xb, const G4double yb, 88 const G4double xc, const G4double yc ); 90 89 91 90 inline G4double GetDeltaChord() const; … … 112 111 // A report with the above -- and possibly other stats 113 112 inline G4int SetVerbose( G4int newvalue=1); 114 // Set verbosity and return old value 113 // Set verbosity and return old value 114 115 void SetFractions_Last_Next( G4double fractLast= 0.90, 116 G4double fractNext= 0.95 ); 117 // Parameters for performance ... change with great care 118 119 inline void SetFirstFraction(G4double fractFirst); 120 // Parameter for performance ... change with great care 121 122 public: // without description 123 124 void TestChordPrint( G4int noTrials, 125 G4int lastStepTrial, 126 G4double dChordStep, 127 G4double nextStepTrial ); 128 129 // Printing for monitoring ... 130 131 inline G4double GetFirstFraction(); // Originally 0.999 132 inline G4double GetFractionLast(); // Originally 1.000 133 inline G4double GetFractionNextEstimate(); // Originally 0.980 134 inline G4double GetMultipleRadius(); // No original value 135 // Parameters for adapting performance ... use with great care 115 136 116 137 protected: // ......................................................... … … 140 161 G4double oldStepTrial, 141 162 G4double dChordStep); 142 public: // no description 143 void TestChordPrint( G4int noTrials, 144 G4int lastStepTrial, 145 G4double dChordStep, 146 G4double nextStepTrial ); 147 // Printing for monitoring ... 148 149 inline G4double GetFirstFraction(); // Originally 0.999 150 inline G4double GetFractionLast(); // Originally 1.000 151 inline G4double GetFractionNextEstimate(); // Originally 0.980 152 inline G4double GetMultipleRadius(); // No original value 153 // Parameters for adapting performance ... use with great care 154 155 public: // with description 156 void SetFractions_Last_Next( G4double fractLast= 0.90, 157 G4double fractNext= 0.95 ); 158 // Parameters for performance ... change with great care 159 160 inline void SetFirstFraction(G4double fractFirst); 161 // Parameter for performance ... change with great care 162 163 protected: 163 164 164 inline G4double GetLastStepEstimateUnc(); 165 165 inline void SetLastStepEstimateUnc( G4double stepEst ); … … 172 172 173 173 private: // ............................................................ 174 174 // G4int nOK, nBAD; 175 175 G4MagInt_Driver* fIntgrDriver; 176 176 177 177 const G4double fDefaultDeltaChord; // SET in G4ChordFinder.cc = 0.25 mm 178 178 179 G4double fDeltaChord; // Maximum miss distance 180 181 G4double fLastStepEstimate_Unconstrained; // State information for efficiency 179 G4double fDeltaChord; // Maximum miss distance 180 181 G4double fLastStepEstimate_Unconstrained; 182 // State information for efficiency 183 182 184 // Variables used in construction/destruction 185 183 186 G4bool fAllocatedStepper; 184 187 G4EquationOfMotion* fEquation;
Note: See TracChangeset
for help on using the changeset viewer.