GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
genie::InitialState Class Reference

Initial State information. More...

#include <InitialState.h>

Inheritance diagram for genie::InitialState:
Inheritance graph
[legend]
Collaboration diagram for genie::InitialState:
Collaboration graph
[legend]

Public Member Functions

 InitialState ()
 
 InitialState (int tgt_pdgc, int probe_pdgc)
 
 InitialState (int Z, int A, int probe_pdgc)
 
 InitialState (const Target &tgt, int probe_pdgc)
 
 InitialState (const InitialState &initial_state)
 
 InitialState (TRootIOCtor *)
 
 ~InitialState ()
 
TParticlePDG * Probe (void) const
 
int ProbePdg (void) const
 
int TgtPdg (void) const
 
const TargetTgt (void) const
 
TargetTgtPtr (void) const
 
TLorentzVector * GetTgtP4 (RefFrame_t rf=kRfLab) const
 
TLorentzVector * GetProbeP4 (RefFrame_t rf=kRfHitNucRest) const
 
double ProbeE (RefFrame_t rf) const
 
double CMEnergy () const
 centre-of-mass energy (sqrt s) More...
 
void SetPdgs (int tgt_pdgc, int probe_pdgc)
 
void SetProbePdg (int pdg_code)
 
void SetTgtPdg (int pdg_code)
 
void SetTgtP4 (const TLorentzVector &P4)
 
void SetProbeP4 (const TLorentzVector &P4)
 
void SetProbeE (double E)
 
bool IsNuP (void) const
 is neutrino + proton? More...
 
bool IsNuN (void) const
 is neutrino + neutron? More...
 
bool IsNuBarP (void) const
 is anti-neutrino + proton? More...
 
bool IsNuBarN (void) const
 is anti-neutrino + neutron? More...
 
bool IsDMP (void) const
 is dark matter + proton? More...
 
bool IsDMN (void) const
 is dark matter + neutron? More...
 
bool IsDMBP (void) const
 is anti-dark matter + proton? More...
 
bool IsDMBN (void) const
 is anti-dark matter + neutron? More...
 
void Reset (void)
 
void Copy (const InitialState &init_state)
 
bool Compare (const InitialState &init_state) const
 
string AsString (void) const
 
void Print (ostream &stream) const
 
bool operator== (const InitialState &i) const
 equal? More...
 
InitialStateoperator= (const InitialState &i)
 copy More...
 

Private Member Functions

void Init (void)
 
void Init (int target_pdgc, int probe_pdgc)
 
void CleanUp (void)
 

Private Attributes

int fProbePdg
 probe PDG code More...
 
TargetfTgt
 nuclear target More...
 
TLorentzVector * fProbeP4
 probe 4-momentum in LAB-frame More...
 
TLorentzVector * fTgtP4
 nuclear target 4-momentum in LAB-frame More...
 

Friends

ostream & operator<< (ostream &stream, const InitialState &i)
 print More...
 

Detailed Description

Initial State information.

Author
Costas Andreopoulos <c.andreopoulos cern.ch> University of Liverpool

Changes required to implement the GENIE Boosted Dark Matter module were installed by Josh Berger (Univ. of Wisconsin)

Other minor changes / additions and fixes were installed by: Andy Furmanski (Univ. of Manchester) Joe Johnston (Univ of Pittsburgh)

Created:
May 02, 2004
License:
Copyright (c) 2003-2024, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org

Definition at line 48 of file InitialState.h.

Constructor & Destructor Documentation

InitialState::InitialState ( )

Definition at line 46 of file InitialState.cxx.

References Init().

46  :
47 TObject()
48 {
49  this->Init();
50 }
InitialState::InitialState ( int  tgt_pdgc,
int  probe_pdgc 
)

Definition at line 52 of file InitialState.cxx.

References Init().

52  :
53 TObject()
54 {
55  this->Init(target_pdgc, probe_pdgc);
56 }
InitialState::InitialState ( int  Z,
int  A,
int  probe_pdgc 
)

Definition at line 58 of file InitialState.cxx.

References Init(), and genie::pdg::IonPdgCode().

58  :
59 TObject()
60 {
61  int target_pdgc = pdg::IonPdgCode(A,Z);
62  this->Init(target_pdgc, probe_pdgc);
63 }
static constexpr double A
Definition: Units.h:74
int IonPdgCode(int A, int Z)
Definition: PDGUtils.cxx:71
InitialState::InitialState ( const Target tgt,
int  probe_pdgc 
)

Definition at line 65 of file InitialState.cxx.

References Init(), and genie::Target::Pdg().

65  :
66 TObject()
67 {
68  int target_pdgc = tgt.Pdg();
69  this->Init(target_pdgc, probe_pdgc);
70 }
int Pdg(void) const
Definition: Target.h:71
InitialState::InitialState ( const InitialState initial_state)

Definition at line 72 of file InitialState.cxx.

References Copy(), and Init().

72  :
73 TObject()
74 {
75  this->Init();
76  this->Copy(init_state);
77 }
void Copy(const InitialState &init_state)
InitialState::InitialState ( TRootIOCtor *  )

Definition at line 79 of file InitialState.cxx.

79  :
80 TObject(),
81 fProbePdg(0),
82 fTgt(0),
83 fProbeP4(0),
84 fTgtP4(0)
85 {
86 
87 }
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
int fProbePdg
probe PDG code
Definition: InitialState.h:109
InitialState::~InitialState ( )

Definition at line 89 of file InitialState.cxx.

References CleanUp().

90 {
91  this->CleanUp();
92 }

Member Function Documentation

string InitialState::AsString ( void  ) const

Definition at line 408 of file InitialState.cxx.

References genie::utils::res::Mass(), genie::Target::Pdg(), Probe(), ProbePdg(), and Tgt().

