32 using namespace genie;
36 const unsigned int kNTargets = 2;
37 const unsigned int kNModels = 4;
45 "genie::FGMBodekRitchie",
"Default"));
48 algf->
GetAlgorithm(
"genie::BenharSpectralFunc1D",
"Default"));
51 algf->
GetAlgorithm(
"genie::BenharSpectralFunc",
"Default"));
56 const NuclearModelI * nuclmodel[kNModels] = { bodritch, benhsf1d, benhsf2d, effsf };
59 Target * nucltgt[kNTargets];
60 nucltgt[0] =
new Target ( 6, 12);
61 nucltgt[1] =
new Target (26, 56);
65 TNtuple * nuclnt =
new TNtuple(
"nuclnt",
"",
"target:model:p:px:py:pz:w");
68 for(
unsigned int it = 0; it < kNTargets; it++) {
70 const Target & target = *nucltgt[it];
71 LOG(
"test",
pNOTICE) <<
"** Using target : " << target;;
72 for(
unsigned int im = 0; im < kNModels; im++) {
73 LOG(
"test",
pNOTICE) <<
"Running model : " << nuclmodel[im]->
Id();
74 for(
unsigned int iev = 0; iev <
kNEvents; iev++) {
84 nuclnt->Fill(it,im,p,px,py,pz,w);
90 TFile f(
"./fermip.root",
"recreate");
double RemovalEnergy(void) const
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
const TVector3 & Momentum3(void) const
int main(int argc, char **argv)
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
const Algorithm * GetAlgorithm(const AlgId &algid)
const unsigned int kNEvents
virtual const AlgId & Id(void) const
Get algorithm ID.
static AlgFactory * Instance()
void SetHitNucPdg(int pdgc)
The GENIE Algorithm Factory.
virtual bool GenerateNucleon(const Target &) const =0
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
string Vec3AsString(const TVector3 *vec)