25 #ifndef _INITIAL_STATE_H_
26 #define _INITIAL_STATE_H_
31 #include <TParticlePDG.h>
32 #include <TLorentzVector.h>
46 ostream &
operator << (ostream & stream,
const InitialState & i);
53 using TObject::Compare;
63 TParticlePDG *
Probe (
void)
const;
73 void SetPdgs (
int tgt_pdgc,
int probe_pdgc);
76 void SetTgtP4 (
const TLorentzVector & P4);
80 bool IsNuP (
void)
const;
81 bool IsNuN (
void)
const;
84 bool IsDMP (
void)
const;
85 bool IsDMN (
void)
const;
94 void Print (ostream & stream)
const;
105 void Init (
int target_pdgc,
int probe_pdgc);
119 #endif // _INITIAL_STATE_H_
void SetTgtP4(const TLorentzVector &P4)
bool IsNuBarN(void) const
is anti-neutrino + neutron?
void SetProbeP4(const TLorentzVector &P4)
void SetTgtPdg(int pdg_code)
bool IsNuN(void) const
is neutrino + neutron?
TParticlePDG * Probe(void) const
bool Compare(const InitialState &init_state) const
enum genie::ERefFrame RefFrame_t
bool operator==(const InitialState &i) const
equal?
bool IsDMN(void) const
is dark matter + neutron?
bool IsDMBP(void) const
is anti-dark matter + proton?
bool IsNuP(void) const
is neutrino + proton?
void Copy(const InitialState &init_state)
static constexpr double A
Target * fTgt
nuclear target
TLorentzVector * fProbeP4
probe 4-momentum in LAB-frame
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
string AsString(void) const
TLorentzVector * fTgtP4
nuclear target 4-momentum in LAB-frame
void SetPdgs(int tgt_pdgc, int probe_pdgc)
bool IsDMP(void) const
is dark matter + proton?
bool IsDMBN(void) const
is anti-dark matter + neutron?
void Print(ostream &stream) const
friend ostream & operator<<(ostream &stream, const InitialState &i)
print
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
TLorentzVector * GetTgtP4(RefFrame_t rf=kRfLab) const
double CMEnergy() const
centre-of-mass energy (sqrt s)
bool IsNuBarP(void) const
is anti-neutrino + proton?
Target * TgtPtr(void) const
InitialState & operator=(const InitialState &i)
copy
int fProbePdg
probe PDG code
void SetProbePdg(int pdg_code)
const Target & Tgt(void) const
double ProbeE(RefFrame_t rf) const
TLorentzVector * GetProbeP4(RefFrame_t rf=kRfHitNucRest) const
Initial State information.