Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
genie::GHepParticle Class Reference

STDHEP-like event record entry that can fit a particle or a nucleus. More...

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+3.10-2.17-e17-debug/GENIE-Generator/src/Framework/GHEP/GHepParticle.h"

Inheritance diagram for genie::GHepParticle:

Public Member Functions

 GHepParticle ()
 
 GHepParticle (const GHepParticle &particle)
 
 GHepParticle (int pdg, GHepStatus_t status, int mother1, int mother2, int daughter1, int daughter2, const TLorentzVector &p, const TLorentzVector &v)
 
 GHepParticle (int pdg, GHepStatus_t status, int mother1, int mother2, int daughter1, int daughter2, double px, double py, double pz, double E, double x, double y, double z, double t)
 
 GHepParticle (TRootIOCtor *)
 
 ~GHepParticle ()
 
int Pdg (void) const
 
GHepStatus_t Status (void) const
 
int RescatterCode (void) const
 
int FirstMother (void) const
 
int LastMother (void) const
 
int FirstDaughter (void) const
 
int LastDaughter (void) const
 
bool HasDaughters (void) const
 
bool IsBound (void) const
 
string Name (void) const
 Name that corresponds to the PDG code. More...
 
double Mass (void) const
 Mass that corresponds to the PDG code. More...
 
double Charge (void) const
 Chrg that corresponds to the PDG code. More...
 
const TLorentzVector * P4 (void) const
 
const TLorentzVector * X4 (void) const
 
TLorentzVector * P4 (void)
 
TLorentzVector * X4 (void)
 
TLorentzVector * GetP4 (void) const
 
TLorentzVector * GetX4 (void) const
 
double Px (void) const
 Get Px. More...
 
double Py (void) const
 Get Py. More...
 
double Pz (void) const
 Get Pz. More...
 
double E (void) const
 Get energy. More...
 
double Energy (void) const
 Get energy. More...
 
double KinE (bool mass_from_pdg=false) const
 Get kinetic energy. More...
 
double Vx (void) const
 Get production x. More...
 
double Vy (void) const
 Get production y. More...
 
double Vz (void) const
 Get production z. More...
 
double Vt (void) const
 Get production time. More...
 
double RemovalEnergy (void) const
 Get removal energy. More...
 
bool Compare (const GHepParticle *p) const
 
bool ComparePdgCodes (const GHepParticle *p) const
 
bool CompareStatusCodes (const GHepParticle *p) const
 
bool CompareFamily (const GHepParticle *p) const
 
bool CompareMomentum (const GHepParticle *p) const
 
bool IsOnMassShell (void) const
 
bool IsOffMassShell (void) const
 
int Z (void) const
 
int A (void) const
 
double PolzPolarAngle (void) const
 
double PolzAzimuthAngle (void) const
 
bool PolzIsSet (void) const
 
void GetPolarization (TVector3 &polz)
 
void SetPdgCode (int c)
 
void SetStatus (GHepStatus_t s)
 
void SetRescatterCode (int code)
 
void SetFirstMother (int m)
 
void SetLastMother (int m)
 
void SetFirstDaughter (int d)
 
void SetLastDaughter (int d)
 
void SetMomentum (const TLorentzVector &p4)
 
void SetPosition (const TLorentzVector &v4)
 
void SetMomentum (double px, double py, double pz, double E)
 
void SetPosition (double x, double y, double z, double t)
 
void SetEnergy (double E)
 
void SetPx (double px)
 
void SetPy (double py)
 
void SetPz (double pz)
 
void SetPolarization (double theta, double phi)
 
void SetPolarization (const TVector3 &polz)
 
void SetBound (bool bound)
 
void SetRemovalEnergy (double Erm)
 
void CleanUp (void)
 
void Reset (void)
 
void Clear (Option_t *option)
 
void Copy (const GHepParticle &particle)
 
void Print (ostream &stream) const
 
void Print (Option_t *opt) const
 
bool operator== (const GHepParticle &p) const
 
GHepParticleoperator= (const GHepParticle &p)
 

Private Member Functions

void Init (void)
 
void AssertIsKnownParticle (void) const
 

Private Attributes

int fPdgCode
 particle PDG code More...
 
GHepStatus_t fStatus
 particle status More...
 
int fRescatterCode
 rescattering code More...
 
int fFirstMother
 first mother idx More...
 
int fLastMother
 last mother idx More...
 
int fFirstDaughter
 first daughter idx More...
 
int fLastDaughter
 last daughter idx More...
 
TLorentzVector * fP4
 momentum 4-vector (GeV) More...
 
TLorentzVector * fX4
 position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0) More...
 
double fPolzTheta
 polar polarization angle (rad) More...
 
double fPolzPhi
 azimuthal polarization angle (rad) More...
 
double fRemovalEnergy
 removal energy for bound nucleons (GeV) More...
 
bool fIsBound
 'is it a bound particle?' flag More...
 

Friends

ostream & operator<< (ostream &stream, const GHepParticle &p)
 

Detailed Description

STDHEP-like event record entry that can fit a particle or a nucleus.

Author
Costas Andreopoulos <costas.andreopoulos stfc.ac.uk> University of Liverpool & STFC Rutherford Appleton Lab

November 18, 2004

Copyright (c) 2003-2019, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org or see $GENIE/LICENSE

Definition at line 40 of file GHepParticle.h.

Constructor & Destructor Documentation

GHepParticle::GHepParticle ( )

Definition at line 68 of file GHepParticle.cxx.

References Init().

68  :
69 TObject()
70 {
71  this->Init();
72 }
GHepParticle::GHepParticle ( const GHepParticle particle)

Definition at line 122 of file GHepParticle.cxx.

References Copy(), and Init().

122  :
123 TObject()
124 {
125  this->Init();
126  this->Copy(particle);
127 }
void Copy(const GHepParticle &particle)
GHepParticle::GHepParticle ( int  pdg,
GHepStatus_t  status,
int  mother1,
int  mother2,
int  daughter1,
int  daughter2,
const TLorentzVector &  p,
const TLorentzVector &  v 
)

Definition at line 75 of file GHepParticle.cxx.

References fIsBound, fP4, fPolzPhi, fPolzTheta, fRemovalEnergy, fRescatterCode, fX4, and SetPdgCode().

77  :
78 TObject(),
80 fFirstMother(mother1),
81 fLastMother(mother2),
82 fFirstDaughter(daughter1),
83 fLastDaughter(daughter2)
84 {
85  this->SetPdgCode(pdg);
86 
87  fP4 = new TLorentzVector(p);
88  fX4 = new TLorentzVector(v);
89 
90  fRescatterCode = -1;
91  fPolzTheta = -999;
92  fPolzPhi = -999;
93  fIsBound = false;
94  fRemovalEnergy = 0.;
95 }
int status
Definition: fabricate.py:1613
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
int fLastDaughter
last daughter idx
Definition: GHepParticle.h:181
const char * p
Definition: xmltok.h:285
int fFirstMother
first mother idx
Definition: GHepParticle.h:178
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
int fRescatterCode
rescattering code
Definition: GHepParticle.h:177
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
int fLastMother
last mother idx
Definition: GHepParticle.h:179
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
void SetPdgCode(int c)
GHepParticle::GHepParticle ( int  pdg,
GHepStatus_t  status,
int  mother1,
int  mother2,
int  daughter1,
int  daughter2,
double  px,
double  py,
double  pz,
double  E,
double  x,
double  y,
double  z,
double  t 
)

Definition at line 98 of file GHepParticle.cxx.

