4#include "KVCoulombPropagator.h"
6#include <KVSimNucleus.h>
15 for (
int i = 1; i <= fMult; ++i) {
16 static_cast<KVSimNucleus*
>(theEvent->GetParticle(i))->SetPosition(
17 y[particle_position_offset(i)],
18 y[particle_position_offset(i) + 1],
19 y[particle_position_offset(i) + 2]
21 static_cast<KVSimNucleus*
>(theEvent->GetParticle(i))->SetVelocity(
37 :
KVRungeKutta(
e->GetMult() * 6, precision), theEvent(
e), fMult(
e->GetMult())
44 for (
int i = 1; i <=
fMult; ++i) {
45 for (
int j = 0; j < 3; ++j) {
70 for (
int i = 1; i <=
fMult; ++i) {
71 for (
int j = 0; j < 3; ++j) {
76 for (
int i = 1; i <
fMult; ++i) {
79 for (
int j = i + 1; j <=
fMult; ++j) {
90 for (
int k = 0; k < 3; ++k) {
105 for (
int i = 1; i <
fMult; ++i) {
108 for (
int j = i + 1; j <=
fMult; ++j) {
Perform Coulomb propagation of events.
virtual ~KVCoulombPropagator()
Destructor.
void Propagate(int maxTime)
Int_t particle_position_offset(Int_t i)
KVCoulombPropagator(KVSimEvent *, Double_t precision=1.e-9)
Double_t TotalPotentialEnergy() const
Int_t particle_velocity_offset(Int_t i)
void CalcDerivs(Double_t, Double_t *Y, Double_t *DYDX)
static Double_t e2
e^2/(4.pi.epsilon_0) in MeV.fm
Int_t GetZ() const
Return the number of proton / atomic number.
Adaptive step-size 4th order Runge-Kutta ODE integrator from Numerical Recipes.
virtual void Integrate(Double_t *ystart, Double_t x1, Double_t x2, Double_t h1)
Container class for simulated nuclei, KVSimNucleus.
Nucleus in a simulated event.
const TVector3 * GetPosition() const
Particle * GetParticle(Int_t npart) const