73 LOG(
"HEDISGenerator",
pINFO) <<
"NEUTRINO @ LAB' => E = " << p4v.
E() <<
" // m = " << p4v.
M() <<
" // p = " << p4v.
P();
74 LOG(
"HEDISGenerator",
pINFO) <<
" dir = " << p4v.
Dx() <<
" , " << p4v.
Dy() <<
" , " << p4v.
Dz();
77 long double Q2 = interaction->
Kine().
Q2(
true);
78 long double y = interaction->
Kine().
y(
true);
79 long double Ev = p4v.
E();
81 long double ml2 = powl(ml,2);
85 long double El = (1-y)*Ev;
86 long double plp = El - 0.5*(Q2+ml2)/Ev;
87 long double plt = sqrtl(fmaxl(0.,El*El-plp*plp-ml2));
91 long double pltx = plt * cosl(phi);
92 long double plty = plt * sinl(phi);
97 LOG(
"HEDISGenerator",
pINFO) <<
"LEPTON @ LAB' => E = " << p4llong.
E() <<
" // m = " << p4llong.
M() <<
" // p = " << p4llong.
P();
98 LOG(
"HEDISGenerator",
pINFO) <<
" dir = " << p4llong.
Dx() <<
" , " << p4llong.
Dy() <<
" , " << p4llong.
Dz();
101 TLorentzVector p4l( (
double)p4llong.
Px(), (
double)p4llong.
Py(), (
double)p4llong.
Pz(), (
double)p4llong.
E() );
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
virtual void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
STDHEP-like event record entry that can fit a particle or a nucleus.
const TLorentzVector * P4(void) const
const TLorentzVector * X4(void) const
void SetStatus(GHepStatus_t s)
GENIE's GHEP MC event record.
virtual int ProbePosition(void) const
virtual GHepParticle * Probe(void) const
virtual Interaction * Summary(void) const
virtual void AddParticle(const GHepParticle &p)
virtual int RemnantNucleusPosition(void) const
virtual GHepParticle * Particle(int position) const
void Configure(const Registry &config)
void AddPrimaryLepton(GHepRecord *evrec) const
void Initialize(void) const
const EventRecordVisitorI * fHadronizationModel
void ProcessEventRecord(GHepRecord *evrec) const
void AddTargetNucleusRemnant(GHepRecord *event_rec) const
HadronicSystemGenerator()
Summary information for an interaction.
const Kinematics & Kine(void) const
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
Kinematics * KinePtr(void) const
double Q2(bool selected=false) const
double y(bool selected=false) const
void SetFSLeptonP4(const TLorentzVector &p4)
A singleton holding random number generator classes. All random number generation in GENIE should tak...
static RandomGen * Instance()
Access instance.
TRandom3 & RndLep(void) const
rnd number generator used by final state primary lepton generators
A registry. Provides the container for algorithm configuration parameters.
void Rotate(LongLorentzVector axis)
Simple functions for loading and reading nucleus dependent keys from config files.
Simple mathematical utilities not found in ROOT's TMath.
THE MAIN GENIE PROJECT NAMESPACE
@ kIStFinalStateNuclearRemnant