10 #ifndef LARSIM_ALGORITHMS_ACTIVEVOLUMEVERTEXSAMPLER_H 11 #define LARSIM_ALGORITHMS_ACTIVEVOLUMEVERTEXSAMPLER_H 40 #include "TLorentzVector.h" 55 Comment(
"Technique used to choose vertex locations"),
60 Comment(
"Seed used for sampling vertex locations"),
61 [
this]() ->
bool {
return type_() !=
"fixed"; }};
64 Comment(
"Coordinates of the fixed vertex position"),
65 [
this]() ->
bool {
return type_() ==
"fixed"; }};
69 Comment(
"The minimum allowed values for the x, y, and z coordinates"),
70 [
this]() ->
bool {
return type_() ==
"box"; }};
74 Comment(
"The maximum allowed values for the x, y, and z coordinates"),
75 [
this]() ->
bool {
return type_() ==
"box"; }};
79 Comment(
"Whether to enforce that the sampled vertices are within a TPC" 81 [
this]() ->
bool {
return type_() ==
"box"; }};
91 const std::string& generator_name);
96 const std::string& generator_name)
120 std::unique_ptr<std::discrete_distribution<size_t>>
fTPCDist;
vertex_type_t fVertexType
TLorentzVector fVertexPosition
vertex position fixed manually - no fitting done
The geometry of one entire detector, as served by art.
std::unique_ptr< std::discrete_distribution< size_t > > fTPCDist
ActiveVolumeVertexSampler(const fhicl::ParameterSet &pset, rndm::NuRandomService &rand_service, const geo::Geometry &geom, const std::string &generator_name)
std::string fGeneratorName
An art service to assist in the distribution of guaranteed unique seeds to all engines within an art ...
Event Generation using GENIE, cosmics or single particles.
std::mt19937_64 fTPCEngine
map< int, array< map< int, double >, 2 >> Table