Public Types | Public Attributes | Private Member Functions | List of all members
evgen::SingleGen::Config Struct Reference

Public Types

using Name = fhicl::Name
 
using Comment = fhicl::Comment
 

Public Attributes

fhicl::Atom< std::stringParticleSelectionMode
 
fhicl::Atom< boolPadOutVectors
 
fhicl::Sequence< int > PDG
 
fhicl::Atom< std::stringPDist
 
fhicl::Sequence< double > P0
 
fhicl::Sequence< double > SigmaP
 
fhicl::Sequence< double > X0
 
fhicl::Sequence< double > Y0
 
fhicl::Sequence< double > Z0
 
fhicl::Sequence< double > T0
 
fhicl::Sequence< double > SigmaX
 
fhicl::Sequence< double > SigmaY
 
fhicl::Sequence< double > SigmaZ
 
fhicl::Sequence< double > SigmaT
 
fhicl::Atom< std::stringPosDist
 
fhicl::Atom< std::stringTDist
 
fhicl::Atom< boolSingleVertex
 
fhicl::Sequence< double > Theta0XZ
 
fhicl::Sequence< double > Theta0YZ
 
fhicl::Sequence< double > SigmaThetaXZ
 
fhicl::Sequence< double > SigmaThetaYZ
 
fhicl::Atom< std::stringAngleDist
 
fhicl::Atom< std::stringHistogramFile
 
fhicl::Sequence< std::stringPHist
 
fhicl::Sequence< std::stringThetaXzYzHist
 
fhicl::OptionalAtom< rndm::NuRandomService::seed_t > Seed
 

Private Member Functions

bool fromHistogram (std::string const &key) const
 Returns whether the specified mode is an histogram distribution. More...
 

Detailed Description

Definition at line 65 of file SingleGen_module.cc.

Member Typedef Documentation

Definition at line 67 of file SingleGen_module.cc.

Definition at line 66 of file SingleGen_module.cc.

Member Function Documentation

bool evgen::SingleGen::Config::fromHistogram ( std::string const &  key) const
private

Returns whether the specified mode is an histogram distribution.

Definition at line 462 of file SingleGen_module.cc.

462  {
464  } // SingleGen::Config::fromHistogram()
static const std::map< int, std::string > DistributionNames
Names of all distribution modes.
static auto selectOption(std::string Option, OptionList const &allowedOptions) -> decltype(auto)
Parses an option string and returns the corresponding option number.
static constexpr int kHIST
fhicl::Atom< std::string > PDist

Member Data Documentation

fhicl::Atom<std::string> evgen::SingleGen::Config::AngleDist
Initial value:
{
Name("AngleDist"),
Comment("angular distribution type: " + presentOptions(DistributionNames)),
}

Definition at line 178 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::HistogramFile
Initial value:
{
Name("HistogramFile"),
Comment("ROOT file containing the required distributions for the generation"),
[this](){ return fromHistogram(AngleDist()) || fromHistogram(PDist()); }
}

Definition at line 184 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::P0
Initial value:
{
Name("P0"),
Comment("central momentum (GeV/c) to generate"),
[this](){ return !fromHistogram(PDist()); }
}

Definition at line 90 of file SingleGen_module.cc.

fhicl::Atom<bool> evgen::SingleGen::Config::PadOutVectors
Initial value:
{
Name("PadOutVectors"),
Comment("if true, all per-PDG-ID quantities must contain only one value, which is then used for all PDG IDs")
}

Definition at line 74 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::ParticleSelectionMode
Initial value:
{
Name("ParticleSelectionMode"),
Comment("generate one particle, or one particle per PDG ID: " + presentOptions(ParticleSelectionModeNames))
}

Definition at line 69 of file SingleGen_module.cc.

fhicl::Sequence<int> evgen::SingleGen::Config::PDG
Initial value:
{
Name("PDG"),
Comment("PDG ID of the particles to be generated; this is the key for the other options marked as \"per PDG ID\"")
}

