All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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::string > ParticleSelectionMode
 
fhicl::Atom< bool > PadOutVectors
 
fhicl::Sequence< int > PDG
 
fhicl::Atom< std::string > PDist
 
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::string > PosDist
 
fhicl::Atom< std::string > TDist
 
fhicl::Atom< bool > SingleVertex
 
fhicl::Sequence< double > Theta0XZ
 
fhicl::Sequence< double > Theta0YZ
 
fhicl::Sequence< double > SigmaThetaXZ
 
fhicl::Sequence< double > SigmaThetaYZ
 
fhicl::Atom< std::string > AngleDist
 
fhicl::Atom< std::string > HistogramFile
 
fhicl::Sequence< std::string > PHist
 
fhicl::Sequence< std::string > ThetaXzYzHist
 
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 67 of file SingleGen_module.cc.

Member Typedef Documentation

using evgen::SingleGen::Config::Comment = fhicl::Comment

Definition at line 69 of file SingleGen_module.cc.

using evgen::SingleGen::Config::Name = fhicl::Name

Definition at line 68 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 464 of file SingleGen_module.cc.

464  {
466  } // 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 180 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 186 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 92 of file SingleGen_module.cc.

fhicl::Atom<bool> evgen::SingleGen::Config::PadOutVectors
Initial value:
{
Name("PadOutVectors"),
}

Definition at line 76 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::ParticleSelectionMode
Initial value:
{
Name("ParticleSelectionMode"),
}

Definition at line 71 of file SingleGen_module.cc.

fhicl::Sequence<int> evgen::SingleGen::Config::PDG
Initial value:
{
Name("PDG"),
}

Definition at line 81 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 86 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 192 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::PosDist
Initial value:
{
Name("PosDist"),
}

Definition at line 144 of file SingleGen_module.cc.

fhicl::OptionalAtom<rndm::NuRandomService::seed_t> evgen::SingleGen::Config::Seed
Initial value:
{
Name("Seed"),
}

Definition at line 211 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 98 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 139 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaThetaXZ
Initial value:
{
Name("SigmaThetaXZ"),
}

Definition at line 170 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::SigmaThetaYZ
Initial value:
{
Name("SigmaThetaYZ"),
}

Definition at line 175 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 124 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 129 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 134 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 154 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::T0
Initial value:
{
Name("T0"),
}

Definition at line 119 of file SingleGen_module.cc.

fhicl::Atom<std::string> evgen::SingleGen::Config::TDist
Initial value:
{
Name("TDist"),
}

Definition at line 149 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Theta0XZ
Initial value:
{
Name("Theta0XZ"),
}

Definition at line 160 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Theta0YZ
Initial value:
{
Name("Theta0YZ"),
}

Definition at line 165 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 205 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::X0
Initial value:
{
Name("X0"),
}

Definition at line 104 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Y0
Initial value:
{
Name("Y0"),
}

Definition at line 109 of file SingleGen_module.cc.

fhicl::Sequence<double> evgen::SingleGen::Config::Z0
Initial value:
{
Name("Z0"),
}

Definition at line 114 of file SingleGen_module.cc.


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