37 using std::ostringstream;
38 using namespace genie;
61 double hitNucleonRadius)
const 77 double hitNucRadius)
const 82 return nm->
Prob(p,w,target,hitNucRadius);
101 int nucleon_pdg,
double radius )
const {
122 RgIMap entries = algos -> GetItemMap();
126 if( it -> first.compare(0, keyStart.size(), keyStart.c_str()) == 0 ) {
127 r.
Set( it -> first, algos -> GetAlg(it->first ) ) ;
143 GetParam(
"NuclearModel", dgmodel ) ;
146 <<
"Default global nuclear model: " << dgmodel;
158 if(key.compare(0, keyStart.size(), keyStart.c_str()) == 0){
160 const int pdg = atoi(key.c_str()+keyStart.size());
166 <<
"Nucleus =" << pdg
167 <<
" -> refined nuclear model: " << rgmodel;
172 fRefinedModels.insert(map<int,const NuclearModelI*>::value_type(Z,model));
176 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__ 180 <<
"Z = " << (*it).first <<
"; model = " << (*it).second;
virtual double Prob(double p, double w, const Target &t, double hitNucleonRadius) const
virtual double LocalFermiMomentum(const Target &t, int nucleon_pdg, double radius) const
double RemovalEnergy(void) const
THE MAIN GENIE PROJECT NAMESPACE
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
const NuclearModelI * fDefGlobModel
default basic model (should work for all nuclei)
const TVector3 & Momentum3(void) const
virtual ~NuclearModelMap()
FermiMoverInteractionType_t GetFermiMoverInteractionType(void) const
virtual const Registry & GetConfig(void) const
virtual NuclearModel_t ModelType(const Target &) const =0
NuclearModel_t ModelType(const Target &t) const
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
FermiMoverInteractionType_t fFermiMoverInteractionType
const RgIMap & GetItemMap(void) const
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
virtual void Configure(const Registry &config)
virtual bool GenerateNucleon(const Target &t, double hitNucleonRadius) const
map< int, const NuclearModelI * > fRefinedModels
refinements for specific elements
Misc GENIE control constants.
double fCurrRemovalEnergy
void Configure(const Registry &config)
enum genie::ENuclearModel NuclearModel_t
A registry. Provides the container for algorithm configuration parameters.
virtual double FermiMomentum(const Target &t, int nucleon_pdg) const
virtual bool GenerateNucleon(const Target &) const =0
int IonPdgCodeToZ(int pdgc)
const NuclearModelI * SelectModel(const Target &t) const
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
virtual double Prob(double p, double w, const Target &) const =0
void Set(RgIMapPair entry)
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
RgAlg GetAlg(RgKey key) const
static AlgConfigPool * Instance()
map< RgKey, RegistryItemI * > RgIMap
const Algorithm * SubAlg(const RgKey ®istry_key) const