References fIsBound, fP4, fPolzPhi, fPolzTheta, fRemovalEnergy, fRescatterCode, fX4, and SetPdgCode().

101  :
102 TObject(),
103 fStatus(status),
104 fFirstMother(mother1),
105 fLastMother(mother2),
106 fFirstDaughter(daughter1),
107 fLastDaughter(daughter2)
108 {
109  this->SetPdgCode(pdg);
110 
111  fP4 = new TLorentzVector(px,py,pz,En);
112  fX4 = new TLorentzVector(x,y,z,t);
113 
114  fRescatterCode = -1;
115  fPolzTheta = -999;
116  fPolzPhi = -999;
117  fIsBound = false;
118  fRemovalEnergy = 0.;
119 }
int status
Definition: fabricate.py:1613
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
int fLastDaughter
last daughter idx
Definition: GHepParticle.h:181
int fFirstMother
first mother idx
Definition: GHepParticle.h:178
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
int fRescatterCode
rescattering code
Definition: GHepParticle.h:177
z
Definition: test.py:28
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
int fLastMother
last mother idx
Definition: GHepParticle.h:179
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
void SetPdgCode(int c)
GHepParticle::GHepParticle ( TRootIOCtor *  )

Definition at line 129 of file GHepParticle.cxx.

129  :
130 TObject(),
131 fPdgCode(0),
133 fRescatterCode(-1),
134 fFirstMother(-1),
135 fLastMother(-1),
136 fFirstDaughter(-1),
137 fLastDaughter(-1),
138 fP4(0),
139 fX4(0),
140 fPolzTheta(-999.),
141 fPolzPhi(-999.),
142 fRemovalEnergy(0),
143 fIsBound(false)
144 {
145 
146 }
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
int fLastDaughter
last daughter idx
Definition: GHepParticle.h:181
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
int fFirstMother
first mother idx
Definition: GHepParticle.h:178
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
int fRescatterCode
rescattering code
Definition: GHepParticle.h:177
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
int fLastMother
last mother idx
Definition: GHepParticle.h:179
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
GHepParticle::~GHepParticle ( )

Definition at line 148 of file GHepParticle.cxx.

References CleanUp().

149 {
150  this->CleanUp();
151 }

Member Function Documentation

int GHepParticle::A ( void  ) const

Definition at line 202 of file GHepParticle.cxx.

References fPdgCode, genie::pdg::IonPdgCodeToA(), and genie::pdg::IsIon().

