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::larg4SingleGen::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 59 of file larg4SingleGen_module.cc.

Member Typedef Documentation

Definition at line 61 of file larg4SingleGen_module.cc.

Definition at line 60 of file larg4SingleGen_module.cc.

Member Function Documentation

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

Returns whether the specified mode is an histogram distribution.

Definition at line 449 of file larg4SingleGen_module.cc.

449  {
451  } // larg4SingleGen::Config::fromHistogram()
static constexpr int kHIST
fhicl::Atom< std::string > PDist
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.

Member Data Documentation

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

Definition at line 172 of file larg4SingleGen_module.cc.

fhicl::Atom<std::string> evgen::larg4SingleGen::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 178 of file larg4SingleGen_module.cc.

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

Definition at line 84 of file larg4SingleGen_module.cc.

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

Definition at line 68 of file larg4SingleGen_module.cc.

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

Definition at line 63 of file larg4SingleGen_module.cc.

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

Definition at line 73 of file larg4SingleGen_module.cc.

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

Definition at line 78 of file larg4SingleGen_module.cc.

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

Definition at line 184 of file larg4SingleGen_module.cc.

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

Definition at line 136 of file larg4SingleGen_module.cc.

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

Definition at line 196 of file larg4SingleGen_module.cc.

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

Definition at line 90 of file larg4SingleGen_module.cc.

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

Definition at line 131 of file larg4SingleGen_module.cc.

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

Definition at line 162 of file larg4SingleGen_module.cc.

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

Definition at line 167 of file larg4SingleGen_module.cc.

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

Definition at line 116 of file larg4SingleGen_module.cc.

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

Definition at line 121 of file larg4SingleGen_module.cc.

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

Definition at line 126 of file larg4SingleGen_module.cc.

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

Definition at line 146 of file larg4SingleGen_module.cc.

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

Definition at line 111 of file larg4SingleGen_module.cc.

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

Definition at line 141 of file larg4SingleGen_module.cc.

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

Definition at line 152 of file larg4SingleGen_module.cc.

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

Definition at line 157 of file larg4SingleGen_module.cc.

fhicl::Sequence<std::string> evgen::larg4SingleGen::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 190 of file larg4SingleGen_module.cc.

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

Definition at line 96 of file larg4SingleGen_module.cc.

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

Definition at line 101 of file larg4SingleGen_module.cc.

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

Definition at line 106 of file larg4SingleGen_module.cc.


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