|
GENIEGenerator
|
Creates hadron tensor objects for cross section calculations using precomputed data tables. More...
#include <TabulatedHadronTensorModelI.h>
Classes | |
| struct | HadronTensorID |
| Struct used to provide a unique ID for each tensor object. More... | |
Public Member Functions | |
| virtual | ~TabulatedHadronTensorModelI () |
| virtual void | Configure (const Registry &config) |
| virtual void | Configure (std::string config) |
| virtual const HadronTensorI * | GetTensor (int tensor_pdg, HadronTensorType_t type) const |
| Public Member Functions inherited from genie::HadronTensorModelI | |
| virtual | ~HadronTensorModelI () |
| Public Member Functions inherited from genie::Algorithm | |
| virtual | ~Algorithm () |
| virtual void | Configure (string config) |
| virtual void | FindConfig (void) |
| virtual const Registry & | GetConfig (void) const |
| Registry * | GetOwnedConfig (void) |
| virtual const AlgId & | Id (void) const |
| Get algorithm ID. | |
| virtual AlgStatus_t | GetStatus (void) const |
| Get algorithm status. | |
| virtual bool | AllowReconfig (void) const |
| virtual AlgCmp_t | Compare (const Algorithm *alg) const |
| Compare with input algorithm. | |
| virtual void | SetId (const AlgId &id) |
| Set algorithm ID. | |
| virtual void | SetId (string name, string config) |
| const Algorithm * | SubAlg (const RgKey ®istry_key) const |
| void | AdoptConfig (void) |
| void | AdoptSubstructure (void) |
| virtual void | Print (ostream &stream) const |
| Print algorithm info. | |
Protected Member Functions | |
| TabulatedHadronTensorModelI () | |
| TabulatedHadronTensorModelI (std::string name) | |
| TabulatedHadronTensorModelI (std::string name, std::string config) | |
| void | LoadConfig () |
| Saves some basic XML config parameters to data members. | |
| std::string | FindTensorTableFile (const std::string &basename, bool &ok) const |
| const HadronTensorI * | BuildTensor (const HadronTensorID &ht_id) const |
| Create a HadronTensorI object given a particular HadronTensorID. | |
| std::string | GetTensorFileBasename (const HadronTensorID &ht_id) const |
| virtual HadronTensorI * | ParseTensorFile (const std::string &full_file_name) const =0 |
| Protected Member Functions inherited from genie::HadronTensorModelI | |
| HadronTensorModelI () | |
| HadronTensorModelI (std::string name) | |
| HadronTensorModelI (std::string name, std::string config) | |
| Protected Member Functions inherited from genie::Algorithm | |
| Algorithm () | |
| Algorithm (string name) | |
| Algorithm (string name, string config) | |
| void | Initialize (void) |
| void | DeleteConfig (void) |
| void | DeleteSubstructure (void) |
| Registry * | ExtractLocalConfig (const Registry &in) const |
| Registry * | ExtractLowerConfig (const Registry &in, const string &alg_key) const |
| Split an incoming configuration Registry into a block valid for the sub-algo identified by alg_key. | |
| template<class T> | |
| bool | GetParam (const RgKey &name, T &p, bool is_top_call=true) const |
| template<class T> | |
| bool | GetParamDef (const RgKey &name, T &p, const T &def) const |
| template<class T> | |
| int | GetParamVect (const std::string &comm_name, std::vector< T > &v, bool is_top_call=true) const |
| Handle to load vectors of parameters. | |
| int | GetParamVectKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
| template<class T> | |
| int | GetParamMat (const std::string &comm_name, TMatrixT< T > &mat, bool is_top_call=true) const |
| Handle to load matrix of parameters. | |
| template<class T> | |
| int | GetParamMatSym (const std::string &comm_name, TMatrixTSym< T > &mat, bool is_top_call=true) const |
| int | GetParamMatKeys (const std::string &comm_name, std::vector< RgKey > &k, bool is_top_call=true) const |
| int | AddTopRegistry (Registry *rp, bool owns=true) |
| add registry with top priority, also update ownership | |
| int | AddLowRegistry (Registry *rp, bool owns=true) |
| add registry with lowest priority, also update ownership | |
| int | MergeTopRegistry (const Registry &r) |
| int | AddTopRegisties (const vector< Registry * > &rs, bool owns=false) |
| Add registries with top priority, also udated Ownerships. | |
Protected Attributes | |
| bool | fWarnIfMissing |
| std::map< HadronTensorID, HadronTensorI * > | fTensors |
| std::vector< std::string > | fDataPaths |
| Paths to check when searching for hadron tensor data files. | |
| Protected Attributes inherited from genie::Algorithm | |
| bool | fAllowReconfig |
| bool | fOwnsSubstruc |
| true if it owns its substructure (sub-algs,...) | |
| AlgId | fID |
| algorithm name and configuration set | |
| vector< Registry * > | fConfVect |
| vector< bool > | fOwnerships |
| ownership for every registry in fConfVect | |
| AlgStatus_t | fStatus |
| algorithm execution status | |
| AlgMap * | fOwnedSubAlgMp |
| local pool for owned sub-algs (taken out of the factory pool) | |
Additional Inherited Members | |
| Static Public Member Functions inherited from genie::Algorithm | |
| static string | BuildParamVectKey (const std::string &comm_name, unsigned int i) |
| static string | BuildParamVectSizeKey (const std::string &comm_name) |
| static string | BuildParamMatKey (const std::string &comm_name, unsigned int i, unsigned int j) |
| static string | BuildParamMatRowSizeKey (const std::string &comm_name) |
| static string | BuildParamMatColSizeKey (const std::string &comm_name) |
Creates hadron tensor objects for cross section calculations using precomputed data tables.
Definition at line 37 of file TabulatedHadronTensorModelI.h.
|
virtual |
Definition at line 255 of file TabulatedHadronTensorModelI.cxx.
References fTensors.
|
protected |
Definition at line 197 of file TabulatedHadronTensorModelI.cxx.
References genie::HadronTensorModelI::HadronTensorModelI().
Referenced by genie::NievesMECHadronTensorModel::NievesMECHadronTensorModel(), genie::NievesMECHadronTensorModel::NievesMECHadronTensorModel(), genie::SuSAv2MECHadronTensorModel::SuSAv2MECHadronTensorModel(), genie::SuSAv2MECHadronTensorModel::SuSAv2MECHadronTensorModel(), genie::SuSAv2QELHadronTensorModel::SuSAv2QELHadronTensorModel(), and genie::SuSAv2QELHadronTensorModel::SuSAv2QELHadronTensorModel().
|
protected |
Definition at line 204 of file TabulatedHadronTensorModelI.cxx.
References genie::HadronTensorModelI::HadronTensorModelI().
|
protected |
Definition at line 211 of file TabulatedHadronTensorModelI.cxx.
References genie::HadronTensorModelI::HadronTensorModelI().
|
protected |
Create a HadronTensorI object given a particular HadronTensorID.
Definition at line 302 of file TabulatedHadronTensorModelI.cxx.
References FindTensorTableFile(), fTensors, fWarnIfMissing, GetTensorFileBasename(), LOG, ParseTensorFile(), pERROR, pINFO, genie::TabulatedHadronTensorModelI::HadronTensorID::target_pdg, and genie::TabulatedHadronTensorModelI::HadronTensorID::type.
Referenced by GetTensor().
|
virtual |
Configure the algorithm with an external registry The registry is merged with the top level registry if it is owned, Otherwise a copy of it is added with the highest priority
Reimplemented from genie::Algorithm.
Definition at line 218 of file TabulatedHadronTensorModelI.cxx.
References genie::Algorithm::Configure(), and LoadConfig().
|
virtual |
Definition at line 224 of file TabulatedHadronTensorModelI.cxx.
References genie::Algorithm::Configure(), and LoadConfig().
|
protected |
Looks up the full path when constructing hadron tensor objects that are based on a data file
Definition at line 287 of file TabulatedHadronTensorModelI.cxx.
References fDataPaths.
Referenced by BuildTensor().
|
virtual |
Retrieves a pointer to a hadron tensor object appropriate for this model
| [in] | tensor_pdg | The PDG code for the nuclide described by the tensor |
| [in] | type | The desired kind of hadron tensor |
Implements genie::HadronTensorModelI.
Definition at line 265 of file TabulatedHadronTensorModelI.cxx.
References BuildTensor(), fTensors, fWarnIfMissing, LOG, pWARN, genie::TabulatedHadronTensorModelI::HadronTensorID::target_pdg, and genie::TabulatedHadronTensorModelI::HadronTensorID::type.
|
protected |
Loads the basename for a particular hadron tensor file from the configuration Registry
Definition at line 353 of file TabulatedHadronTensorModelI.cxx.
References genie::Algorithm::GetParamDef(), genie::TabulatedHadronTensorModelI::HadronTensorID::target_pdg, and genie::TabulatedHadronTensorModelI::HadronTensorID::type.
Referenced by BuildTensor().
|
protected |
Saves some basic XML config parameters to data members.
Definition at line 230 of file TabulatedHadronTensorModelI.cxx.
References fDataPaths, fWarnIfMissing, genie::Algorithm::GetParam(), and genie::Algorithm::GetParamDef().
Referenced by Configure(), and Configure().
|
protectedpure virtual |
Parses the hadron tensor file (specified by its full file name, including the path) and returns a HadronTensorI* to it
Implemented in genie::NievesMECHadronTensorModel, genie::SuSAv2MECHadronTensorModel, and genie::SuSAv2QELHadronTensorModel.
Referenced by BuildTensor().
|
protected |
Paths to check when searching for hadron tensor data files.
Definition at line 87 of file TabulatedHadronTensorModelI.h.
Referenced by FindTensorTableFile(), and LoadConfig().
|
mutableprotected |
Cache of hadron tensor objects that have been fully loaded into memory
Keys are tensor IDs, values are pointers to hadron tensor objects
Definition at line 84 of file TabulatedHadronTensorModelI.h.
Referenced by BuildTensor(), GetTensor(), and ~TabulatedHadronTensorModelI().
|
protected |
If true, logging messages will be issued when a requested hadron tensor file cannot be found
Definition at line 79 of file TabulatedHadronTensorModelI.h.
Referenced by BuildTensor(), GetTensor(), and LoadConfig().