25 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,15,6) 26 #include <TMCParticle.h> 28 #include <TMCParticle6.h> 31 using namespace genie;
79 LOG(
"HEDISGenerator",
pINFO) <<
"NEUTRINO @ LAB' => E = " << p4v.E() <<
" // m = " << p4v.M() <<
" // p = " << p4v.P();
80 LOG(
"HEDISGenerator",
pINFO) <<
" dir = " << p4v.Dx() <<
" , " << p4v.Dy() <<
" , " << p4v.Dz();
83 long double Q2 = interaction->
Kine().
Q2(
true);
84 long double y = interaction->
Kine().
y(
true);
85 long double Ev = p4v.E();
87 long double ml2 = powl(ml,2);
91 long double El = (1-
y)*Ev;
92 long double plp = El - 0.5*(Q2+ml2)/Ev;
93 long double plt = sqrtl(fmaxl(0.,El*El-plp*plp-ml2));
97 long double pltx = plt * cosl(phi);
98 long double plty = plt * sinl(phi);
103 LOG(
"HEDISGenerator",
pINFO) <<
"LEPTON @ LAB' => E = " << p4llong.
E() <<
" // m = " << p4llong.
M() <<
" // p = " << p4llong.
P();
104 LOG(
"HEDISGenerator",
pINFO) <<
" dir = " << p4llong.
Dx() <<
" , " << p4llong.
Dy() <<
" , " << p4llong.
Dz();
107 TLorentzVector p4l( (
double)p4llong.
Px(), (double)p4llong.
Py(), (double)p4llong.
Pz(), (double)p4llong.
E() );
void AddPrimaryLepton(GHepRecord *evrec) const
THE MAIN GENIE PROJECT NAMESPACE
virtual void ProcessEventRecord(GHepRecord *event_rec) const =0
TRandom3 & RndLep(void) const
rnd number generator used by final state primary lepton generators
double Q2(const Interaction *const i)
virtual Interaction * Summary(void) const
static RandomGen * Instance()
Access instance.
const TLorentzVector * P4(void) const
Kinematics * KinePtr(void) const
Defines the EventRecordVisitorI interface. Concrete implementations of this interface use the 'Visito...
void AddTargetNucleusRemnant(GHepRecord *event_rec) const
void ProcessEventRecord(GHepRecord *evrec) const
void Initialize(void) const
A singleton holding random number generator classes. All random number generation in GENIE should tak...
Simple mathematical utilities not found in ROOT's TMath.
virtual GHepParticle * Probe(void) const
double y(bool selected=false) const
Summary information for an interaction.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
void SetFSLeptonP4(const TLorentzVector &p4)
const Kinematics & Kine(void) const
virtual void Configure(const Registry &config)
TParticlePDG * FSPrimLepton(void) const
final state primary lepton
const EventRecordVisitorI * fHadronizationModel
const TLorentzVector * X4(void) const
A registry. Provides the container for algorithm configuration parameters.
virtual void AddParticle(const GHepParticle &p)
Abstract class. Is used to pass some commonly recurring methods to all concrete implementations of th...
double Q2(bool selected=false) const
virtual int ProbePosition(void) const
void Rotate(LongLorentzVector axis)
GENIE's GHEP MC event record.
void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const