Referenced by genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::MECGenerator::AddTargetRemnant(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), CheckForNumFinStateNucleonsInconsistentWithTarget(), CheckVertexDistribution(), ConvertToGHad(), genie::masterclass::MCTruthDisplay::DrawDiagram(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::NucleonDecayPrimaryVtxGenerator::GenerateDecayedNucleonPosition(), genie::NucleonDecayPrimaryVtxGenerator::GenerateFermiMomentum(), genie::NNBarOscPrimaryVtxGenerator::GenerateFermiMomentum(), genie::NNBarOscPrimaryVtxGenerator::GenerateOscillatingNeutronPosition(), genie::FermiMover::KickHitNucleon(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::VertexGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), RemovalEnergy(), genie::Intranuke::SetTrackingRadius(), genie::Intranuke2018::SetTrackingRadius(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::Intranuke::TransportHadrons(), and genie::Intranuke2018::TransportHadrons().

203 {
204 // Decoding A from the PDG code
205 
206  if(!pdg::IsIon(fPdgCode))
207  return -1;
208  else
210 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
int IonPdgCodeToA(int pdgc)
Definition: PDGUtils.cxx:61
bool IsIon(int pdgc)
Definition: PDGUtils.cxx:40
void GHepParticle::AssertIsKnownParticle ( void  ) const
private

Definition at line 553 of file GHepParticle.cxx.

References exit(), genie::PDGLibrary::Find(), fPdgCode, genie::gAbortingInErr, genie::PDGLibrary::Instance(), LOG, and pFATAL.

Referenced by Charge(), IsOnMassShell(), Mass(), Name(), SetLastDaughter(), and SetPdgCode().

554 {
555  TParticlePDG * p = PDGLibrary::Instance()->Find(fPdgCode);
556  if(!p) {
557  LOG("GHepParticle", pFATAL)
558  << "\n** You are attempting to insert particle with PDG code = "
559  << fPdgCode << " into the event record."
560  << "\n** This particle can not be found in "
561  << "$GENIE/data/evgen/catalogues/pdg/genie_pdg_table.txt";
562  gAbortingInErr = true;
563  exit(1);
564  }
565 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
const char * p
Definition: xmltok.h:285
#define pFATAL
Definition: Messenger.h:57
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
exit(0)
bool gAbortingInErr
Definition: Messenger.cxx:56
double GHepParticle::Charge ( void  ) const

Chrg that corresponds to the PDG code.

Definition at line 169 of file GHepParticle.cxx.

References AssertIsKnownParticle(), genie::PDGLibrary::Find(), fPdgCode, and genie::PDGLibrary::Instance().

Referenced by CheckChargeConservation(), and IsBound().

170 {
171  this->AssertIsKnownParticle();
172 
173  TParticlePDG * p = PDGLibrary::Instance()->Find(fPdgCode);
174  return p->Charge();
175 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
const char * p
Definition: xmltok.h:285
void AssertIsKnownParticle(void) const
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
void GHepParticle::CleanUp ( void  )

Definition at line 423 of file GHepParticle.cxx.

References fP4, and fX4.

Referenced by Clear(), Reset(), SetLastDaughter(), and ~GHepParticle().

424 {
425 // deallocate memory
426 
427  if(fP4) delete fP4;
428  if(fX4) delete fX4;
429  fP4 = 0;
430  fX4 = 0;
431 }
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
void GHepParticle::Clear ( Option_t *  option)

Definition at line 441 of file GHepParticle.cxx.

References CleanUp().

Referenced by SetLastDaughter().

442 {
443 // implement the Clear(Option_t *) method so that the GHepParticle when is a
444 // member of a GHepRecord, gets deleted properly when calling TClonesArray's
445 // Clear("C")
446 
447  this->CleanUp();
448 }
bool GHepParticle::Compare ( const GHepParticle p) const

Definition at line 481 of file GHepParticle.cxx.

References CompareFamily(), CompareMomentum(), fPdgCode, and fStatus.

Referenced by operator==(), genie::GHepRecord::ParticlePosition(), and RemovalEnergy().

482 {
483 // Do the comparisons in steps & put the ones that cost most
484 // in the inner-most {}
485 
486  bool same_particle = (this->fPdgCode == p->fPdgCode);
487  bool same_status = (this->fStatus == p->fStatus );
488 
489  if( !same_particle || !same_status ) return false;
490  else {
491  if ( ! this->CompareFamily(p) ) return false;
492  else {
493  if( ! this->CompareMomentum(p) ) return false;
494  else return true;
495  }
496  }
497 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
bool CompareMomentum(const GHepParticle *p) const
bool CompareFamily(const GHepParticle *p) const
bool GHepParticle::CompareFamily ( const GHepParticle p) const

Definition at line 509 of file GHepParticle.cxx.

References fFirstDaughter, fFirstMother, fLastDaughter, and fLastMother.

Referenced by Compare(), and RemovalEnergy().

510 {
511  bool same_family = (
512  this->fFirstMother == p->fFirstMother &&
513  this->fLastMother == p->fLastMother &&
514  this->fFirstDaughter == p->fFirstDaughter &&
515  this->fLastDaughter == p->fLastDaughter
516  );
517  return same_family;
518 }
int fLastDaughter
last daughter idx
Definition: GHepParticle.h:181
int fFirstMother
first mother idx
Definition: GHepParticle.h:178
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
int fLastMother
last mother idx
Definition: GHepParticle.h:179
bool GHepParticle::CompareMomentum ( const GHepParticle p) const

Definition at line 520 of file GHepParticle.cxx.

References dE, E(), kPCutOff, Px(), Py(), and Pz().

Referenced by Compare(), genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), and RemovalEnergy().

521 {
522  double dE = TMath::Abs( this->E() - p->E() );
523  double dPx = TMath::Abs( this->Px() - p->Px() );
524  double dPy = TMath::Abs( this->Py() - p->Py() );
525  double dPz = TMath::Abs( this->Pz() - p->Pz() );
526 
527  bool same_momentum =
528  (dE < kPCutOff && dPx < kPCutOff && dPy < kPCutOff && dPz < kPCutOff);
529 
530  return same_momentum;
531 }
const double kPCutOff
double E(void) const
Get energy.
Definition: GHepParticle.h:92
double Pz(void) const
Get Pz.
Definition: GHepParticle.h:91
double dE
double Px(void) const
Get Px.
Definition: GHepParticle.h:89
double Py(void) const
Get Py.
Definition: GHepParticle.h:90
bool GHepParticle::ComparePdgCodes ( const GHepParticle p) const

Definition at line 499 of file GHepParticle.cxx.

References fPdgCode.

Referenced by genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), and RemovalEnergy().

500 {
501  return (this->fPdgCode == p->fPdgCode);
502 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
bool GHepParticle::CompareStatusCodes ( const GHepParticle p) const

Definition at line 504 of file GHepParticle.cxx.

References fStatus.

Referenced by genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), and RemovalEnergy().

505 {
506  return (this->fStatus == p->fStatus);
507 }
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
void GHepParticle::Copy ( const GHepParticle particle)

Definition at line 533 of file GHepParticle.cxx.

References FirstDaughter(), FirstMother(), fIsBound, fPolzPhi, fPolzTheta, fRemovalEnergy, LastDaughter(), LastMother(), P4(), Pdg(), RescatterCode(), SetFirstDaughter(), SetFirstMother(), SetLastDaughter(), SetLastMother(), SetMomentum(), SetPdgCode(), SetPosition(), SetRescatterCode(), SetStatus(), Status(), and X4().

Referenced by GHepParticle(), operator=(), SetLastDaughter(), and genie::GHepRecord::SwapParticles().

534 {
535  this->SetStatus (particle.Status() );
536  this->SetPdgCode (particle.Pdg() );
537  this->SetRescatterCode (particle.RescatterCode() );
538  this->SetFirstMother (particle.FirstMother() );
539  this->SetLastMother (particle.LastMother() );
540  this->SetFirstDaughter (particle.FirstDaughter() );
541  this->SetLastDaughter (particle.LastDaughter() );
542 
543  this->SetMomentum (*particle.P4());
544  this->SetPosition (*particle.X4());
545 
546  this->fPolzTheta = particle.fPolzTheta;
547  this->fPolzPhi = particle.fPolzPhi;
548 
549  this->fIsBound = particle.fIsBound;
550  this->fRemovalEnergy = particle.fRemovalEnergy;
551 }
void SetFirstMother(int m)
Definition: GHepParticle.h:133
int RescatterCode(void) const
Definition: GHepParticle.h:66
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
const TLorentzVector * P4(void) const
Definition: GHepParticle.h:79
int FirstDaughter(void) const
Definition: GHepParticle.h:69
void SetMomentum(const TLorentzVector &p4)
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
GHepStatus_t Status(void) const
Definition: GHepParticle.h:65
int LastMother(void) const
Definition: GHepParticle.h:68
int Pdg(void) const
Definition: GHepParticle.h:64
int FirstMother(void) const
Definition: GHepParticle.h:67
void SetPosition(const TLorentzVector &v4)
int LastDaughter(void) const
Definition: GHepParticle.h:70
void SetLastDaughter(int d)
Definition: GHepParticle.h:136
void SetRescatterCode(int code)
Definition: GHepParticle.h:130
void SetLastMother(int m)
Definition: GHepParticle.h:134
const TLorentzVector * X4(void) const
Definition: GHepParticle.h:80
void SetStatus(GHepStatus_t s)
Definition: GHepParticle.h:127
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
void SetFirstDaughter(int d)
Definition: GHepParticle.h:135
void SetPdgCode(int c)
double genie::GHepParticle::E ( void  ) const
inline
double genie::GHepParticle::Energy ( void  ) const
inline
int genie::GHepParticle::FirstDaughter ( void  ) const
inline
int genie::GHepParticle::FirstMother ( void  ) const
inline
TLorentzVector * GHepParticle::GetP4 ( void  ) const

Definition at line 212 of file GHepParticle.cxx.

References fP4, LOG, make_associated_cosmic_defs::p4, genie::utils::print::P4AsShortString(), pDEBUG, and pWARN.

Referenced by genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::MECGenerator::DecayNucleonCluster(), genie::NucleonDecayPrimaryVtxGenerator::GenerateDecayProducts(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie::NNBarOscPrimaryVtxGenerator::GenerateFermiMomentum(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), genie::PrimaryLeptonGenerator::ProcessEventRecord(), genie::OutgoingDarkGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::MECGenerator::RecoilNucleonCluster(), and X4().

213 {
214 // see GHepParticle::P4() for a method that does not create a new object and
215 // transfers its ownership
216 
217  if(fP4) {
218  TLorentzVector * p4 = new TLorentzVector(*fP4);
219 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
220  LOG("GHepParticle", pDEBUG)
221  << "Return vp = " << utils::print::P4AsShortString(p4);
222 #endif
223  return p4;
224  } else {
225  LOG("GHepParticle", pWARN) << "NULL 4-momentum TLorentzVector";
226  return 0;
227  }
228 }
string P4AsShortString(const TLorentzVector *p)
Definition: PrintUtils.cxx:52
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
#define pWARN
Definition: Messenger.h:61
#define pDEBUG
Definition: Messenger.h:64
void GHepParticle::GetPolarization ( TVector3 &  polz)

Definition at line 333 of file GHepParticle.cxx.

References fPolzPhi, fPolzTheta, and PolzIsSet().

Referenced by supernova::SnovaGen::MakeMCTruth(), PolzAzimuthAngle(), and genie::GHepRecord::Print().

334 {
335 // gets the polarization vector
336 
337  if(! this->PolzIsSet() ) {
338  polz.SetXYZ(0.,0.,0.);
339  return;
340  }
341  polz.SetX( TMath::Sin(fPolzTheta) * TMath::Cos(fPolzPhi) );
342  polz.SetY( TMath::Sin(fPolzTheta) * TMath::Sin(fPolzPhi) );
343  polz.SetZ( TMath::Cos(fPolzTheta) );
344 }
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool PolzIsSet(void) const
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
TLorentzVector * GHepParticle::GetX4 ( void  ) const

Definition at line 230 of file GHepParticle.cxx.

References fX4, LOG, pDEBUG, pWARN, and genie::utils::print::X4AsString().

Referenced by genie::MECGenerator::DecayNucleonCluster(), genie::NucleonDecayPrimaryVtxGenerator::GenerateDecayProducts(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), and X4().

231 {
232 // see GHepParticle::X4() for a method that does not create a new object and
233 // transfers its ownership
234 
235  if(fX4) {
236  TLorentzVector * x4 = new TLorentzVector(*fX4);
237 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
238  LOG("GHepParticle", pDEBUG)
239  << "Return x4 = " << utils::print::X4AsString(x4);
240 #endif
241  return x4;
242  } else {
243  LOG("GHepParticle", pWARN) << "NULL 4-position TLorentzVector";
244  return 0;
245  }
246 }
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
#define pWARN
Definition: Messenger.h:61
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
string X4AsString(const TLorentzVector *x)
Definition: PrintUtils.cxx:64
#define pDEBUG
Definition: Messenger.h:64
bool genie::GHepParticle::HasDaughters ( void  ) const
inline

Definition at line 71 of file GHepParticle.h.

References fFirstDaughter.

Referenced by genie::GHepRecord::SwapParticles().

71 { return (fFirstDaughter!=-1); }
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
void GHepParticle::Init ( void  )
private

Definition at line 406 of file GHepParticle.cxx.

References fFirstDaughter, fFirstMother, fIsBound, fLastDaughter, fLastMother, fP4, fPdgCode, fPolzPhi, fPolzTheta, fRemovalEnergy, fRescatterCode, fStatus, fX4, and genie::kIStUndefined.

Referenced by GHepParticle(), Reset(), and SetLastDaughter().

407 {
408  fPdgCode = 0;
410  fRescatterCode = -1;
411  fFirstMother = -1;
412  fLastMother = -1;
413  fFirstDaughter = -1;
414  fLastDaughter = -1;
415  fPolzTheta = -999;
416  fPolzPhi = -999;
417  fIsBound = false;
418  fRemovalEnergy = 0.;
419  fP4 = new TLorentzVector(0,0,0,0);
420  fX4 = new TLorentzVector(0,0,0,0);
421 }
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
int fLastDaughter
last daughter idx
Definition: GHepParticle.h:181
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
int fFirstMother
first mother idx
Definition: GHepParticle.h:178
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
int fFirstDaughter
first daughter idx
Definition: GHepParticle.h:180
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
int fRescatterCode
rescattering code
Definition: GHepParticle.h:177
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
int fLastMother
last mother idx
Definition: GHepParticle.h:179
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
bool genie::GHepParticle::IsBound ( void  ) const
inline

Definition at line 72 of file GHepParticle.h.

References Charge(), fIsBound, Mass(), and Name().

72 { return fIsBound; }
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
bool GHepParticle::IsOffMassShell ( void  ) const
bool GHepParticle::IsOnMassShell ( void  ) const

Definition at line 307 of file GHepParticle.cxx.

References AssertIsKnownParticle(), genie::PDGLibrary::Find(), fP4, fPdgCode, genie::PDGLibrary::Instance(), and kOffShellDm.

Referenced by IsOffMassShell(), genie::GHepRecord::Print(), and RemovalEnergy().

308 {
309  this->AssertIsKnownParticle();
310 
311  TParticlePDG * p = PDGLibrary::Instance()->Find(fPdgCode);
312 
313  double Mpdg = p->Mass();
314  double M4p = (fP4) ? fP4->M() : 0.;
315 
316 // return utils::math::AreEqual(Mpdg, M4p);
317 
318  return (TMath::Abs(M4p-Mpdg) < kOffShellDm);
319 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
const char * p
Definition: xmltok.h:285
void AssertIsKnownParticle(void) const
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
const double kOffShellDm
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
double GHepParticle::KinE ( bool  mass_from_pdg = false) const

Get kinetic energy.

Definition at line 177 of file GHepParticle.cxx.

References fP4, K, LOG, Mass(), and pWARN.

Referenced by genie::HNIntranuke2018::AbsorbHN(), novarwgt::ConvertGenieEvent(), ConvertToGST(), Energy(), genie::utils::intranuke::Equilibrium(), genie::utils::intranuke2018::Equilibrium(), FindhAFate(), genie::HNIntranuke2018::GammaInelasticHN(), genie::HAIntranuke::HadronFateHA(), genie::HAIntranuke2018::HadronFateHA(), genie::HNIntranuke2018::HadronFateHN(), genie::HNIntranuke2018::HandleCompoundNucleus(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), main(), genie::utils::intranuke::PionProduction(), genie::utils::intranuke2018::PionProduction(), genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::Intranuke::TransportHadrons(), and genie::Intranuke2018::TransportHadrons().

178 {
179  if(!fP4) {
180  LOG("GHepParticle", pWARN) << "4-momentum not yet set!";
181  return 0;
182  }
183 
184  double En = fP4->Energy();
185  double M = ( (mass_from_pdg) ? this->Mass() : fP4->M() );
186  double K = En - M;
187 
188  K = TMath::Max(K,0.);
189  return K;
190 }
double Mass(void) const
Mass that corresponds to the PDG code.
Double_t K
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
#define pWARN
Definition: Messenger.h:61
int genie::GHepParticle::LastDaughter ( void  ) const
inline
int genie::GHepParticle::LastMother ( void  ) const
inline
double GHepParticle::Mass ( void  ) const

Mass that corresponds to the PDG code.

Definition at line 161 of file GHepParticle.cxx.

References AssertIsKnownParticle(), genie::PDGLibrary::Find(), fPdgCode, and genie::PDGLibrary::Instance().

Referenced by genie::FermiMover::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), ConvertToGINuke(), ConvertToGST(), genie::PythiaDecayer::Decay(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::HNIntranuke2018::ElasHN(), genie::utils::intranuke::Equilibrium(), evgen::GENIENeutronOscGen::fillMCTruth(), genie::HNIntranuke2018::GammaInelasticHN(), GenerateEvent(), genie::NNBarOscPrimaryVtxGenerator::GenerateFermiMomentum(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), genie::INukeHadroData2018::IntBounce(), genie::INukeHadroData::IntBounce(), IsBound(), genie::FermiMover::KickHitNucleon(), KinE(), supernova::SnovaGen::MakeMCTruth(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), genie::utils::intranuke::PreEquilibrium(), Print(), genie::GHepRecord::Print(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), and genie::utils::intranuke2018::TwoBodyCollision().

162 {
163  this->AssertIsKnownParticle();
164 
165  TParticlePDG * p = PDGLibrary::Instance()->Find(fPdgCode);
166  return p->Mass();
167 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
const char * p
Definition: xmltok.h:285
void AssertIsKnownParticle(void) const
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
string GHepParticle::Name ( void  ) const

Name that corresponds to the PDG code.

Definition at line 153 of file GHepParticle.cxx.

References AssertIsKnownParticle(), genie::PDGLibrary::Find(), fPdgCode, and genie::PDGLibrary::Instance().

Referenced by genie::HNIntranuke2018::AbsorbHN(), ConvertToGST(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::HNIntranuke2018::ElasHN(), genie::utils::intranuke::Equilibrium(), genie::utils::intranuke2018::Equilibrium(), genie::HNIntranuke2018::GammaInelasticHN(), genie::HAIntranuke::HadronFateHA(), genie::HAIntranuke2018::HadronFateHA(), genie::HNIntranuke2018::HadronFateHN(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), IsBound(), main(), operator<<(), genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), Print(), genie::GHepRecord::Print(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::VertexGenerator::ProcessEventRecord(), genie::PythiaDecayer::ProcessEventRecord(), genie::BaryonResonanceDecayer::ProcessEventRecord(), genie::GHepRecord::RemoveIntermediateParticles(), genie::PrimaryLeptonGenerator::SetPolarization(), genie::OutgoingDarkGenerator::SetPolarization(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::HAIntranuke::SimulateHadronicFinalState(), genie::HAIntranuke2018::SimulateHadronicFinalState(), genie::HNIntranuke2018::SimulateHadronicFinalState(), genie::HAIntranuke::SimulateHadronicFinalStateKinematics(), genie::HAIntranuke2018::SimulateHadronicFinalStateKinematics(), genie::utils::intranuke::StepParticle(), genie::utils::intranuke2018::StepParticle(), genie::GHepRecord::SwapParticles(), genie::Intranuke::TransportHadrons(), genie::Intranuke2018::TransportHadrons(), and genie::HadronTransporter::TransportInTransparentNuc().

154 {
155  this->AssertIsKnownParticle();
156 
157  TParticlePDG * p = PDGLibrary::Instance()->Find(fPdgCode);
158  return p->GetName();
159 }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
const char * p
Definition: xmltok.h:285
void AssertIsKnownParticle(void) const
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:43
TParticlePDG * Find(int pdgc)
Definition: PDGLibrary.cxx:61
GHepParticle & GHepParticle::operator= ( const GHepParticle p)

Definition at line 572 of file GHepParticle.cxx.

References Copy().

Referenced by SetLastDaughter().

573 {
574  this->Copy(p);
575  return (*this);
576 }
void Copy(const GHepParticle &particle)
bool GHepParticle::operator== ( const GHepParticle p) const

Definition at line 567 of file GHepParticle.cxx.

References Compare().

Referenced by SetLastDaughter().

568 {
569  return (this->Compare(&p));
570 }
bool Compare(const GHepParticle *p) const
const TLorentzVector* genie::GHepParticle::P4 ( void  ) const
inline

Definition at line 79 of file GHepParticle.h.

References fP4.

Referenced by genie::HNIntranuke2018::AbsorbHN(), genie::BaryonResonanceDecayer::AcceptPionDecay(), genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::AMNuGammaGenerator::AddFinalStateNeutrino(), genie::AMNuGammaGenerator::AddPhoton(), genie::AMNuGammaGenerator::AddRecoilNucleon(), genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::MECGenerator::AddTargetRemnant(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), genie::GMCJDriver::ComputeEventProbability(), ConvertToGHad(), ConvertToGRooTracker(), ConvertToGST(), ConvertToGTracker(), Copy(), genie::PythiaDecayer::Decay(), genie::BaryonResonanceDecayer::DecayExclusive(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::utils::intranuke::Equilibrium(), genie::MECGenerator::GenerateNSVInitialHadrons(), genie::Intranuke::GenerateStep(), genie::Intranuke::GenerateVertex(), genie::Intranuke2018::GenerateVertex(), genie::HadronicSystemGenerator::Hadronic4pLAB(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), genie::INukeHadroData2018::IntBounce(), genie::INukeHadroData::IntBounce(), main(), genie::HadronicSystemGenerator::MomentumTransferLAB(), genie::utils::intranuke::PionProduction(), genie::utils::intranuke2018::PionProduction(), genie::utils::intranuke::PreEquilibrium(), genie::GHepRecord::Print(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::MECGenerator::RecoilNucleonCluster(), cafrwgt::CAFReweight::RetrieveGHEP(), genie::BaryonResonanceDecayer::SelectDecayChannel(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::utils::intranuke::StepParticle(), genie::utils::intranuke2018::StepParticle(), genie::utils::intranuke::ThreeBodyKinematics(), genie::utils::intranuke2018::ThreeBodyKinematics(), genie::Intranuke::TransportHadrons(), genie::Intranuke2018::TransportHadrons(), genie::utils::intranuke::TwoBodyCollision(), and genie::utils::intranuke2018::TwoBodyCollision().

79 { return fP4; }
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
TLorentzVector* genie::GHepParticle::P4 ( void  )
inline

Definition at line 81 of file GHepParticle.h.

References fP4.

81 { return fP4; }
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
int genie::GHepParticle::Pdg ( void  ) const
inline

Definition at line 64 of file GHepParticle.h.

References fPdgCode.

Referenced by genie::HNIntranuke2018::AbsorbHN(), AcceptEvent(), genie::AMNuGammaGenerator::AddFinalStateNeutrino(), genie::GHepRecord::AddParticle(), genie::NucDeExcitationSim::AddPhoton(), genie::AMNuGammaGenerator::AddRecoilNucleon(), genie::HadronicSystemGenerator::AddTargetNucleusRemnant(), genie::FermiMover::AddTargetNucleusRemnant(), genie::QELEventGenerator::AddTargetNucleusRemnant(), genie::QELEventGeneratorSM::AddTargetNucleusRemnant(), genie::AMNuGammaGenerator::AddTargetRemnant(), genie::MECGenerator::AddTargetRemnant(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), genie::Intranuke::CanRescatter(), genie::Intranuke2018::CanRescatter(), CheckDecayerConsistency(), CheckForNumFinStateNucleonsInconsistentWithTarget(), CheckForPseudoParticlesInFinState(), genie::GMCJDriver::ComputeEventProbability(), novarwgt::ConvertGenieEvent(), ConvertToGHad(), ConvertToGINuke(), ConvertToGRooTracker(), ConvertToGST(), ConvertToGTracker(), ConvertToGXML(), Copy(), genie::PythiaDecayer::Decay(), genie::BaryonResonanceDecayer::DecayExclusive(), genie::MECGenerator::DecayNucleonCluster(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::HNIntranuke2018::ElasHN(), genie::utils::intranuke::Equilibrium(), genie::utils::intranuke2018::Equilibrium(), genie::GHepRecord::EventGenerationMode(), evgen::GENIENeutronOscGen::fillMCTruth(), FindhAFate(), genie::GHepRecord::FindParticle(), genie::HNIntranuke2018::GammaInelasticHN(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), GenerateEvent(), genie::NucleonDecayPrimaryVtxGenerator::GenerateFermiMomentum(), genie::MECGenerator::GenerateFermiMomentum(), genie::NNBarOscPrimaryVtxGenerator::GenerateFermiMomentum(), genie::MECGenerator::GenerateNSVInitialHadrons(), genie::Intranuke::GenerateStep(), genie::Intranuke::GenerateVertex(), genie::Intranuke2018::GenerateVertex(), genie::HAIntranuke::HadronFateHA(), genie::HAIntranuke2018::HadronFateHA(), genie::HNIntranuke2018::HadronFateHN(), genie::HNIntranuke2018::HandleCompoundNucleus(), genie::GHepRecord::HitElectronPosition(), genie::GHepRecord::HitNucleonPosition(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), genie::INukeHadroData2018::IntBounce(), genie::INukeHadroData::IntBounce(), genie::FermiMover::KickHitNucleon(), main(), supernova::SnovaGen::MakeMCTruth(), genie::Intranuke::NeedsRescattering(), genie::Intranuke2018::NeedsRescattering(), genie::GHepRecord::NEntries(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), operator<<(), genie::NucDeExcitationSim::OxygenTargetSim(), genie::GHepRecord::ParticlePosition(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), genie::utils::intranuke::PionProduction(), genie::utils::intranuke2018::PionProduction(), genie::utils::intranuke::PreEquilibrium(), genie::utils::intranuke2018::PreEquilibrium(), Print(), genie::GHepRecord::Print(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::COHElHadronicSystemGenerator::ProcessEventRecord(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::VertexGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::PythiaDecayer::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::BaryonResonanceDecayer::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::GHepRecord::RemnantNucleusPosition(), genie::BaryonResonanceDecayer::SelectDecayChannel(), genie::PrimaryLeptonGenerator::SetPolarization(), genie::OutgoingDarkGenerator::SetPolarization(), genie::Intranuke::SetTrackingRadius(), genie::Intranuke2018::SetTrackingRadius(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::HAIntranuke::SimulateHadronicFinalState(), genie::HAIntranuke2018::SimulateHadronicFinalState(), genie::HNIntranuke2018::SimulateHadronicFinalState(), genie::GHepRecord::TargetNucleusPosition(), genie::utils::intranuke::ThreeBodyKinematics(), genie::utils::intranuke2018::ThreeBodyKinematics(), genie::utils::intranuke::TwoBodyCollision(), and genie::utils::intranuke2018::TwoBodyCollision().

64 { return fPdgCode; }
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
double genie::GHepParticle::PolzAzimuthAngle ( void  ) const
inline
bool GHepParticle::PolzIsSet ( void  ) const

Definition at line 326 of file GHepParticle.cxx.

References fPolzPhi, and fPolzTheta.

Referenced by ConvertToGRooTracker(), ConvertToGTracker(), ConvertToGXML(), GetPolarization(), supernova::SnovaGen::MakeMCTruth(), PolzAzimuthAngle(), genie::GHepRecord::Print(), genie::PrimaryLeptonGenerator::SetPolarization(), and genie::OutgoingDarkGenerator::SetPolarization().

327 {
328 // checks whether the polarization angles have been set
329 
330  return (fPolzTheta > -999 && fPolzPhi > -999);
331 }
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
double genie::GHepParticle::PolzPolarAngle ( void  ) const
inline
void GHepParticle::Print ( ostream &  stream) const

Definition at line 450 of file GHepParticle.cxx.

References E(), FirstDaughter(), FirstMother(), LastDaughter(), LastMother(), Mass(), Name(), Pdg(), Px(), Py(), Pz(), RescatterCode(), and Status().

Referenced by ClassImp(), Print(), and SetLastDaughter().

451 {
452  stream << "\n |";
453  stream << setfill(' ') << setw(14) << this->Name() << " | ";
454  stream << setfill(' ') << setw(14) << this->Pdg() << " | ";
455  stream << setfill(' ') << setw(6) << this->Status() << " | ";
456  stream << setfill(' ') << setw(3) << this->FirstMother() << " | ";
457  stream << setfill(' ') << setw(3) << this->LastMother() << " | ";
458  stream << setfill(' ') << setw(3) << this->FirstDaughter() << " | ";
459  stream << setfill(' ') << setw(3) << this->LastDaughter() << " | ";
460  stream << std::fixed << setprecision(3);
461  stream << setfill(' ') << setw(6) << this->Px() << " | ";
462  stream << setfill(' ') << setw(6) << this->Py() << " | ";
463  stream << setfill(' ') << setw(6) << this->Pz() << " | ";
464  stream << setfill(' ') << setw(6) << this->E() << " | ";
465  stream << setfill(' ') << setw(6) << this->Mass() << " | ";
466 
467  int rescat_code = this->RescatterCode();
468  if( rescat_code != -1 )
469  {
470  stream << setfill(' ') << setw(5) << rescat_code << " | ";
471  }
472 }
int RescatterCode(void) const
Definition: GHepParticle.h:66
double E(void) const
Get energy.
Definition: GHepParticle.h:92
int FirstDaughter(void) const
Definition: GHepParticle.h:69
double Mass(void) const
Mass that corresponds to the PDG code.
double Pz(void) const
Get Pz.
Definition: GHepParticle.h:91
GHepStatus_t Status(void) const
Definition: GHepParticle.h:65
double Px(void) const
Get Px.
Definition: GHepParticle.h:89
int LastMother(void) const
Definition: GHepParticle.h:68
int Pdg(void) const
Definition: GHepParticle.h:64
int FirstMother(void) const
Definition: GHepParticle.h:67
string Name(void) const
Name that corresponds to the PDG code.
int LastDaughter(void) const
Definition: GHepParticle.h:70
double Py(void) const
Get Py.
Definition: GHepParticle.h:90
void GHepParticle::Print ( Option_t *  opt) const

Definition at line 474 of file GHepParticle.cxx.

References om::cout, and Print().

475 {
476 // implement the TObject's Print(Option_t *) method
477 
478  this->Print(cout);
479 }
void Print(ostream &stream) const
OStream cout
Definition: OStream.cxx:6
double genie::GHepParticle::Px ( void  ) const
inline
double genie::GHepParticle::Py ( void  ) const
inline
double genie::GHepParticle::Pz ( void  ) const
inline
double genie::GHepParticle::RemovalEnergy ( void  ) const
inline
int genie::GHepParticle::RescatterCode ( void  ) const
inline
void GHepParticle::Reset ( void  )

Definition at line 433 of file GHepParticle.cxx.

References CleanUp(), and Init().

Referenced by SetLastDaughter().

434 {
435 // deallocate memory + initialize
436 
437  this->CleanUp();
438  this->Init();
439 }
void GHepParticle::SetBound ( bool  bound)

Definition at line 379 of file GHepParticle.cxx.

References fIsBound, fPdgCode, fRemovalEnergy, genie::pdg::IsNeutronOrProton(), LOG, and pERROR.

Referenced by SetLastDaughter(), and SetRemovalEnergy().

380 {
381  // only set it for p or n
382  bool is_nucleon = pdg::IsNeutronOrProton(fPdgCode);
383  if(!is_nucleon && bound) {
384  LOG("GHepParticle", pERROR)
385  << "Refusing to set the bound flag for particles other than nucleons";
386  LOG("GHepParticle", pERROR)
387  << "(Requested for pdg = " << fPdgCode << ")";
388  return;
389  }
390  // if the particles isn't bound then make sure that its removal energy = 0
391  if(!bound) {
392  fRemovalEnergy = 0;
393  }
394  // set the flag
395  fIsBound = bound;
396 }
#define pERROR
Definition: Messenger.h:60
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
int fPdgCode
particle PDG code
Definition: GHepParticle.h:175
bool fIsBound
&#39;is it a bound particle?&#39; flag
Definition: GHepParticle.h:187
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
bool IsNeutronOrProton(int pdgc)
Definition: PDGUtils.cxx:314
void GHepParticle::SetEnergy ( double  E)

Definition at line 287 of file GHepParticle.cxx.

References Px(), Py(), Pz(), and SetMomentum().

Referenced by genie::NucDeExcitationSim::AddPhoton(), genie::NucBindEnergyAggregator::ProcessEventRecord(), and SetLastDaughter().

288 {
289  this->SetMomentum(this->Px(), this->Py(), this->Pz(), En);
290 }
void SetMomentum(const TLorentzVector &p4)
double Pz(void) const
Get Pz.
Definition: GHepParticle.h:91
double Px(void) const
Get Px.
Definition: GHepParticle.h:89
double Py(void) const
Get Py.
Definition: GHepParticle.h:90
void genie::GHepParticle::SetFirstDaughter ( int  d)
inline
void genie::GHepParticle::SetFirstMother ( int  m)
inline
void genie::GHepParticle::SetLastDaughter ( int  d)
inline
void genie::GHepParticle::SetLastMother ( int  m)
inline
void GHepParticle::SetMomentum ( const TLorentzVector &  p4)
void GHepParticle::SetMomentum ( double  px,
double  py,
double  pz,
double  E 
)

Definition at line 262 of file GHepParticle.cxx.

References fP4.

263 {
264  if(fP4)
265  fP4->SetPxPyPzE(px, py, pz, En);
266  else
267  fP4 = new TLorentzVector(px, py, pz, En);
268 }
TLorentzVector * fP4
momentum 4-vector (GeV)
Definition: GHepParticle.h:182
void GHepParticle::SetPdgCode ( int  c)
void GHepParticle::SetPolarization ( double  theta,
double  phi 
)

Definition at line 346 of file GHepParticle.cxx.

References fPolzPhi, fPolzTheta, kPi, LOG, pERROR, and chisquared::theta.

Referenced by SetLastDaughter(), genie::PrimaryLeptonGenerator::SetPolarization(), genie::OutgoingDarkGenerator::SetPolarization(), and SetPolarization().

347 {
348 // sets the polarization angles
349 
350  if(theta>=0 && theta<=kPi && phi>=0 && phi<2*kPi)
351  {
352  fPolzTheta = theta;
353  fPolzPhi = phi;
354 
355  } else {
356  LOG("GHepParticle", pERROR)
357  << "Invalid polarization angles (polar = " << theta
358  << ", azimuthal = " << phi << ")";
359  }
360 }
const double kPi
#define pERROR
Definition: Messenger.h:60
double fPolzPhi
azimuthal polarization angle (rad)
Definition: GHepParticle.h:185
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
double fPolzTheta
polar polarization angle (rad)
Definition: GHepParticle.h:184
void GHepParticle::SetPolarization ( const TVector3 &  polz)

Definition at line 362 of file GHepParticle.cxx.

References kPi, LOG, pERROR, SetPolarization(), and chisquared::theta.

363 {
364 // sets the polarization angles
365 
366  double p = polz.Mag();
367  if(! (p>0) ) {
368  LOG("GHepParticle", pERROR)
369  << "Input polarization vector has non-positive norm! Ignoring it";
370  return;
371  }
372 
373  double theta = TMath::ACos(polz.z()/p);
374  double phi = kPi + TMath::ATan2(-polz.y(), -polz.x());
375 
376  this->SetPolarization(theta,phi);
377 }
const double kPi
#define pERROR
Definition: Messenger.h:60
const char * p
Definition: xmltok.h:285
void SetPolarization(double theta, double phi)
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
void GHepParticle::SetPosition ( const TLorentzVector &  v4)
void GHepParticle::SetPosition ( double  x,
double  y,
double  z,
double  t 
)

Definition at line 275 of file GHepParticle.cxx.

References fX4, LOG, and pDEBUG.

276 {
277 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
278  LOG("GHepParticle", pDEBUG)
279  << "Setting position to (x = " << x << ", y = "
280  << y << ", z = " << z << ", t = " << t << ")";
281 #endif
282 
283  if(fX4) fX4->SetXYZT(x,y,z,t);
284  else fX4 = new TLorentzVector(x,y,z,t);
285 }
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
z
Definition: test.py:28
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
#define pDEBUG
Definition: Messenger.h:64
void GHepParticle::SetPx ( double  px)

Definition at line 292 of file GHepParticle.cxx.

References E(), Py(), Pz(), and SetMomentum().

Referenced by genie::NucDeExcitationSim::AddPhoton(), genie::NucBindEnergyAggregator::ProcessEventRecord(), and SetLastDaughter().

293 {
294  this->SetMomentum(px, this->Py(), this->Pz(), this->E());
295 }
double E(void) const
Get energy.
Definition: GHepParticle.h:92
void SetMomentum(const TLorentzVector &p4)
double Pz(void) const
Get Pz.
Definition: GHepParticle.h:91
double Py(void) const
Get Py.
Definition: GHepParticle.h:90
void GHepParticle::SetPy ( double  py)

Definition at line 297 of file GHepParticle.cxx.

References E(), Px(), Pz(), and SetMomentum().

Referenced by genie::NucDeExcitationSim::AddPhoton(), genie::NucBindEnergyAggregator::ProcessEventRecord(), and SetLastDaughter().

298 {
299  this->SetMomentum(this->Px(), py, this->Pz(), this->E());
300 }
double E(void) const
Get energy.
Definition: GHepParticle.h:92
void SetMomentum(const TLorentzVector &p4)
double Pz(void) const
Get Pz.
Definition: GHepParticle.h:91
double Px(void) const
Get Px.
Definition: GHepParticle.h:89
void GHepParticle::SetPz ( double  pz)

Definition at line 302 of file GHepParticle.cxx.

References E(), Px(), Py(), and SetMomentum().

Referenced by genie::NucDeExcitationSim::AddPhoton(), genie::NucBindEnergyAggregator::ProcessEventRecord(), and SetLastDaughter().

303 {
304  this->SetMomentum(this->Px(), this->Py(), pz, this->E());
305 }
double E(void) const
Get energy.
Definition: GHepParticle.h:92
void SetMomentum(const TLorentzVector &p4)
double Px(void) const
Get Px.
Definition: GHepParticle.h:89
double Py(void) const
Get Py.
Definition: GHepParticle.h:90
void GHepParticle::SetRemovalEnergy ( double  Erm)

Definition at line 398 of file GHepParticle.cxx.

References fRemovalEnergy, and SetBound().

Referenced by genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::FermiMover::KickHitNucleon(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), genie::QELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), and SetLastDaughter().

399 {
400  fRemovalEnergy = TMath::Max(Erm, 0.); // non-negative
401 
402  // if a value was set, make sure that the IsBound flag is turned on
403  if(fRemovalEnergy>0) this->SetBound(true);
404 }
double fRemovalEnergy
removal energy for bound nucleons (GeV)
Definition: GHepParticle.h:186
void SetBound(bool bound)
void genie::GHepParticle::SetRescatterCode ( int  code)
inline

Definition at line 130 of file GHepParticle.h.

References fRescatterCode.

Referenced by Copy().

130 { fRescatterCode = code; }
int fRescatterCode
rescattering code
Definition: GHepParticle.h:177
Definition: inftrees.h:24
void genie::GHepParticle::SetStatus ( GHepStatus_t  s)
inline

Definition at line 127 of file GHepParticle.h.

References fStatus.

Referenced by genie::HNIntranuke2018::AbsorbHN(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), Copy(), genie::PythiaDecayer::Decay(), genie::BaryonResonanceDecayer::Decay(), genie::HAIntranuke::ElasHA(), genie::HAIntranuke2018::ElasHA(), genie::HNIntranuke2018::ElasHN(), genie::HNIntranuke2018::HandleCompoundNucleus(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::HAIntranuke::InelasticHA(), genie::HAIntranuke2018::InelasticHA(), genie::HNIntranuke2018::InelasticHN(), genie::utils::intranuke::PhaseSpaceDecay(), genie::utils::intranuke2018::PhaseSpaceDecay(), genie::utils::intranuke::PionProduction(), genie::utils::intranuke2018::PionProduction(), genie::utils::intranuke::PreEquilibrium(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::HAIntranuke::SimulateHadronicFinalState(), genie::HAIntranuke2018::SimulateHadronicFinalState(), genie::HNIntranuke2018::SimulateHadronicFinalState(), genie::utils::intranuke::ThreeBodyKinematics(), genie::utils::intranuke2018::ThreeBodyKinematics(), genie::Intranuke::TransportHadrons(), genie::Intranuke2018::TransportHadrons(), genie::HadronTransporter::TransportInTransparentNuc(), genie::utils::intranuke::TwoBodyCollision(), and genie::utils::intranuke2018::TwoBodyCollision().

127 { fStatus = s; }
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
const XML_Char * s
Definition: expat.h:262
GHepStatus_t genie::GHepParticle::Status ( void  ) const
inline

Definition at line 65 of file GHepParticle.h.

References fStatus.

Referenced by AcceptEvent(), CheckChargeConservation(), CheckDecayerConsistency(), CheckEnergyMomentumConservation(), CheckForNumFinStateNucleonsInconsistentWithTarget(), CheckForOffMassShellParticlesInFinState(), CheckForPseudoParticlesInFinState(), ConvertToGHad(), ConvertToGINuke(), ConvertToGRooTracker(), ConvertToGST(), ConvertToGTracker(), ConvertToGXML(), Copy(), genie::PythiaDecayer::Decay(), genie::GHepRecord::EventGenerationMode(), evgen::GENIENeutronOscGen::fillMCTruth(), FindhAFate(), genie::GHepRecord::FindParticle(), genie::GHepRecord::FirstNonInitStateEntry(), GenerateEvent(), genie::GHepRecord::GetStableDescendants(), genie::GHepRecord::HitElectronPosition(), genie::GHepRecord::HitNucleonPosition(), main(), supernova::SnovaGen::MakeMCTruth(), genie::Intranuke::NeedsRescattering(), genie::Intranuke2018::NeedsRescattering(), genie::GHepRecord::NEntries(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), operator<<(), genie::GHepRecord::ParticlePosition(), Print(), genie::GHepRecord::Print(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::PythiaDecayer::ProcessEventRecord(), genie::NucBindEnergyAggregator::ProcessEventRecord(), genie::BaryonResonanceDecayer::ProcessEventRecord(), genie::GHepRecord::RemnantNucleusPosition(), genie::GHepRecord::RemoveIntermediateParticles(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::GHepRecord::TargetNucleusPosition(), and genie::HadronTransporter::TransportInTransparentNuc().

65 { return fStatus; }
GHepStatus_t fStatus
particle status
Definition: GHepParticle.h:176
double genie::GHepParticle::Vt ( void  ) const
inline
double genie::GHepParticle::Vx ( void  ) const
inline
double genie::GHepParticle::Vy ( void  ) const
inline
double genie::GHepParticle::Vz ( void  ) const
inline
const TLorentzVector* genie::GHepParticle::X4 ( void  ) const
inline

Definition at line 80 of file GHepParticle.h.

References fX4.

Referenced by genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::MECGenerator::AddFinalStateLepton(), genie::AMNuGammaGenerator::AddFinalStateNeutrino(), genie::DISHadronicSystemGenerator::AddFragmentationProducts(), genie::AMNuGammaGenerator::AddPhoton(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::AMNuGammaGenerator::AddRecoilNucleon(), genie::RESHadronicSystemGenerator::AddResonance(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::PrimaryLeptonGenerator::AddToEventRecord(), genie::OutgoingDarkGenerator::AddToEventRecord(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_AlvarezRuso(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_ReinSehgal(), CheckVertexDistribution(), ConvertToGRooTracker(), ConvertToGTracker(), Copy(), genie::PythiaDecayer::Decay(), genie::BaryonResonanceDecayer::DecayExclusive(), genie::MECGenerator::GenerateNSVInitialHadrons(), genie::Intranuke::GenerateStep(), genie::HAIntranuke::Inelastic(), genie::HAIntranuke2018::Inelastic(), genie::Intranuke::IsInNucleus(), genie::Intranuke2018::IsInNucleus(), genie::FermiMover::KickHitNucleon(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::INukeDeltaPropg::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::MECGenerator::RecoilNucleonCluster(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::DISHadronicSystemGenerator::SimulateFormationZone(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::utils::intranuke::StepParticle(), genie::utils::intranuke2018::StepParticle(), genie::Intranuke::TransportHadrons(), and genie::Intranuke2018::TransportHadrons().

80 { return fX4; }
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
TLorentzVector* genie::GHepParticle::X4 ( void  )
inline

Definition at line 82 of file GHepParticle.h.

References fX4, GetP4(), and GetX4().

82 { return fX4; }
TLorentzVector * fX4
position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)
Definition: GHepParticle.h:183
int GHepParticle::Z ( void  ) const

Friends And Related Function Documentation

ostream& operator<< ( ostream &  stream,
const GHepParticle p 
)
friend

Referenced by SetLastDaughter().

Member Data Documentation

int genie::GHepParticle::fFirstDaughter
private

first daughter idx

Definition at line 180 of file GHepParticle.h.

Referenced by CompareFamily(), FirstDaughter(), HasDaughters(), Init(), and SetFirstDaughter().

int genie::GHepParticle::fFirstMother
private

first mother idx

Definition at line 178 of file GHepParticle.h.

Referenced by CompareFamily(), FirstMother(), Init(), and SetFirstMother().

bool genie::GHepParticle::fIsBound
private

'is it a bound particle?' flag

Definition at line 187 of file GHepParticle.h.

Referenced by Copy(), GHepParticle(), Init(), IsBound(), and SetBound().

int genie::GHepParticle::fLastDaughter
private

last daughter idx

Definition at line 181 of file GHepParticle.h.

Referenced by CompareFamily(), Init(), LastDaughter(), and SetLastDaughter().

int genie::GHepParticle::fLastMother
private

last mother idx

Definition at line 179 of file GHepParticle.h.

Referenced by CompareFamily(), Init(), LastMother(), and SetLastMother().

TLorentzVector* genie::GHepParticle::fP4
private

momentum 4-vector (GeV)

Definition at line 182 of file GHepParticle.h.

Referenced by CleanUp(), E(), GetP4(), GHepParticle(), Init(), IsOnMassShell(), KinE(), P4(), Px(), Py(), Pz(), and SetMomentum().

int genie::GHepParticle::fPdgCode
private
double genie::GHepParticle::fPolzPhi
private

azimuthal polarization angle (rad)

Definition at line 185 of file GHepParticle.h.

Referenced by Copy(), GetPolarization(), GHepParticle(), Init(), PolzAzimuthAngle(), PolzIsSet(), and SetPolarization().

double genie::GHepParticle::fPolzTheta
private

polar polarization angle (rad)

Definition at line 184 of file GHepParticle.h.

Referenced by Copy(), GetPolarization(), GHepParticle(), Init(), PolzIsSet(), PolzPolarAngle(), and SetPolarization().

double genie::GHepParticle::fRemovalEnergy
private

removal energy for bound nucleons (GeV)

Definition at line 186 of file GHepParticle.h.

Referenced by Copy(), GHepParticle(), Init(), RemovalEnergy(), SetBound(), and SetRemovalEnergy().

int genie::GHepParticle::fRescatterCode
private

rescattering code

Definition at line 177 of file GHepParticle.h.

Referenced by GHepParticle(), Init(), RescatterCode(), and SetRescatterCode().

GHepStatus_t genie::GHepParticle::fStatus
private

particle status

Definition at line 176 of file GHepParticle.h.

Referenced by Compare(), CompareStatusCodes(), Init(), SetStatus(), and Status().

TLorentzVector* genie::GHepParticle::fX4
private

position 4-vector (in the target nucleus coordinate system / x,y,z in fm / t=0)

Definition at line 183 of file GHepParticle.h.

Referenced by CleanUp(), GetX4(), GHepParticle(), Init(), SetPosition(), Vt(), Vx(), Vy(), Vz(), and X4().


The documentation for this class was generated from the following files: