GENIE interface for uniform flux exposure iterface. More...
Public Member Functions | |
GFluxFileConfigI () | |
virtual | ~GFluxFileConfigI () |
virtual void | LoadBeamSimData (const std::vector< std::string > &filenames, const std::string &det_loc)=0 |
virtual void | LoadBeamSimData (const std::set< std::string > &filenames, const std::string &det_loc) |
virtual void | LoadBeamSimData (const std::string &filename, const std::string &det_loc) |
virtual void | SetXMLFileBase (std::string xmlbasename="") |
virtual std::string | GetXMLFileBase () const |
virtual void | GetBranchInfo (std::vector< std::string > &branchNames, std::vector< std::string > &branchClassNames, std::vector< void ** > &branchObjPointers) |
virtual TTree * | GetMetaDataTree () |
virtual void | PrintConfig ()=0 |
print the current configuration More... | |
virtual void | SetFluxParticles (const PDGCodeList &particles) |
specify list of flux neutrino species More... | |
virtual void | SetUpstreamZ (double z0) |
virtual void | SetNumOfCycles (long int ncycle) |
limit cycling through input files More... | |
Protected Attributes | |
PDGCodeList * | fPdgCList |
list of neutrino pdg-codes to generate More... | |
PDGCodeList * | fPdgCListRej |
list of nu pdg-codes seen but rejected More... | |
std::string | fXMLbasename |
XML file that might hold config param_sets. More... | |
long int | fNCycles |
times to cycle through the ntuple(s)More... | |
long int | fICycle |
double | fZ0 |
GENIE interface for uniform flux exposure iterface.
Unified flux exposure interface to be used by flux drivers that can support such.
2015-03-17 initial version
Definition at line 29 of file GFluxFileConfigI.h.
genie::flux::GFluxFileConfigI::GFluxFileConfigI | ( | ) |
Definition at line 19 of file GFluxFileConfigI.cxx.
|
virtual |
Definition at line 28 of file GFluxFileConfigI.cxx.
|
virtual |
allow caller to copy current status / ntuple entry info in the output file by providing copies of internal info
Assumes that branch object pointers will not change which may require either a copy be made or, if using the class directly for reading the branch, one must force ROOT to not autodelete: myns::MyClassType* fCurrMyClass = new myns::MyClassType; myTree->SetBranchAddress("bname",&fCurMyClass); //? TBranch* b = myTree->GetBranch("bname"); //? b->SetAutoDelete(false);
ensure vectors are sized sufficiently (or use .push_back()) branchNames[i] = "bname" branchClassNames[i] = "myns::MyClassType" branchObjPointers[i] = (void**)
Reimplemented in genie::flux::GNuMIFlux, genie::flux::GSimpleNtpFlux, genie::flux::GDk2NuFlux, and genie::flux::GDk2NuFlux.
Definition at line 55 of file GFluxFileConfigI.cxx.
Referenced by GetXMLFileBase(), and main().
|
virtual |
Reimplemented in genie::flux::GNuMIFlux, genie::flux::GSimpleNtpFlux, genie::flux::GDk2NuFlux, and genie::flux::GDk2NuFlux.
Definition at line 68 of file GFluxFileConfigI.cxx.
Referenced by GetXMLFileBase(), and main().
|
inlinevirtual |
Definition at line 54 of file GFluxFileConfigI.h.
References fXMLbasename, GetBranchInfo(), GetMetaDataTree(), PrintConfig(), SetFluxParticles(), SetNumOfCycles(), and SetUpstreamZ().
|
pure virtual |
first is primary method for loading root flux ntuple files and config others are alternatives that can be overloaded but have sensible defaults to fall back to calling the vector version
Implemented in genie::flux::GNuMIFlux, genie::flux::GDk2NuFlux, and genie::flux::GDk2NuFlux.
Referenced by LoadBeamSimData(), main(), genie::flux::GSimpleNtpFlux::SumWeight(), and genie::flux::GNuMIFlux::SumWeight().
|
virtual |
Definition at line 34 of file GFluxFileConfigI.cxx.
References LoadBeamSimData().
|
virtual |
Definition at line 45 of file GFluxFileConfigI.cxx.
References LoadBeamSimData().
|
pure virtual |
print the current configuration
Implemented in genie::flux::GNuMIFlux, genie::flux::GSimpleNtpFlux, genie::flux::GDk2NuFlux, and genie::flux::GDk2NuFlux.
Referenced by GetXMLFileBase(), and main().
|
virtual |
specify list of flux neutrino species
Definition at line 100 of file GFluxFileConfigI.cxx.
References genie::PDGCodeList::Copy(), fPdgCList, LOG, and pINFO.
Referenced by GetXMLFileBase(), main(), and genie::flux::GDk2NuFlux::SetDefaults().
limit cycling through input files
Definition at line 86 of file GFluxFileConfigI.cxx.
References fNCycles, and CLHEP::L.
Referenced by GetXMLFileBase(), main(), genie::flux::GDk2NuFlux::SetDefaults(), and genie::flux::GSimpleNtpFlux::SetDefaults().
|
virtual |
set flux neutrino initial z position (upstream of the detector) pushed back from the normal flux window
Definition at line 74 of file GFluxFileConfigI.cxx.
References fZ0.
Referenced by fill_simple(), GetXMLFileBase(), main(), genie::flux::GDk2NuFlux::SetDefaults(), and genie::flux::GSimpleNtpFlux::SetDefaults().
|
virtual |
Definition at line 30 of file GFluxFileConfigI.cxx.
References fXMLbasename.
Referenced by genie::flux::GDk2NuFlux::SetDefaults().
|
protected |
current file cycle default 0 = infinitely
Definition at line 98 of file GFluxFileConfigI.h.
Referenced by genie::flux::GDk2NuFlux::CleanUp(), genie::flux::GSimpleNtpFlux::CleanUp(), genie::flux::GDk2NuFlux::Clear(), genie::flux::GSimpleNtpFlux::Clear(), genie::flux::GDk2NuFlux::GenerateNext_weighted(), genie::flux::GSimpleNtpFlux::GenerateNext_weighted(), genie::flux::GDk2NuFlux::Initialize(), genie::flux::GSimpleNtpFlux::Initialize(), genie::flux::GDk2NuFlux::LoadBeamSimData(), genie::flux::GSimpleNtpFlux::LoadBeamSimData(), and genie::flux::GDk2NuFlux::PrintConfig().
|
protected |
Definition at line 97 of file GFluxFileConfigI.h.
Referenced by genie::flux::GDk2NuFlux::CleanUp(), genie::flux::GSimpleNtpFlux::CleanUp(), genie::flux::GDk2NuFlux::GenerateNext_weighted(), genie::flux::GSimpleNtpFlux::GenerateNext_weighted(), genie::flux::GDk2NuFlux::PrintConfig(), and SetNumOfCycles().
|
protected |
list of neutrino pdg-codes to generate
Definition at line 94 of file GFluxFileConfigI.h.
Referenced by genie::flux::GDk2NuFlux::CleanUp(), genie::flux::GSimpleNtpFlux::CleanUp(), genie::flux::GDk2NuFlux::GenerateNext_weighted(), genie::flux::GSimpleNtpFlux::GenerateNext_weighted(), genie::flux::GDk2NuFlux::PrintConfig(), genie::flux::GSimpleNtpFlux::ProcessMeta(), and SetFluxParticles().
|
protected |
list of nu pdg-codes seen but rejected
Definition at line 95 of file GFluxFileConfigI.h.
Referenced by genie::flux::GDk2NuFlux::CleanUp(), genie::flux::GSimpleNtpFlux::CleanUp(), genie::flux::GDk2NuFlux::GenerateNext_weighted(), genie::flux::GSimpleNtpFlux::GenerateNext_weighted(), and genie::flux::GDk2NuFlux::PrintConfig().
|
protected |
XML file that might hold config param_sets.
Definition at line 96 of file GFluxFileConfigI.h.
Referenced by GetXMLFileBase(), and SetXMLFileBase().
|
protected |
configurable starting z position for each flux neutrino (in detector coord system)
Definition at line 100 of file GFluxFileConfigI.h.
Referenced by genie::flux::GDk2NuFlux::GenerateNext_weighted(), genie::flux::GSimpleNtpFlux::GenerateNext_weighted(), genie::flux::GDk2NuFlux::PrintConfig(), and SetUpstreamZ().