Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. >> 3 // >> 4 // By copying, distributing or modifying the Program (or any work >> 5 // based on the Program) you indicate your acceptance of this statement, >> 6 // and all its terms. >> 7 // >> 8 // $Id: G4Mag_UsualEqRhs.hh,v 1.1.10.1 1999/12/07 20:48:02 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-01-00 $ >> 10 // >> 11 // >> 12 // This is the standard right-hand side for equation of motion. >> 13 // >> 14 // The only case another is required is when using a moving reference >> 15 // frame ... or extending the class to include additional Forces, >> 16 // eg an electric field >> 17 // >> 18 // J. Apostolakis, January 13th, 1997 1 // 19 // 2 // ******************************************* << 3 // * License and Disclaimer << 4 // * << 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // << 26 // G4Mag_UsualEqRhs << 27 // << 28 // Class description: << 29 // << 30 // This is the standard right-hand side for eq << 31 // The only case another is required is when u << 32 // frame ... or extending the class to include << 33 // eg an electric field << 34 << 35 // Created: J.Apostolakis, CERN - 13.01.1997 << 36 // ------------------------------------------- << 37 #ifndef G4MAG_USUAL_EQRHS 20 #ifndef G4MAG_USUAL_EQRHS 38 #define G4MAG_USUAL_EQRHS 21 #define G4MAG_USUAL_EQRHS 39 22 40 #include "G4Mag_EqRhs.hh" 23 #include "G4Mag_EqRhs.hh" 41 #include "G4ChargeState.hh" << 24 #include "G4MagneticField.hh" 42 << 43 class G4MagneticField; << 44 25 45 class G4Mag_UsualEqRhs : public G4Mag_EqRhs << 26 class G4Mag_UsualEqRhs: public G4Mag_EqRhs{ 46 { << 47 public: 27 public: 48 << 28 G4Mag_UsualEqRhs( G4MagneticField* MagField ) : 49 G4Mag_UsualEqRhs( G4MagneticField* MagFie << 29 G4Mag_EqRhs( MagField ) {}; 50 ~G4Mag_UsualEqRhs() override; << 30 ~G4Mag_UsualEqRhs() {} ; 51 // Constructor and destructor. No actio << 31 52 << 32 // Given the value of the magnetic field B, this function 53 void EvaluateRhsGivenB( const G4double y[ << 33 // calculates the value of the derivative dydx. 54 const G4double B[ << 34 // 55 G4double dy << 35 void EvaluateRhsGivenB( const G4double y[], 56 // Given the value of the magnetic fiel << 36 const G4double B[3], 57 // calculates the value of the derivati << 37 G4double dydx[] ) const; 58 << 59 void SetChargeMomentumMass( G4ChargeState << 60 G4double Mome << 61 G4double mass << 62 }; 38 }; 63 39 64 #endif << 40 #endif /* G4MAG_USUAL_EQRHS */ 65 41