Referenced by genie::GMCJDriver::BootstrapXSecSplines(), genie::XSecAlgorithmMap::BuildMap(), genie::InteractionGeneratorMap::BuildMap(), CalcTotalXSec(), genie::GMCJDriver::ComputeInteractionProbabilities(), genie::GMCJDriver::ComputeProbScales(), genie::GEVGDriver::Configure(), Configure(), genie::HELeptonInteractionListGenerator::CreateInteractionList(), genie::AMNuGammaInteractionListGenerator::CreateInteractionList(), genie::CEvNSInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::NuEInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionList(), genie::DMEInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::NormInteractionListGenerator::CreateInteractionList(), genie::DMELInteractionListGenerator::CreateInteractionList(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::HEDISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::DMELInteractionListGenerator::CreateInteractionListDM(), genie::QELInteractionListGenerator::CreateInteractionListEM(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::GEVGPool::FindDriver(), GenerateEvent(), genie::GEVGDriver::GenerateEvent(), genie::GMCJDriver::GenerateEventKinematics(), and genie::GMCJDriver::PopulateEventGenDriverPool().

409 {
410 // Code-ify the interaction in a string to be used as (part of a) keys
411 // Template:
412 // nu_pdg:code;tgt-pdg:code;
413 
414  ostringstream init_state;
415 
416  if (this->Probe()->Mass() > 0) {
417  init_state << "dm_mass:" << this->Probe()->Mass() << ";";
418  }
419  else {
420  init_state << "nu-pdg:" << this->ProbePdg() << ";";
421  }
422  init_state << "tgt-pdg:" << this->Tgt().Pdg() << ";";
423 
424  return init_state.str();
425 }
int Pdg(void) const
Definition: Target.h:71
TParticlePDG * Probe(void) const
double Mass(Resonance_t res)
resonance mass (GeV)
int ProbePdg(void) const
Definition: InitialState.h:64
const Target & Tgt(void) const
Definition: InitialState.h:66
void InitialState::CleanUp ( void  )
private

Definition at line 118 of file InitialState.cxx.

References fProbeP4, fTgt, and fTgtP4.

Referenced by Reset(), SetPdgs(), SetProbePdg(), SetTgtPdg(), and ~InitialState().

119 {
120  delete fTgt;
121  delete fProbeP4;
122  delete fTgtP4;
123 }
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
double InitialState::CMEnergy ( ) const

centre-of-mass energy (sqrt s)

Definition at line 394 of file InitialState.cxx.

References fTgt, GetProbeP4(), genie::Target::HitNucP4Ptr(), genie::kRfLab, and genie::units::s.

Referenced by genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::utils::CosTheta0Max(), genie::KPhaseSpace::Q2Lim_W_SPP(), and genie::KPhaseSpace::WLim_SPP().

395 {
396  TLorentzVector * k4 = this->GetProbeP4(kRfLab);
397  TLorentzVector * p4 = fTgt->HitNucP4Ptr();
398 
399  *k4 += *p4; // now k4 represents centre-of-mass 4-momentum
400  double s = k4->Dot(*k4); // dot-product with itself
401  double E = TMath::Sqrt(s);
402 
403  delete k4;
404 
405  return E;
406 }
static constexpr double s
Definition: Units.h:95
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:247
TLorentzVector * GetProbeP4(RefFrame_t rf=kRfHitNucRest) const
bool InitialState::Compare ( const InitialState init_state) const

Definition at line 497 of file InitialState.cxx.

References fProbePdg, fTgt, ProbePdg(), and Tgt().

Referenced by operator==().

498 {
499  int probe = init_state.ProbePdg();
500  const Target & target = init_state.Tgt();
501 
502  bool equal = (fProbePdg == probe) && (*fTgt == target);
503 
504  return equal;
505 }
Target * fTgt
nuclear target
Definition: InitialState.h:110
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
int ProbePdg(void) const
Definition: InitialState.h:64
int fProbePdg
probe PDG code
Definition: InitialState.h:109
const Target & Tgt(void) const
Definition: InitialState.h:66
void InitialState::Copy ( const InitialState init_state)

Definition at line 131 of file InitialState.cxx.

References genie::Target::Copy(), fProbeP4, fProbePdg, fTgt, fTgtP4, SetProbeP4(), and SetTgtP4().

Referenced by genie::XSecAlgorithmMap::BuildMap(), genie::InteractionGeneratorMap::BuildMap(), InitialState(), operator=(), and genie::Interaction::SetInitState().

132 {
133  fProbePdg = init_state.fProbePdg;
134 
135  fTgt->Copy(*init_state.fTgt);
136 
137  this -> SetProbeP4 ( *init_state.fProbeP4 );
138  this -> SetTgtP4 ( *init_state.fTgtP4 );
139 }
void SetTgtP4(const TLorentzVector &P4)
void SetProbeP4(const TLorentzVector &P4)
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
void Copy(const Target &t)
Definition: Target.cxx:116
int fProbePdg
probe PDG code
Definition: InitialState.h:109
TLorentzVector * InitialState::GetProbeP4 ( RefFrame_t  rf = kRfHitNucRest) const

Definition at line 325 of file InitialState.cxx.

References fProbeP4, fTgt, genie::Target::HitNucP4Ptr(), genie::kRfHitNucRest, genie::kRfLab, genie::kRfTgtRest, LOG, and pERROR.

Referenced by genie::hnl::Decayer::AddInitialState(), genie::InitialStateAppender::AddNeutrino(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::COHKinematicsGenerator::CalculateKin_AlvarezRuso(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CheckKinematics(), CMEnergy(), genie::utils::ComputeFullDMELPXSec(), genie::utils::ComputeFullQELPXSec(), genie::utils::EnergyDeltaFunctionSolutionDMEL(), genie::utils::EnergyDeltaFunctionSolutionQEL(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), ProbeE(), genie::SPPEventGenerator::ProcessEventRecord(), genie::COHKinematicsGenerator::SetKinematics(), genie::AhrensDMELPXSec::XSec(), and genie::NievesQELCCPXSec::XSec().

326 {
327 // Return the probe 4-momentum in the specified reference frame
328 // Note: the caller adopts the TLorentzVector object
329 
330  switch (ref_frame) {
331 
332  //------------------ NUCLEAR TARGET REST FRAME:
333  case (kRfTgtRest) :
334  {
335  // for now assure that the target nucleus is always at rest
336  // and it is only the struck nucleons that can move:
337  // so the [target rest frame] = [LAB frame]
338 
339  TLorentzVector * p4 = new TLorentzVector(*fProbeP4);
340  return p4;
341  }
342 
343  //------------------ STRUCK NUCLEON REST FRAME:
344  case (kRfHitNucRest) :
345  {
346  // make sure that 'struck nucleon' properties were set in
347  // the nuclear target object
348 
349  assert( fTgt->HitNucP4Ptr() != 0 );
350 
351  TLorentzVector * pnuc4 = fTgt->HitNucP4Ptr();
352 
353  // compute velocity vector (px/E, py/E, pz/E)
354 
355  double bx = pnuc4->Px() / pnuc4->Energy();
356  double by = pnuc4->Py() / pnuc4->Energy();
357  double bz = pnuc4->Pz() / pnuc4->Energy();
358 
359  // BOOST
360 
361  TLorentzVector * p4 = new TLorentzVector(*fProbeP4);
362 
363  p4->Boost(-bx,-by,-bz);
364 
365  return p4;
366 
367  break;
368  }
369  //------------------ LAB:
370  case (kRfLab) :
371  {
372  TLorentzVector * p4 = new TLorentzVector(*fProbeP4);
373  return p4;
374 
375  break;
376  }
377  default:
378 
379  LOG("Interaction", pERROR) << "Uknown reference frame";
380  }
381  return 0;
382 }
#define pERROR
Definition: Messenger.h:59
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:247
TLorentzVector * InitialState::GetTgtP4 ( RefFrame_t  rf = kRfLab) const

Definition at line 275 of file InitialState.cxx.

References fTgt, fTgtP4, genie::Target::HitNucIsSet(), genie::Target::HitNucP4Ptr(), genie::kRfHitNucRest, genie::kRfLab, genie::kRfTgtRest, LOG, and pERROR.

276 {
277 // Return the target 4-momentum in the specified reference frame
278 // Note: the caller adopts the TLorentzVector object
279 
280  switch (ref_frame) {
281 
282  //------------------ NUCLEAR TARGET REST FRAME:
283  case (kRfTgtRest) :
284  {
285  // for now make sure that the target nucleus is always at
286  // rest and it is only the struck nucleons that can move:
287  // so the [target rest frame] = [LAB frame]
288 
289  return this->GetTgtP4(kRfLab);
290  }
291 
292  //------------------ STRUCK NUCLEON REST FRAME:
293  case (kRfHitNucRest) :
294  {
295  // make sure that 'struck nucleon' properties were set in
296  // the nuclear target object
297  assert(fTgt->HitNucIsSet());
298  TLorentzVector * pnuc4 = fTgt->HitNucP4Ptr();
299 
300  // compute velocity vector (px/E, py/E, pz/E)
301  double bx = pnuc4->Px() / pnuc4->Energy();
302  double by = pnuc4->Py() / pnuc4->Energy();
303  double bz = pnuc4->Pz() / pnuc4->Energy();
304 
305  // BOOST
306  TLorentzVector * p4 = new TLorentzVector(*fTgtP4);
307  p4->Boost(-bx,-by,-bz);
308 
309  return p4;
310  break;
311  }
312  //------------------ LAB:
313  case (kRfLab) :
314  {
315  TLorentzVector * p4 = new TLorentzVector(*fTgtP4);
316  return p4;
317  break;
318  }
319  default:
320  LOG("Interaction", pERROR) << "Uknown reference frame";
321  }
322  return 0;
323 }
#define pERROR
Definition: Messenger.h:59
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:247
bool HitNucIsSet(void) const
Definition: Target.cxx:283
TLorentzVector * GetTgtP4(RefFrame_t rf=kRfLab) const
void InitialState::Init ( void  )
private

Definition at line 94 of file InitialState.cxx.

References fProbeP4, fProbePdg, fTgt, and fTgtP4.

Referenced by InitialState(), Reset(), SetPdgs(), SetProbePdg(), and SetTgtPdg().

95 {
96  fProbePdg = 0;
97  fTgt = new Target();
98  fProbeP4 = new TLorentzVector(0, 0, 0, 0);
99  fTgtP4 = new TLorentzVector(0, 0, 0, 0);
100 }
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
int fProbePdg
probe PDG code
Definition: InitialState.h:109
void InitialState::Init ( int  target_pdgc,
int  probe_pdgc 
)
private

Definition at line 102 of file InitialState.cxx.

References genie::PDGLibrary::Find(), fProbeP4, fProbePdg, fTgt, fTgtP4, genie::PDGLibrary::Instance(), and genie::units::m.

103 {
104  TParticlePDG * t = PDGLibrary::Instance()->Find(target_pdgc);
105  TParticlePDG * p = PDGLibrary::Instance()->Find(probe_pdgc );
106 
107  assert(t && p);
108 
109  double m = p->Mass();
110  double M = t->Mass();
111 
112  fProbePdg = probe_pdgc;
113  fTgt = new Target(target_pdgc);
114  fProbeP4 = new TLorentzVector(0, 0, 0, m);
115  fTgtP4 = new TLorentzVector(0, 0, 0, M);
116 }
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:68
int fProbePdg
probe PDG code
Definition: InitialState.h:109
TParticlePDG * Find(int pdgc, bool must_exist=true)
Definition: PDGLibrary.cxx:86
static constexpr double m
Definition: Units.h:71
bool InitialState::IsDMBN ( void  ) const

is anti-dark matter + neutron?

Definition at line 265 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsAntiDarkMatter(), and genie::pdg::IsNeutron().

266 {
267 // Check if DM - neutron interaction
268  int prob = fProbePdg;
269  int nucl = fTgt->HitNucPdg();
270  bool isdn = pdg::IsAntiDarkMatter(prob) && pdg::IsNeutron(nucl);
271 
272  return isdn;
273 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:341
bool IsAntiDarkMatter(int pdgc)
Definition: PDGUtils.cxx:133
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsDMBP ( void  ) const

is anti-dark matter + proton?

Definition at line 255 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsAntiDarkMatter(), and genie::pdg::IsProton().

256 {
257 // Check if DM - proton interaction
258  int prob = fProbePdg;
259  int nucl = fTgt->HitNucPdg();
260  bool isdp = pdg::IsAntiDarkMatter(prob) && pdg::IsProton(nucl);
261 
262  return isdp;
263 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:336
bool IsAntiDarkMatter(int pdgc)
Definition: PDGUtils.cxx:133
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsDMN ( void  ) const

is dark matter + neutron?

Definition at line 245 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsDarkMatter(), and genie::pdg::IsNeutron().

246 {
247 // Check if DM - neutron interaction
248  int prob = fProbePdg;
249  int nucl = fTgt->HitNucPdg();
250  bool isdn = pdg::IsDarkMatter(prob) && pdg::IsNeutron(nucl);
251 
252  return isdn;
253 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsDarkMatter(int pdgc)
Definition: PDGUtils.cxx:127
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:341
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsDMP ( void  ) const

is dark matter + proton?

Definition at line 235 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsDarkMatter(), and genie::pdg::IsProton().

236 {
237 // Check if DM - proton interaction
238  int prob = fProbePdg;
239  int nucl = fTgt->HitNucPdg();
240  bool isdp = pdg::IsDarkMatter(prob) && pdg::IsProton(nucl);
241 
242  return isdp;
243 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsDarkMatter(int pdgc)
Definition: PDGUtils.cxx:127
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:336
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsNuBarN ( void  ) const

is anti-neutrino + neutron?

Definition at line 226 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsAntiNeutrino(), and genie::pdg::IsNeutron().

Referenced by ConvertToGHad(), and genie::utils::ghep::NuanceReactionCode().

227 {
228  int prob = fProbePdg;
229  int nucl = fTgt->HitNucPdg();
230  bool isvbn = pdg::IsAntiNeutrino(prob) && pdg::IsNeutron(nucl);
231 
232  return isvbn;
233 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:341
Target * fTgt
nuclear target
Definition: InitialState.h:110
bool IsAntiNeutrino(int pdgc)
Definition: PDGUtils.cxx:118
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsNuBarP ( void  ) const

is anti-neutrino + proton?

Definition at line 217 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsAntiNeutrino(), and genie::pdg::IsProton().

Referenced by ConvertToGHad(), genie::utils::ghep::NuanceReactionCode(), and genie::StrumiaVissaniIBDPXSec::ValidKinematics().

218 {
219  int prob = fProbePdg;
220  int nucl = fTgt->HitNucPdg();
221  bool isvbp = pdg::IsAntiNeutrino(prob) && pdg::IsProton(nucl);
222 
223  return isvbp;
224 }
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:336
Target * fTgt
nuclear target
Definition: InitialState.h:110
bool IsAntiNeutrino(int pdgc)
Definition: PDGUtils.cxx:118
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsNuN ( void  ) const

is neutrino + neutron?

Definition at line 208 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsNeutrino(), and genie::pdg::IsNeutron().

Referenced by ConvertToGHad(), genie::utils::ghep::NuanceReactionCode(), and genie::StrumiaVissaniIBDPXSec::ValidKinematics().

209 {
210  int prob = fProbePdg;
211  int nucl = fTgt->HitNucPdg();
212  bool isvn = pdg::IsNeutrino(prob) && pdg::IsNeutron(nucl);
213 
214  return isvn;
215 }
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:110
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsNeutron(int pdgc)
Definition: PDGUtils.cxx:341
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
bool InitialState::IsNuP ( void  ) const

is neutrino + proton?

Definition at line 199 of file InitialState.cxx.

References fProbePdg, fTgt, genie::Target::HitNucPdg(), genie::pdg::IsNeutrino(), and genie::pdg::IsProton().

Referenced by ConvertToGHad(), and genie::utils::ghep::NuanceReactionCode().

200 {
201  int prob = fProbePdg;
202  int nucl = fTgt->HitNucPdg();
203  bool isvp = pdg::IsNeutrino(prob) && pdg::IsProton(nucl);
204 
205  return isvp;
206 }
bool IsNeutrino(int pdgc)
Definition: PDGUtils.cxx:110
int HitNucPdg(void) const
Definition: Target.cxx:304
bool IsProton(int pdgc)
Definition: PDGUtils.cxx:336
Target * fTgt
nuclear target
Definition: InitialState.h:110
int fProbePdg
probe PDG code
Definition: InitialState.h:109
InitialState & InitialState::operator= ( const InitialState i)

copy

Definition at line 512 of file InitialState.cxx.

References Copy().

513 {
514  this->Copy(init_state);
515  return (*this);
516 }
void Copy(const InitialState &init_state)
bool InitialState::operator== ( const InitialState i) const

equal?

Definition at line 507 of file InitialState.cxx.

References Compare().

508 {
509  return this->Compare(init_state);
510 }
bool Compare(const InitialState &init_state) const
void InitialState::Print ( ostream &  stream) const

Definition at line 427 of file InitialState.cxx.

References genie::Target::A(), genie::PDGLibrary::Find(), fProbeP4, fProbePdg, fTgt, fTgtP4, genie::Target::HitNucP4Ptr(), genie::Target::HitNucPdg(), genie::Target::HitQrkPdg(), genie::Target::HitSeaQrk(), genie::PDGLibrary::Instance(), genie::pdg::IsAntiQuark(), genie::pdg::IsNeutronOrProton(), genie::pdg::IsQuark(), genie::Target::Pdg(), Probe(), and genie::Target::Z().

Referenced by genie::operator<<().

428 {
429  stream << "[-] [Init-State] " << endl;
430 
431  stream << " |--> probe : "
432  << "PDG-code = " << fProbePdg
433  << " (" << this->Probe()->GetName() << ")" << endl;
434 
435  stream << " |--> nucl. target : "
436  << "Z = " << fTgt->Z()
437  << ", A = " << fTgt->A()
438  << ", PDG-Code = " << fTgt->Pdg();
439 
440  TParticlePDG * tgt = PDGLibrary::Instance()->Find( fTgt->Pdg() );
441  if(tgt) {
442  stream << " (" << tgt->GetName() << ")";
443  }
444  stream << endl;
445 
446  stream << " |--> hit nucleon : ";
447  int nuc_pdgc = fTgt->HitNucPdg();
448 
449  if ( pdg::IsNeutronOrProton(nuc_pdgc) ) {
450  TParticlePDG * p = PDGLibrary::Instance()->Find(nuc_pdgc);
451  stream << "PDC-Code = " << nuc_pdgc << " (" << p->GetName() << ")";
452  } else {
453  stream << "no set";
454  }
455  stream << endl;
456 
457  stream << " |--> hit quark : ";
458  int qrk_pdgc = fTgt->HitQrkPdg();
459 
460  if ( pdg::IsQuark(qrk_pdgc) || pdg::IsAntiQuark(qrk_pdgc)) {
461  TParticlePDG * p = PDGLibrary::Instance()->Find(qrk_pdgc);
462  stream << "PDC-Code = " << qrk_pdgc << " (" << p->GetName() << ") ";
463  stream << (fTgt->HitSeaQrk() ? "[sea]" : "[valence]");
464  } else {
465  stream << "no set";
466  }
467  stream << endl;
468 
469  stream << " |--> probe 4P : "
470  << "(E = " << setw(12) << setprecision(6) << fProbeP4->E()
471  << ", Px = " << setw(12) << setprecision(6) << fProbeP4->Px()
472  << ", Py = " << setw(12) << setprecision(6) << fProbeP4->Py()
473  << ", Pz = " << setw(12) << setprecision(6) << fProbeP4->Pz()
474  << ")"
475  << endl;
476  stream << " |--> target 4P : "
477  << "(E = " << setw(12) << setprecision(6) << fTgtP4->E()
478  << ", Px = " << setw(12) << setprecision(6) << fTgtP4->Px()
479  << ", Py = " << setw(12) << setprecision(6) << fTgtP4->Py()
480  << ", Pz = " << setw(12) << setprecision(6) << fTgtP4->Pz()
481  << ")"
482  << endl;
483 
484  if ( pdg::IsNeutronOrProton(nuc_pdgc) ) {
485 
486  TLorentzVector * nuc_p4 = fTgt->HitNucP4Ptr();
487 
488  stream << " |--> nucleon 4P : "
489  << "(E = " << setw(12) << setprecision(6) << nuc_p4->E()
490  << ", Px = " << setw(12) << setprecision(6) << nuc_p4->Px()
491  << ", Py = " << setw(12) << setprecision(6) << nuc_p4->Py()
492  << ", Pz = " << setw(12) << setprecision(6) << nuc_p4->Pz()
493  << ")";
494  }
495 }
bool HitSeaQrk(void) const
Definition: Target.cxx:299
int HitNucPdg(void) const
Definition: Target.cxx:304
int A(void) const
Definition: Target.h:70
int HitQrkPdg(void) const
Definition: Target.cxx:242
int Pdg(void) const
Definition: Target.h:71
bool IsAntiQuark(int pdgc)
Definition: PDGUtils.cxx:258
TParticlePDG * Probe(void) const
Target * fTgt
nuclear target
Definition: InitialState.h:110
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
int Z(void) const
Definition: Target.h:68
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:247
static PDGLibrary * Instance(void)
Definition: PDGLibrary.cxx:68
bool IsQuark(int pdgc)
Definition: PDGUtils.cxx:250
bool IsNeutronOrProton(int pdgc)
Definition: PDGUtils.cxx:351
int fProbePdg
probe PDG code
Definition: InitialState.h:109
TParticlePDG * Find(int pdgc, bool must_exist=true)
Definition: PDGLibrary.cxx:86
TParticlePDG * InitialState::Probe ( void  ) const
double InitialState::ProbeE ( RefFrame_t  rf) const

Definition at line 384 of file InitialState.cxx.

References GetProbeP4().

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::hnl::Decayer::AddInitialState(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), genie::RESKinematicsGenerator::ComputeMaxXSec(), genie::SKKinematicsGenerator::ComputeMaxXSec(), genie::SPPEventGenerator::ComputeMaxXSec(), genie::LabFrameHadronTensorI::contraction(), genie::utils::CosTheta0Max(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::utils::gsl::d3XSecMK_dWQ2CosTheta_E::d3XSecMK_dWQ2CosTheta_E(), genie::utils::gsl::d4XSecMK_dWQ2CosThetaPhi_E::d4XSecMK_dWQ2CosThetaPhi_E(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta_rosenbluth(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::HELeptonKinematicsGenerator::Energy(), genie::NuEKinematicsGenerator::Energy(), genie::DMEKinematicsGenerator::Energy(), genie::SKKinematicsGenerator::Energy(), genie::KineGeneratorWithCache::Energy(), genie::COHKinematicsGenerator::Energy(), genie::BergerSehgalFMCOHPiPXSec2015::ExactKinematicTerm(), genie::BergerSehgalCOHPiPXSec2015::ExactKinematicTerm(), genie::MArunAxialFormFactorModel::FA(), genie::CEvNSEventGenerator::GenerateKinematics(), genie::COHDNuEventGenerator::GenerateKinematics(), genie::hnl::Decayer::GenerateMomentum(), genie::utils::mec::GetMaxXSecTlctl(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::MECGenerator::GetXSecMaxTlctl(), genie::AGCharm2019::Hadronize(), genie::evtlib::EvtLibPXSec::Integral(), genie::H3AMNuGammaPXSec::Integral(), genie::EmpiricalMECPXSec2015::Integral(), genie::KLVOxygenIBDPXSec::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::COHXSecAR::Integrate(), genie::DISXSec::Integrate(), genie::CEvNSXSec::Integrate(), genie::COHXSec::Integrate(), genie::COHDNuXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::MECXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::NewQELXSec::Integrate(), genie::KPhaseSpace::IsAboveThreshold(), genie::utils::kinematics::Jacobian(), genie::FermiMover::KickHitNucleon(), genie::COHKinematicsGenerator::MaxXSec_AlvarezRuso(), genie::COHKinematicsGenerator::MaxXSec_ReinSehgal(), genie::SuSAv2MECPXSec::PairRatio(), genie::utils::kinematics::PhaseSpaceVolume(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::NuEPrimaryLeptonGenerator::ProcessEventRecord(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::DMEOutgoingDarkGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::HENuElGenerator::ProcessEventRecord(), genie::PhotonCOHGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::KPhaseSpace::Q2Lim_W_SPP_iso(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::PhysInteractionSelector::SelectInteraction(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateWYFromXQ2(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), genie::StrumiaVissaniIBDPXSec::ValidKinematics(), genie::KLVOxygenIBDPXSec::ValidKinematics(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::MKSPPPXSec2020::ValidKinematics(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::WLim_SPP_iso(), genie::KPhaseSpace::XLim(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::PattonCEvNSPXSec::XSec(), genie::HEDISPXSec::XSec(), genie::GLRESPXSec::XSec(), genie::PhotonRESPXSec::XSec(), genie::AlamSimoAtharVacasSKPXSec2014::XSec(), genie::PhotonCOHPXSec::XSec(), genie::HENuElPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::StrumiaVissaniIBDPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::IMDAnnihilationPXSec::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::QPMDISPXSec::XSec(), genie::P33PaschosLalakulichPXSec::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::BertuzzoDNuCOHPXSec::XSec(), genie::AhrensDMELPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::NuElectronPXSec::XSec(), genie::DMElectronPXSec::XSec(), genie::BardinIMDRadCorPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::BostedChristyEMPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::KPhaseSpace::YLim(), and genie::KPhaseSpace::YLim_X().

385 {
386  TLorentzVector * p4 = this->GetProbeP4(ref_frame);
387  double E = p4->Energy();
388 
389  delete p4;
390  return E;
391 }
TLorentzVector * GetProbeP4(RefFrame_t rf=kRfHitNucRest) const
int genie::InitialState::ProbePdg ( void  ) const
inline

Definition at line 64 of file InitialState.h.

References fProbePdg.

Referenced by genie::NuETargetRemnantGenerator::AddElectronNeutrino(), genie::hnl::Decayer::AddInitialState(), genie::InitialStateAppender::AddNeutrino(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), AsString(), genie::Interaction::AsString(), genie::utils::BindHitNucleon(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), Compare(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::GEVGDriver::Configure(), genie::LabFrameHadronTensorI::contraction(), genie::HELeptonInteractionListGenerator::CreateInteractionList(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::AMNuGammaInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::NormInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::HEDISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::DMELInteractionListGenerator::CreateInteractionListDM(), genie::QELInteractionListGenerator::CreateInteractionListEM(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::HEDISStrucFunc::CreateQrkSF(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::DMEInteractionListGenerator::DMEELInteractionList(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta(), genie::TabulatedLabFrameHadronTensor::dSigma_dT_dCosTheta_rosenbluth(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::SppChannel::FromInteraction(), genie::Interaction::FSPrimLeptonPdg(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::DISInteractionListGenerator::GetHitQuarks(), genie::HEDISInteractionListGenerator::GetHitQuarks(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::evtlib::EvtLibPXSec::GetXSec(), genie::HELeptonInteractionListGenerator::GLRESInteraction(), genie::AGCharm2019::Hadronize(), genie::HELeptonInteractionListGenerator::HENuElectronInteraction(), genie::NuEInteractionListGenerator::IMDAnnihilationInteractionList(), genie::NuEInteractionListGenerator::IMDInteractionList(), genie::EmpiricalMECPXSec2015::Integral(), genie::KLVOxygenIBDPXSec::Integral(), genie::HELeptonXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::AGKYLowW2019::MultiplicityProb(), genie::utils::ghep::NeutReactionCode(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::NuEInteractionListGenerator::NuEELInteractionList(), genie::SuSAv2MECPXSec::PairRatio(), genie::HELeptonInteractionListGenerator::PhotonRESInteraction(), genie::HELeptonKinematicsGenerator::ProcessEventRecord(), genie::PhotonCOHGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::GLRESGenerator::ProcessEventRecord(), genie::hnl::Decayer::ProcessEventRecord(), genie::evtlib::EventLibraryInterface::ProcessEventRecord(), genie::KPhaseSpace::Q2Lim_W_SPP(), genie::KPhaseSpace::Q2Lim_W_SPP_iso(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::SuSAv2MECPXSec::Qvalue(), genie::Interaction::RecoilNucleonPdg(), genie::QELEventGeneratorSuSA::SelectLeptonKinematics(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), SetTgtPdg(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::Threshold_SPP_iso(), genie::KLVOxygenIBDPXSec::ValidKinematics(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::HEDISPXSec::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::PhotonRESPXSec::ValidProcess(), genie::PhotonCOHPXSec::ValidProcess(), genie::HENuElPXSec::ValidProcess(), genie::StrumiaVissaniIBDPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::QPMDISPXSec::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::KLVOxygenIBDPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::QPMDMDISPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::SuSAv2MECPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::KPhaseSpace::WLim_SPP_iso(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::HENuElPXSec::XSec(), genie::PhotonRESPXSec::XSec(), genie::PhotonCOHPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::QPMDISPXSec::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::AhrensDMELPXSec::XSec(), genie::BertuzzoDNuCOHPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::NuElectronPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::DMElectronPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), and genie::SuSAv2QELPXSec::XSecScaling().

64 { return fProbePdg; }
int fProbePdg
probe PDG code
Definition: InitialState.h:109
void InitialState::Reset ( void  )

Definition at line 125 of file InitialState.cxx.

References CleanUp(), and Init().

126 {
127  this->CleanUp();
128  this->Init();
129 }
void InitialState::SetPdgs ( int  tgt_pdgc,
int  probe_pdgc 
)
void InitialState::SetProbeE ( double  E)
void InitialState::SetProbeP4 ( const TLorentzVector &  P4)

Definition at line 183 of file InitialState.cxx.

References fProbeP4.

Referenced by genie::hnl::Decayer::AddInitialState(), genie::Interaction::AMNuGamma(), genie::Interaction::ASK(), genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::Interaction::CEvNS(), genie::Interaction::COHCC(), genie::Interaction::COHNC(), Copy(), genie::XSecSplineList::CreateSpline(), genie::Interaction::DFRCC(), genie::Interaction::DISCC(), genie::Interaction::DISEM(), genie::Interaction::DISNC(), genie::Interaction::DMDI(), genie::Interaction::DME(), genie::GEVGDriver::GenerateEvent(), GenerateOriginMomentum(), genie::Interaction::GLR(), genie::Interaction::IBD(), genie::Interaction::IMD(), main(), genie::Interaction::MECCC(), genie::Interaction::MECEM(), genie::Interaction::MECNC(), genie::Interaction::QELCC(), genie::Interaction::QELEM(), genie::Interaction::QELNC(), genie::Interaction::RESCC(), genie::Interaction::RESEM(), genie::Interaction::RESNC(), genie::PhysInteractionSelector::SelectInteraction(), genie::ToyInteractionSelector::SelectInteraction(), TestDecay(), and genie::GEVGDriver::XSecSum().

184 {
185  fProbeP4 -> SetE ( P4.E() );
186  fProbeP4 -> SetPx ( P4.Px() );
187  fProbeP4 -> SetPy ( P4.Py() );
188  fProbeP4 -> SetPz ( P4.Pz() );
189 }
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
Definition: InitialState.h:111
void InitialState::SetProbePdg ( int  pdg_code)

Definition at line 167 of file InitialState.cxx.

References CleanUp(), Init(), and TgtPdg().

Referenced by main().

168 {
169  int tgt_pdgc = this->TgtPdg();
170 
171  this->CleanUp();
172  this->Init(tgt_pdgc, probe_pdgc);
173 }
int TgtPdg(void) const
void InitialState::SetTgtP4 ( const TLorentzVector &  P4)

Definition at line 191 of file InitialState.cxx.

References fTgtP4.

Referenced by Copy().

192 {
193  fTgtP4 -> SetE ( P4.E() );
194  fTgtP4 -> SetPx ( P4.Px() );
195  fTgtP4 -> SetPy ( P4.Py() );
196  fTgtP4 -> SetPz ( P4.Pz() );
197 }
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
Definition: InitialState.h:112
void InitialState::SetTgtPdg ( int  pdg_code)

Definition at line 159 of file InitialState.cxx.

References CleanUp(), Init(), and ProbePdg().

160 {
161  int probe_pdgc = this->ProbePdg();
162 
163  this->CleanUp();
164  this->Init(tgt_pdgc, probe_pdgc);
165 }
int ProbePdg(void) const
Definition: InitialState.h:64
const Target& genie::InitialState::Tgt ( void  ) const
inline

Definition at line 66 of file InitialState.h.

References fTgt.

Referenced by genie::MECGenerator::AddFinalStateLepton(), genie::InitialStateAppender::AddNucleus(), genie::QELHadronicSystemGenerator::AddRecoilBaryon(), genie::IBDHadronicSystemGenerator::AddRecoilBaryon(), genie::RSPPHadronicSystemGenerator::AddResonanceDecayProducts(), genie::InitialStateAppender::AddStruckParticle(), genie::NuETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::DMETargetRemnantGenerator::AddTargetNucleusRemnant(), genie::AGKYLowW2019::ApplyRijk(), genie::PythiaBaseHadro2019::AssertValidity(), AsString(), genie::Interaction::AsString(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::QPMDISStrucFuncBase::CalcPDFs(), genie::QPMDMDISStrucFuncBase::CalcPDFs(), genie::QPMDISStrucFuncBase::Calculate(), genie::QPMDMDISStrucFuncBase::Calculate(), genie::SKHadronicSystemGenerator::CalculateHadronicSystem_AtharSingleKaon(), genie::COHHadronicSystemGenerator::CalculateHadronicSystem_BergerSehgalFM(), genie::SKKinematicsGenerator::CalculateKin_AtharSingleKaon(), genie::COHKinematicsGenerator::CalculateKin_BergerSehgal(), genie::COHKinematicsGenerator::CalculateKin_ReinSehgal(), Compare(), genie::NievesQELCCPXSec::CompareNievesTensors(), genie::DISKinematicsGenerator::ComputeMaxXSec(), genie::QELEventGenerator::ComputeMaxXSec(), genie::DMDISKinematicsGenerator::ComputeMaxXSec(), genie::DMELEventGenerator::ComputeMaxXSec(), ConvertToGST(), ConvertToGTracker(), genie::utils::CosTheta0Max(), genie::MECInteractionListGenerator::CreateInteractionList(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::AMNuGammaInteractionListGenerator::CreateInteractionList(), genie::CEvNSInteractionListGenerator::CreateInteractionList(), genie::COHInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::IBDInteractionListGenerator::CreateInteractionList(), genie::COHDNuInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListEM(), genie::HEDISStrucFunc::CreateQrkSF(), genie::SmithMonizQELCCPXSec::d2sQES_dQ2dv_SM(), genie::SmithMonizQELCCPXSec::d3sQES_dQ2dvdkF_SM(), genie::KNOTunedQPMDISPXSec::DISRESJoinSuppressionFactor(), genie::KovalenkoQELCharmPXSec::DR(), genie::SmithMonizQELCCPXSec::dsQES_dQ2_SM(), genie::MArunAxialFormFactorModel::FA(), genie::LwlynSmithFFNC::Fp(), genie::LwlynSmithFF::Fp(), genie::SppChannel::FromInteraction(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::GalsterELFormFactorsModel::Gen(), genie::BBA03ELFormFactorsModel::Gen(), GenerateEvent(), genie::COHDNuEventGenerator::GenerateKinematics(), genie::HEDISInteractionListGenerator::GetFinalQuarks(), genie::evtlib::EventLibraryInterface::GetRecord(), genie::XSecScaleMap::GetScaling(), genie::TransverseEnhancementFFModel::GetTransEnhMagFF(), genie::Pythia6Hadro2019::Hadronize(), genie::Pythia8Hadro2019::Hadronize(), genie::LeptoHadronization::Hadronize(), genie::AGCharm2019::Hadronize(), genie::HadronicSystemGenerator::HadronShowerCharge(), genie::AGKYLowW2019::HadronShowerCharge(), genie::IBDXSecMap::Integral(), genie::H3AMNuGammaPXSec::Integral(), genie::EmpiricalMECPXSec2015::Integral(), genie::NormXSec::Integral(), genie::LwlynSmithQELCCPXSec::Integral(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::SmithMonizQELCCXSec::Integrate(), genie::ReinSehgalSPPXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::utils::kinematics::Jacobian(), main(), genie::PythiaBaseHadro2019::MakeQuarkDiquarkAssignments(), genie::AGKYLowW2019::MultiplicityProb(), genie::utils::ghep::NeutReactionCode(), genie::utils::ghep::NuanceReactionCode(), genie::QPMDISStrucFuncBase::NuclMod(), genie::QPMDMDISStrucFuncBase::NuclMod(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::PrimaryLeptonGenerator::NucRestFrame2Lab(), genie::OutgoingDarkGenerator::NucRestFrame2Lab(), genie::HEDISStrucFunc::NucSFCode(), genie::HEDISStrucFunc::NucSFName(), genie::utils::kinematics::PhaseSpaceVolume(), genie::HELeptonInteractionListGenerator::PhotonRESInteraction(), genie::BergerSehgalFMCOHPiPXSec2015::PionCOMAbsMomentum(), genie::BergerSehgalCOHPiPXSec2015::PionCOMAbsMomentum(), genie::DFRHadronicSystemGenerator::ProcessEventRecord(), genie::DFRKinematicsGenerator::ProcessEventRecord(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::RESKinematicsGenerator::ProcessEventRecord(), genie::NucleonDecayPrimaryVtxGenerator::ProcessEventRecord(), genie::PhotonCOHGenerator::ProcessEventRecord(), genie::PhotonRESGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::SRCNuclearRecoil::ProcessEventRecord(), genie::IBDKinematicsGenerator::ProcessEventRecord(), genie::QELEventGeneratorSuSA::ProcessEventRecord(), genie::DISKinematicsGenerator::ProcessEventRecord(), genie::HEDISKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::NNBarOscPrimaryVtxGenerator::ProcessEventRecord(), genie::DMDISKinematicsGenerator::ProcessEventRecord(), genie::FermiMover::ProcessEventRecord(), genie::PauliBlocker::ProcessEventRecord(), genie::AGCharm2019::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::AGKYLowW2019::ProcessEventRecord(), genie::QPMDISStrucFuncBase::Q2(), genie::QPMDMDISStrucFuncBase::Q2(), genie::utils::kinematics::Q2(), genie::KPhaseSpace::Q2Lim(), genie::KPhaseSpace::Q2Lim_W(), genie::HEDISStrucFunc::QrkSFCode(), genie::HEDISStrucFunc::QrkSFName(), genie::SuSAv2MECPXSec::Qvalue(), genie::Interaction::RecoilNucleonPdg(), SaveGraphsToRootFile(), genie::MECGenerator::SelectEmpiricalKinematics(), genie::SmithMonizUtils::SetInteraction(), genie::QvalueShifter::Shift(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::BBA05ELFormFactorsModel::tau(), genie::LwlynSmithFF::tau(), genie::KPhaseSpace::Threshold(), genie::KPhaseSpace::TLim(), genie::utils::kinematics::UpdateWQ2FromXY(), genie::utils::kinematics::UpdateWYFromXQ2(), genie::utils::kinematics::UpdateXFromQ2Y(), genie::utils::kinematics::UpdateXYFromWQ2(), genie::IBDXSecMap::ValidKinematics(), genie::BertuzzoDNuCOHPXSec::ValidKinematics(), genie::PaisQELLambdaPXSec::ValidKinematics(), genie::KovalenkoQELCharmPXSec::ValidKinematics(), genie::IBDXSecMap::ValidProcess(), genie::HEDISPXSec::ValidProcess(), genie::PattonCEvNSPXSec::ValidProcess(), genie::SlowRsclCharmDISPXSecLO::ValidProcess(), genie::PhotonCOHPXSec::ValidProcess(), genie::GLRESPXSec::ValidProcess(), genie::HENuElPXSec::ValidProcess(), genie::PhotonRESPXSec::ValidProcess(), genie::RosenbluthPXSec::ValidProcess(), genie::ReinDFRPXSec::ValidProcess(), genie::StrumiaVissaniIBDPXSec::ValidProcess(), genie::QPMDISPXSec::ValidProcess(), genie::AlvarezRusoCOHPiPXSec::ValidProcess(), genie::AivazisCharmPXSecLO::ValidProcess(), genie::BergerSehgalFMCOHPiPXSec2015::ValidProcess(), genie::BertuzzoDNuCOHPXSec::ValidProcess(), genie::BergerSehgalCOHPiPXSec2015::ValidProcess(), genie::LwlynSmithQELCCPXSec::ValidProcess(), genie::QPMDMDISPXSec::ValidProcess(), genie::PaisQELLambdaPXSec::ValidProcess(), genie::ReinSehgalCOHPiPXSec::ValidProcess(), genie::SuSAv2QELPXSec::ValidProcess(), genie::BostedChristyEMPXSec::ValidProcess(), genie::ReinSehgalRESPXSec::ValidProcess(), genie::KovalenkoQELCharmPXSec::ValidProcess(), genie::NievesQELCCPXSec::ValidProcess(), genie::SmithMonizQELCCPXSec::ValidProcess(), genie::BSKLNBaseRESPXSec2014::ValidProcess(), genie::utils::kinematics::W(), genie::KPhaseSpace::WLim(), genie::KPhaseSpace::XLim(), genie::IBDXSecMap::XSec(), genie::HEDISPXSec::XSec(), genie::PattonCEvNSPXSec::XSec(), genie::EmpiricalMECPXSec2015::XSec(), genie::SlowRsclCharmDISPXSecLO::XSec(), genie::NormXSec::XSec(), genie::GLRESPXSec::XSec(), genie::PhotonCOHPXSec::XSec(), genie::HENuElPXSec::XSec(), genie::PhotonRESPXSec::XSec(), genie::RosenbluthPXSec::XSec(), genie::StrumiaVissaniIBDPXSec::XSec(), genie::AhrensNCELPXSec::XSec(), genie::ReinDFRPXSec::XSec(), genie::IMDAnnihilationPXSec::XSec(), genie::BergerSehgalFMCOHPiPXSec2015::XSec(), genie::AivazisCharmPXSecLO::XSec(), genie::QPMDISPXSec::XSec(), genie::AlvarezRusoCOHPiPXSec::XSec(), genie::AhrensDMELPXSec::XSec(), genie::P33PaschosLalakulichPXSec::XSec(), genie::BergerSehgalCOHPiPXSec2015::XSec(), genie::BertuzzoDNuCOHPXSec::XSec(), genie::QPMDMDISPXSec::XSec(), genie::LwlynSmithQELCCPXSec::XSec(), genie::NuElectronPXSec::XSec(), genie::BardinIMDRadCorPXSec::XSec(), genie::PaisQELLambdaPXSec::XSec(), genie::DMElectronPXSec::XSec(), genie::ReinSehgalCOHPiPXSec::XSec(), genie::SuSAv2QELPXSec::XSec(), genie::SuSAv2MECPXSec::XSec(), genie::NievesSimoVacasMECPXSec2016::XSec(), genie::BostedChristyEMPXSec::XSec(), genie::ReinSehgalRESPXSec::XSec(), genie::NievesQELCCPXSec::XSec(), genie::KovalenkoQELCharmPXSec::XSec(), genie::BSKLNBaseRESPXSec2014::XSec(), genie::MKSPPPXSec2020::XSec(), genie::SuSAv2QELPXSec::XSecScaling(), genie::KPhaseSpace::YLim(), genie::KPhaseSpace::YLim_X(), and genie::KovalenkoQELCharmPXSec::ZR().

66 { return *fTgt; }
Target * fTgt
nuclear target
Definition: InitialState.h:110
int InitialState::TgtPdg ( void  ) const
Target* genie::InitialState::TgtPtr ( void  ) const
inline

Definition at line 67 of file InitialState.h.

References fTgt.

Referenced by genie::Interaction::AMNuGamma(), genie::utils::BindHitNucleon(), genie::DISXSec::CacheFreeNucleonXSec(), genie::DMDISXSec::CacheFreeNucleonXSec(), genie::ReinSehgalRESXSecWithCache::CacheResExcitationXSec(), genie::ReinSehgalRESXSecWithCacheFast::CacheResExcitationXSec(), genie::SPPXSecWithCache::CacheResExcitationXSec(), genie::QELEventGeneratorSM::ComputeMaxXSec(), genie::HEDISInteractionListGenerator::CreateHEDISlist(), genie::DFRInteractionListGenerator::CreateInteractionList(), genie::RESInteractionListGenerator::CreateInteractionList(), genie::SKInteractionListGenerator::CreateInteractionList(), genie::RSPPInteractionListGenerator::CreateInteractionList(), genie::DISInteractionListGenerator::CreateInteractionList(), genie::DMDISInteractionListGenerator::CreateInteractionList(), genie::QELInteractionListGenerator::CreateInteractionListCC(), genie::QELInteractionListGenerator::CreateInteractionListCharmCC(), genie::DMELInteractionListGenerator::CreateInteractionListDM(), genie::QELInteractionListGenerator::CreateInteractionListNC(), genie::QELInteractionListGenerator::CreateInteractionListStrangeCC(), genie::Interaction::DFRCC(), genie::Interaction::DISCC(), genie::Interaction::DISEM(), genie::Interaction::DISNC(), genie::Interaction::DMDI(), genie::Interaction::DME(), genie::DMEInteractionListGenerator::DMEELInteractionList(), genie::utils::EnergyDeltaFunctionSolutionDMEL(), genie::utils::EnergyDeltaFunctionSolutionQEL(), genie::LwlynSmithQELCCPXSec::FullDifferentialXSec(), genie::Interaction::GLR(), genie::HELeptonInteractionListGenerator::GLRESInteraction(), genie::HELeptonInteractionListGenerator::HENuElectronInteraction(), genie::Interaction::IBD(), genie::NuEInteractionListGenerator::IMDAnnihilationInteractionList(), genie::NuEInteractionListGenerator::IMDInteractionList(), genie::LwlynSmithQELCCPXSec::Integral(), genie::DISXSec::Integrate(), genie::HEDISXSec::Integrate(), genie::DMDISXSec::Integrate(), genie::HELeptonXSec::Integrate(), genie::AlamSimoAtharVacasSKXSec::Integrate(), genie::SPPXSec::Integrate(), genie::ReinSehgalRESXSec::Integrate(), genie::ReinSehgalRESXSecFast::Integrate(), genie::NewQELXSec::Integrate(), main(), genie::Interaction::MECCC(), genie::Interaction::MECEM(), genie::Interaction::MECNC(), genie::Interaction::NDecay(), genie::utils::nuclear::NuclQELXSecSuppression(), genie::NuEInteractionListGenerator::NuEELInteractionList(), genie::HELeptonInteractionListGenerator::PhotonRESInteraction(), genie::QELKinematicsGenerator::ProcessEventRecord(), genie::QELEventGenerator::ProcessEventRecord(), genie::DMELKinematicsGenerator::ProcessEventRecord(), genie::DMELEventGenerator::ProcessEventRecord(), genie::QELEventGeneratorSM::ProcessEventRecord(), genie::Interaction::QELCC(), genie::Interaction::QELEM(), genie::Interaction::QELNC(), genie::Interaction::RESCC(), genie::Interaction::RESEM(), genie::Interaction::RESNC(), genie::MECGenerator::SelectNSVLeptonKinematics(), genie::MECGenerator::SelectSuSALeptonKinematics(), genie::QELKinematicsGenerator::SpectralFuncExperimentalCode(), genie::DMELKinematicsGenerator::SpectralFuncExperimentalCode(), and genie::AlamSimoAtharVacasSKPXSec2014::XSec().

67 { return fTgt; }
Target * fTgt
nuclear target
Definition: InitialState.h:110

Friends And Related Function Documentation

ostream& operator<< ( ostream &  stream,
const InitialState i 
)
friend

print

Definition at line 39 of file InitialState.cxx.

40  {
41  init_state.Print(stream);
42  return stream;
43  }

Member Data Documentation

TLorentzVector* genie::InitialState::fProbeP4
private

probe 4-momentum in LAB-frame

Definition at line 111 of file InitialState.h.

Referenced by CleanUp(), Copy(), GetProbeP4(), Init(), Print(), SetProbeE(), and SetProbeP4().

int genie::InitialState::fProbePdg
private

probe PDG code

Definition at line 109 of file InitialState.h.

Referenced by Compare(), Copy(), Init(), IsDMBN(), IsDMBP(), IsDMN(), IsDMP(), IsNuBarN(), IsNuBarP(), IsNuN(), IsNuP(), Print(), Probe(), and ProbePdg().

Target* genie::InitialState::fTgt
private
TLorentzVector* genie::InitialState::fTgtP4
private

nuclear target 4-momentum in LAB-frame

Definition at line 112 of file InitialState.h.

Referenced by CleanUp(), Copy(), GetTgtP4(), Init(), Print(), and SetTgtP4().


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