Definition at line 79 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::PDist
Initial value:
{
Name("PDist"),
Comment("momentum distribution type: " + presentOptions(DistributionNames)),
}

Definition at line 84 of file SingleGen_module.cc.

fhicl::Sequence<std::string> evgen::SingleGen::Config::PHist
Initial value:
{
Name("PHist"),
Comment("name of the histograms of momentum distributions"),
[this](){ return fromHistogram(PDist()); }
}

Definition at line 190 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::PosDist
Initial value:
{
Name("PosDist"),
Comment("distribution of starting position: " + presentOptions(DistributionNames, true, { kHIST }))
}

Definition at line 142 of file SingleGen_module.cc.

fhicl::OptionalAtom<rndm::NuRandomService::seed_t> evgen::SingleGen::Config::Seed
Initial value:
{
Name("Seed"),
Comment("override the random number generator seed")
}

Definition at line 209 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaP
Initial value:
{
Name("SigmaP"),
Comment("variation in momenta (GeV/c)"),
[this](){ return !fromHistogram(PDist()); }
}

Definition at line 96 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaT
Initial value:
{
Name("SigmaT"),
Comment("variation (semi-interval or RMS) in time (s) [per PDG ID]")
}

Definition at line 137 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaThetaXZ
Initial value:
{
Name("SigmaThetaXZ"),
Comment("variation in angle in X-Z plane (degrees)")
}

Definition at line 168 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaThetaYZ
Initial value:
{
Name("SigmaThetaYZ"),
Comment("variation in angle in Y-Z plane (degrees)")
}

Definition at line 173 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaX
Initial value:
{
Name("SigmaX"),
Comment("variation (radius or RMS) in x position (cm) [per PDG ID]")
}

Definition at line 122 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaY
Initial value:
{
Name("SigmaY"),
Comment("variation (radius or RMS) in y position (cm) [per PDG ID]")
}

Definition at line 127 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaZ
Initial value:
{
Name("SigmaZ"),
Comment("variation (radius or RMS) in z position (cm) [per PDG ID]")
}

Definition at line 132 of file SingleGen_module.cc.

fhicl::Atom<bool> evgen::SingleGen::Config::SingleVertex
Initial value:
{
Name("SingleVertex"),
Comment("if true, all particles are produced at the same location"),
false
}

Definition at line 152 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::T0
Initial value:
{
Name("T0"),
Comment("central time (s) [per PDG ID]")
}

Definition at line 117 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::TDist
Initial value:
{
Name("TDist"),
Comment("time distribution type: " + presentOptions(DistributionNames, true, { kHIST }))
}

Definition at line 147 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Theta0XZ
Initial value:
{
Name("Theta0XZ"),
Comment("angle from Z axis on world X-Z plane (degrees)")
}

Definition at line 158 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Theta0YZ
Initial value:
{
Name("Theta0YZ"),
Comment("angle from Z axis on world Y-Z plane (degrees)")
}

Definition at line 163 of file SingleGen_module.cc.

fhicl::Sequence<std::string> evgen::SingleGen::Config::ThetaXzYzHist
Initial value:
{
Name("ThetaXzYzHist"),
Comment("name of the histograms of angular (X-Z and Y-Z) distribution"),
[this](){ return fromHistogram(AngleDist()); }
}

Definition at line 203 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::X0
Initial value:
{
Name("X0"),
Comment("central x position (cm) in world coordinates [per PDG ID]")
}

Definition at line 102 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Y0
Initial value:
{
Name("Y0"),
Comment("central y position (cm) in world coordinates [per PDG ID]")
}

Definition at line 107 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Z0
Initial value:
{
Name("Z0"),
Comment("central z position (cm) in world coordinates [per PDG ID]")
}

Definition at line 112 of file SingleGen_module.cc.


The documentation for this struct was generated from the following file: