Added to SVN Repository
This commit is contained in:
76
geant4/LEMuSR/G4Modified/G4El_MagEqRhs.cc
Normal file
76
geant4/LEMuSR/G4Modified/G4El_MagEqRhs.cc
Normal file
@ -0,0 +1,76 @@
|
||||
|
||||
|
||||
#include "G4El_MagEqRhs.hh"
|
||||
#include "G4Mag_SpinEqRhs.hh"
|
||||
#include "G4MagneticField.hh"
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G4El_UsualEqRhs.hh"
|
||||
#include "G4ElectricField.hh"
|
||||
#include "G4ios.hh"
|
||||
|
||||
|
||||
|
||||
G4El_MagEqRhs::G4El_MagEqRhs( G4Mag_EqRhs *Meq, G4El_EqRhs *Eeq,G4Field* field)
|
||||
:G4EquationOfMotion(field)
|
||||
{
|
||||
fMagEq=Meq;
|
||||
fElEq=Eeq;
|
||||
}
|
||||
|
||||
|
||||
G4El_MagEqRhs::~G4El_MagEqRhs()
|
||||
{;}
|
||||
|
||||
void G4El_MagEqRhs::RightHandSide( const G4double y[],
|
||||
G4double dydx[] )const
|
||||
{
|
||||
|
||||
G4double MagField[3];
|
||||
G4double ElField[3];
|
||||
|
||||
G4double dydx1[12];
|
||||
G4double dydx2[12];
|
||||
|
||||
G4double PositionAndTime[4];
|
||||
|
||||
// Position
|
||||
PositionAndTime[0] = y[0];
|
||||
PositionAndTime[1] = y[1];
|
||||
PositionAndTime[2] = y[2];
|
||||
// Global Time
|
||||
PositionAndTime[3] = y[7];
|
||||
|
||||
|
||||
// Get Respective Field Values
|
||||
fMagEq->GetFieldValue(PositionAndTime, MagField) ;
|
||||
fElEq->GetFieldValue(PositionAndTime, ElField) ;
|
||||
|
||||
|
||||
fMagEq->EvaluateRhsGivenB( y, MagField, &dydx1[0] );
|
||||
|
||||
fElEq->EvaluateRhsGivenB( y, ElField, &dydx2[0] );
|
||||
|
||||
G4int i;
|
||||
i=0;
|
||||
for(i=0;i==18;i++)
|
||||
{
|
||||
dydx[i] = dydx1[i]+dydx2[i];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void G4El_MagEqRhs::SetChargeMomentumMass( G4double particleCharge, // e+ units
|
||||
G4double MomentumXc, // MomentumXc
|
||||
G4double mass) // particleMass
|
||||
{
|
||||
|
||||
fMagEq->SetChargeMomentumMass( particleCharge, MomentumXc , mass);
|
||||
|
||||
fElEq->SetChargeMomentumMass( particleCharge,MomentumXc , mass);
|
||||
}
|
||||
|
||||
|
||||
void G4El_MagEqRhs::EvaluateRhsGivenB( const G4double y[],
|
||||
const G4double B[3],
|
||||
G4double dydx[] ) const
|
||||
{}
|
Reference in New Issue
Block a user