49 lines
1.2 KiB
C++
49 lines
1.2 KiB
C++
// This code implementation is the intellectual property of
|
|
// the GEANT4 collaboration.
|
|
//
|
|
// By copying, distributing or modifying the Program (or any work
|
|
// based on the Program) you indicate your acceptance of this statement,
|
|
// and all its terms.
|
|
//
|
|
// $Id: G4HelixImplicitEuler.hh,v 1.5 2000/11/01 15:15:49 gcosmo Exp $
|
|
// GEANT4 tag $Name: geant4-03-00 $
|
|
//
|
|
//
|
|
// class G4HelixImplicitEuler
|
|
//
|
|
// Class description:
|
|
//
|
|
// Helix Implicit Euler:
|
|
// x_1 = x_0 + 1/2 * ( helix(h,t_0,x_0)
|
|
// + helix(h,t_0+h,x_0+helix(h,t0,x0) ) )
|
|
|
|
// History:
|
|
// - Created. W.Wander <wwc@mit.edu>, 03/11/98
|
|
|
|
#ifndef G4HELIXIMPLICITEULER_HH
|
|
#define G4HELIXIMPLICITEULER_HH
|
|
|
|
#include "G4MagHelicalStepper.hh"
|
|
|
|
class G4HelixImplicitEuler : public G4MagHelicalStepper
|
|
{
|
|
|
|
public: // with description
|
|
|
|
G4HelixImplicitEuler(G4Mag_EqRhs *EqRhs)
|
|
: G4MagHelicalStepper(EqRhs) {;}
|
|
|
|
~G4HelixImplicitEuler() {;}
|
|
|
|
void DumbStepper( const G4double y[],
|
|
G4ThreeVector Bfld,
|
|
G4double h,
|
|
G4double yout[]);
|
|
|
|
public: // without description
|
|
|
|
G4int IntegratorOrder() const { return 2; }
|
|
};
|
|
|
|
#endif /* G4HELIXIMPLICITEULER_HH */
|