Abstract class. Provides a data caching mechanism for for concrete implementations of the EventRecordVisitorI interface, generating kinematics and wishing to cache maximum differential xsecs. More...
#include <KineGeneratorWithCache.h>
Protected Member Functions | |
KineGeneratorWithCache () | |
KineGeneratorWithCache (string name) | |
KineGeneratorWithCache (string name, string config) | |
~KineGeneratorWithCache () | |
virtual double | ComputeMaxXSec (const Interaction *in) const =0 |
virtual double | MaxXSec (GHepRecord *evrec) const |
virtual double | FindMaxXSec (const Interaction *in) const |
virtual void | CacheMaxXSec (const Interaction *in, double xsec) const |
virtual double | Energy (const Interaction *in) const |
virtual CacheBranchFx * | AccessCacheBranch (const Interaction *in) const |
virtual void | AssertXSecLimits (const Interaction *in, double xsec, double xsec_max) const |
Protected Member Functions inherited from genie::EventRecordVisitorI | |
EventRecordVisitorI () | |
EventRecordVisitorI (string name) | |
EventRecordVisitorI (string name, 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. More... | |
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. More... | |
int | GetParamVectKeys (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 More... | |
int | AddLowRegistry (Registry *rp, bool owns=true) |
add registry with lowest priority, also update ownership More... | |
int | MergeTopRegistry (const Registry &r) |
int | AddTopRegisties (const vector< Registry * > &rs, bool owns=false) |
Add registries with top priority, also udated Ownerships. More... | |
Protected Attributes | |
const XSecAlgorithmI * | fXSecModel |
double | fSafetyFactor |
maxxsec -> maxxsec * safety_factor More... | |
double | fMaxXSecDiffTolerance |
max{100*(xsec-maxxsec)/.5*(xsec+maxxsec)} if xsec>maxxsec More... | |
double | fEMin |
min E for which maxxsec is cached - forcing explicit calc. More... | |
bool | fGenerateUniformly |
uniform over allowed phase space + event weight? More... | |
Protected Attributes inherited from genie::Algorithm | |
bool | fAllowReconfig |
bool | fOwnsSubstruc |
true if it owns its substructure (sub-algs,...) More... | |
AlgId | fID |
algorithm name and configuration set More... | |
vector< Registry * > | fConfVect |
vector< bool > | fOwnerships |
ownership for every registry in fConfVect More... | |
AlgStatus_t | fStatus |
algorithm execution status More... | |
AlgMap * | fOwnedSubAlgMp |
local pool for owned sub-algs (taken out of the factory pool) More... | |
Additional Inherited Members | |
Public Member Functions inherited from genie::EventRecordVisitorI | |
virtual | ~EventRecordVisitorI () |
virtual void | ProcessEventRecord (GHepRecord *event_rec) const =0 |
Public Member Functions inherited from genie::Algorithm | |
virtual | ~Algorithm () |
virtual void | Configure (const Registry &config) |
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. More... | |
virtual AlgStatus_t | GetStatus (void) const |
Get algorithm status. More... | |
virtual bool | AllowReconfig (void) const |
virtual AlgCmp_t | Compare (const Algorithm *alg) const |
Compare with input algorithm. More... | |
virtual void | SetId (const AlgId &id) |
Set algorithm ID. More... | |
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. More... | |
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) |
Abstract class. Provides a data caching mechanism for for concrete implementations of the EventRecordVisitorI interface, generating kinematics and wishing to cache maximum differential xsecs.
This class provides some common implementation for handling (retrieving, creating, searching, adding to) the cache. The various super-classes should implement the ComputeMaxXSec(...) method for computing the maximum xsec in case it has not already being pushed into the cache at a previous iteration.
December 15, 2004
Copyright (c) 2003-2020, The GENIE Collaboration For the full text of the license visit http://copyright.genie-mc.org
Definition at line 42 of file KineGeneratorWithCache.h.
|
protected |
Definition at line 34 of file KineGeneratorWithCache.cxx.
|
protected |
Definition at line 40 of file KineGeneratorWithCache.cxx.
Definition at line 46 of file KineGeneratorWithCache.cxx.
|
protected |
Definition at line 52 of file KineGeneratorWithCache.cxx.
|
protectedvirtual |
Definition at line 214 of file KineGeneratorWithCache.cxx.
|
protectedvirtual |
Definition at line 242 of file KineGeneratorWithCache.cxx.
|
protectedvirtual |
Definition at line 182 of file KineGeneratorWithCache.cxx.
|
protectedpure virtual |
Implemented in genie::QELEventGeneratorSM, genie::COHKinematicsGenerator, genie::DMELEventGenerator, genie::QELEventGeneratorSuSA, genie::DMDISKinematicsGenerator, genie::DMELKinematicsGenerator, genie::GLRESKinematicsGenerator, genie::QELEventGenerator, genie::SKKinematicsGenerator, genie::DMEKinematicsGenerator, genie::DISKinematicsGenerator, genie::IBDKinematicsGenerator, genie::NuEKinematicsGenerator, genie::QELKinematicsGenerator, genie::RESKinematicsGenerator, genie::DFRKinematicsGenerator, and genie::HEDISKinematicsGenerator.
|
protectedvirtual |
Reimplemented in genie::COHKinematicsGenerator, genie::SKKinematicsGenerator, genie::GLRESKinematicsGenerator, genie::DMEKinematicsGenerator, and genie::NuEKinematicsGenerator.
Definition at line 203 of file KineGeneratorWithCache.cxx.
|
protectedvirtual |
Definition at line 97 of file KineGeneratorWithCache.cxx.
|
protectedvirtual |
Definition at line 57 of file KineGeneratorWithCache.cxx.
|
protected |
min E for which maxxsec is cached - forcing explicit calc.
Definition at line 64 of file KineGeneratorWithCache.h.
|
protected |
uniform over allowed phase space + event weight?
Definition at line 65 of file KineGeneratorWithCache.h.
|
protected |
max{100*(xsec-maxxsec)/.5*(xsec+maxxsec)} if xsec>maxxsec
Definition at line 63 of file KineGeneratorWithCache.h.
|
protected |
maxxsec -> maxxsec * safety_factor
Definition at line 62 of file KineGeneratorWithCache.h.
|
mutableprotected |
Definition at line 60 of file KineGeneratorWithCache.h.