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
Namespace collecting geometry-related classes utilities.
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