Hydra
4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
|
Kinematics of particle decays and generation of phase-space Monte Carlo samples. More...
Files | |
file | IsAccepted.h |
file | launch_decayers.inl |
file | PhaseSpace.inl |
file | Vector4R.h |
Data Structures | |
class | hydra::Decays< Particles, Backend > |
class | hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > > |
This class provides storage for N-particle states. More... | |
class | hydra::PhaseSpace< N, GRND > |
This class implements phase-space Monte Carlo generation in hydra. More... | |
class | hydra::PhaseSpaceIntegrator< N, Backend, GRND > |
class | hydra::PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
Functions | |
class | hydra::__hydra_align__ (16) Vector3R |
This class represents three-dimensional Euclidian vectors and implements common operation performed on it. More... | |
Kinematics of particle decays and generation of phase-space Monte Carlo samples.
class hydra::Decays |
class hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > > |
This class provides storage for N-particle states.
Data is stored using SoA layout.
Particles | list of particles in the final state |
Backend | memory space to allocate storage for the particles. |
Public Types | |
typedef storage_type::const_iterator | const_iterator |
typedef storage_type::const_reference | const_reference |
typedef storage_type::const_reverse_iterator | const_reverse_iterator |
typedef storage_type::iterator | iterator |
typedef storage_type::reference | reference |
typedef storage_type::reverse_iterator | reverse_iterator |
typedef storage_type::value_type | value_type |
Public Member Functions | |
Decays ()=delete | |
Default contstuctor. More... | |
Decays (double motherMass, std::array< double, nparticles > const &daughtersMasses, size_t nentries=0) | |
Decays (double motherMass, const double(&daughtersMasses)[nparticles], size_t nentries=0) | |
Decays (Decays< tuple_type, system_type > const &other) | |
Copy constructor. More... | |
Decays (Decays< tuple_type, system_type > &&other) | |
Move constructor. More... | |
template<hydra::detail::Backend BACKEND2> | |
Decays (Decays< tuple_type, detail::BackendPolicy< BACKEND2 >> const &other) | |
Copy constructor trans-backend. More... | |
template<typename Iterator > | |
Decays (double motherMass, std::array< double, nparticles > const &daughtersMasses, Iterator first, Iterator last) | |
Copy constructor iterator interface. More... | |
void | AddEntry (tuple_type const &p) |
Add a decay to the container, increasing its size by one element. More... | |
reference | back () |
const_reference | back () const |
template<typename Functor > | |
auto | begin (Functor const &caster) -> decltype(std::declval< storage_type >() .begin(caster)) |
iterator | begin () |
template<unsigned int I1, unsigned int ... IN> | |
auto | begin (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) -> decltype(std::declval< storage_type >().begin(c1, cn...)) |
const_iterator | begin () const |
size_t | capacity () const |
const_iterator | cbegin () const |
template<unsigned int I1, unsigned int ... IN> | |
auto | cbegin (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) const -> decltype(std::declval< storage_type >().cbegin(c1, cn...)) |
const_iterator | cend () const |
template<unsigned int I1, unsigned int ... IN> | |
auto | cend (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) const -> decltype(std::declval< storage_type >().cend(c1, cn...)) |
void | clear () |
const_reverse_iterator | crbegin () const |
template<unsigned int I1, unsigned int ... IN> | |
auto | crbegin (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) const -> decltype(std::declval< storage_type >().crbegin(c1, cn...)) |
const_reverse_iterator | crend () const |
template<unsigned int I1, unsigned int ... IN> | |
auto | crend (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) const -> decltype(std::declval< storage_type >().crend(c1, cn...)) |
bool | empty () const |
template<typename Functor > | |
auto | end (Functor const &caster) -> decltype(std::declval< storage_type >().end(caster)) |
iterator | end () |
template<unsigned int I1, unsigned int ... IN> | |
auto | end (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) -> decltype(std::declval< storage_type >().end(c1, cn...)) |
const_iterator | end () const |
iterator | erase (iterator pos) |
iterator | erase (iterator first, iterator last) |
reference | front () |
const_reference | front () const |
template<unsigned int I> | |
auto | GetDaugtherRange (placeholders::placeholder< I > c) -> hydra::Range< decltype(std::declval< storage_type >().begin(c)) > |
reference | GetEntry (size_t i) |
PhaseSpaceWeight< Particles... > | GetEventWeightFunctor () const |
template<typename Functor > | |
std::enable_if< detail::is_hydra_functor< Functor >::value||detail::is_hydra_lambda< Functor >::value||detail::is_hydra_composite_functor< Functor >::value, PhaseSpaceReweight< Functor, Particles... > >::type | GetEventWeightFunctor (Functor const &functor) const |
const std::array< double, nparticles > | GetMasses () const |
double | GetMaxWeight () const |
double | GetMotherMass () const |
const storage_type & | GetStorage () const |
iterator | insert (iterator position, const value_type &x) |
void | insert (iterator position, size_t n, const value_type &x) |
template<typename InputIterator > | |
void | insert (iterator position, InputIterator first, InputIterator last) |
template<typename Iterable > | |
std::enable_if< detail::is_iterable< Iterable >::value, void >::type | insert (iterator position, Iterable range) |
template<typename ... Iterables> | |
auto | Meld (Iterables &&... iterable) -> typename std::enable_if< detail::all_true< detail::is_iterable< Iterables >::value... >::value, decltype(std::declval< storage_type >().meld(std::forward< Iterables >(iterable) ...)) >::type |
storage_type && | MoveStorage () |
Decays< tuple_type, system_type > & | operator= (Decays< tuple_type, system_type > const &other) |
Assignment operator. More... | |
Decays< tuple_type, system_type > & | operator= (Decays< tuple_type, system_type > &&other) |
Move assignment operator. More... | |
template<hydra::detail::Backend BACKEND2> | |
Decays< tuple_type, system_type > & | operator= (Decays< tuple_type, detail::BackendPolicy< BACKEND2 > > const &other) |
Assignment operator. More... | |
reference | operator[] (size_t n) |
const_reference | operator[] (size_t n) const |
void | pop_back () |
void | push_back (const value_type &particles) |
template<typename Functor > | |
auto | rbegin (Functor const &caster) -> decltype(std::declval< storage_type >().rbegin(caster)) |
reverse_iterator | rbegin () |
template<unsigned int I1, unsigned int ... IN> | |
auto | rbegin (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) -> decltype(std::declval< storage_type >().rbegin(c1, cn...)) |
const_reverse_iterator | rbegin () const |
template<typename Functor > | |
auto | rend (Functor const &caster) -> decltype(std::declval< storage_type >().rend(caster)) |
reverse_iterator | rend () |
template<unsigned int I1, unsigned int ... IN> | |
auto | rend (placeholders::placeholder< I1 > c1, placeholders::placeholder< IN > ...cn) -> decltype(std::declval< storage_type >().rend(c1, cn...)) |
const_reverse_iterator | rend () const |
void | reserve (size_t size) |
void | resize (size_t size) |
void | shrink_to_fit () |
size_t | size () const |
hydra::Range< iterator > | Unweight (size_t seed=0x180ec6d33cfd0aba) |
template<typename Functor > | |
std::enable_if< detail::is_hydra_functor< Functor >::value||detail::is_hydra_lambda< Functor >::value||detail::is_hydra_composite_functor< Functor >::value, hydra::Range< iterator > >::type | Unweight (Functor const &functor, double weight=-1.0, size_t seed=0x39abdc4529b1661c) |
typedef storage_type::const_iterator hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::const_iterator |
typedef storage_type::const_reference hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::const_reference |
typedef storage_type::const_reverse_iterator hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::const_reverse_iterator |
typedef storage_type::iterator hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::iterator |
typedef storage_type::reference hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::reference |
typedef storage_type::reverse_iterator hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::reverse_iterator |
typedef storage_type::value_type hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::value_type |
|
delete |
Default contstuctor.
|
inline |
|
inline |
|
inline |
Copy constructor.
other |
|
inline |
Move constructor.
other |
|
inline |
Copy constructor trans-backend.
other |
|
inline |
Copy constructor iterator interface.
other |
|
inline |
Add a decay to the container, increasing its size by one element.
p | is a tuple with N final state particles. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Assignment operator.
other |
|
inline |
Move assignment operator.
other |
|
inline |
Assignment operator.
other |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
hydra::Range< typename Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::iterator > hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::Unweight | ( | size_t | seed = 0x180ec6d33cfd0aba | ) |
std::enable_if< detail::is_hydra_functor< Functor >::value||detail::is_hydra_lambda< Functor >::value||detail::is_hydra_composite_functor< Functor >::value, hydra::Range< typename Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::iterator > >::type hydra::Decays< hydra::tuple< Particles... >, hydra::detail::BackendPolicy< Backend > >::Unweight | ( | Functor const & | functor, |
double | weight = -1.0 , |
||
size_t | seed = 0x39abdc4529b1661c |
||
) |
class hydra::PhaseSpace |
This class implements phase-space Monte Carlo generation in hydra.
The events are generated in the center-of-mass frame, but the decay products are finally boosted using the betas of the original particle. The code is based on the Raubold and Lynch method as documented in F. James, Monte Carlo Phase Space, CERN 68-15 (1968).
Note that Momentum, Energy units are \(GeV/C\) , \(GeV/C^2\) .
N | is the number of particles in final state. |
GRND | underlying random number generator. See the options in hydra::thrust::random namespace. |
Public Member Functions | |
PhaseSpace (double motherMass, const double(&daughtersMasses)[N]) | |
PhaseSpace ctor. More... | |
PhaseSpace (double motherMass, std::array< GReal_t, N > const &daughtersMasses) | |
PhaseSpace ctor. More... | |
PhaseSpace (double motherMass, std::initializer_list< GReal_t > const &daughtersMasses) | |
PhaseSpace ctor. More... | |
PhaseSpace (PhaseSpace< N, GRND >const &other) | |
Copy constructor. More... | |
template<typename GRND2 > | |
PhaseSpace (PhaseSpace< N, GRND2 >const &other) | |
Copy constructor. More... | |
template<typename FUNCTOR , hydra::detail::Backend BACKEND> | |
std::pair< GReal_t, GReal_t > | AverageOn (hydra::detail::BackendPolicy< BACKEND >const &policy, Vector4R const &mother, FUNCTOR const &functor, size_t n) |
Calculate the mean and the \( \sqrt(variance)\) of a functor over the phase-space with n-samples. More... | |
template<typename FUNCTOR , typename Iterator > | |
std::pair< GReal_t, GReal_t > | AverageOn (Iterator begin, Iterator end, FUNCTOR const &functor) |
Calculate the mean and the \( \sqrt(\sigma)\) of a functor over the phase-space given a list of mother particles. More... | |
template<typename Iterator , typename ... FUNCTOR> | |
void | Evaluate (Vector4R const &mother, Iterator begin, Iterator end, FUNCTOR const &...functors) |
Evaluate a list of functors over the phase-space. More... | |
template<typename ... FUNCTOR, typename IteratorMother , typename Iterator > | |
void | Evaluate (IteratorMother mbegin, IteratorMother mend, Iterator begin, FUNCTOR const &...functors) |
Evaluate a list of functors over the phase-space given a list vectors. More... | |
template<typename ... FUNCTOR, typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, hydra::Range< decltype(std::declval< Iterable >).begin())> >::type | Evaluate (Vector4R const &mother, Iterable &&iterable, FUNCTOR const &...functors) |
Evaluate a list of functors over the phase-space. More... | |
template<typename ... FUNCTOR, typename IterableMother , typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value &&hydra::detail::is_iterable< IterableMother >::value, hydra::Range< decltype(std::declval< Iterable >).begin())> >::type | Evaluate (IterableMother &&mothers, Iterable &&result, FUNCTOR const &...functors) |
Evaluate a list of functors over the phase-space given a list vectors. More... | |
template<typename Iterator > | |
void | Generate (Vector4R const &mother, Iterator begin, Iterator end) |
Generate a phase-space given a mother particle and a output range. More... | |
template<typename Iterator1 , typename Iterator2 > | |
void | Generate (Iterator1 begin, Iterator1 end, Iterator2 daughters_begin) |
Generate a phase-space given a range of mother particles and a output range. More... | |
template<typename Iterator , hydra::detail::Backend BACKEND> | |
void | Generate (hydra::detail::BackendPolicy< BACKEND > const &exec_policy, Vector4R const &mother, Iterator begin, Iterator end) |
Generate a phase-space given a mother particle and a output range. More... | |
template<typename Iterator1 , typename Iterator2 , hydra::detail::Backend BACKEND> | |
void | Generate (hydra::detail::BackendPolicy< BACKEND > const &exec_policy, Iterator1 begin, Iterator1 end, Iterator2 daughters_begin) |
Generate a phase-space given a range of mother particles and a output range. More... | |
template<typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value, hydra::Range< decltype(std::declval< Iterable >).begin())> >::type | Generate (Vector4R const &mother, Iterable &&events) |
Generate a phase-space given a mother particle and a output range. More... | |
template<typename IterableMothers , typename Iterable > | |
std::enable_if< hydra::detail::is_iterable< Iterable >::value &&hydra::detail::is_iterable< IterableMothers >::value, hydra::Range< decltype(std::declval< Iterable >).begin())> >::type | Generate (IterableMothers &&mothers, Iterable &&daughters) |
Generate a phase-space given a range of mother particles and a output range. More... | |
double | GetECM () const |
const GReal_t * | GetMasses () const |
double | GetMaxWeight () const |
double | GetMotherMass () const |
GInt_t | GetSeed () const |
Get seed of the underlying generator;. More... | |
PhaseSpace< N, GRND > & | operator= (PhaseSpace< N, GRND >const &other) |
Assignment operator. More... | |
template<typename GRND2 > | |
PhaseSpace< N, GRND > & | operator= (PhaseSpace< N, GRND2 >const &other) |
Assignment operator. More... | |
void | SetECM (double ecm) |
void | SetMaxWeight (double maxWeight) |
void | SetMotherMass (double motherMass) |
void | SetSeed (GInt_t _seed) |
Set seed of the underlying generator;. More... | |
Static Public Member Functions | |
static double | PDK (double a, double b, double c) |
hydra::PhaseSpace< N, GRND >::PhaseSpace | ( | double | motherMass, |
const double(&) | daughtersMasses[N] | ||
) |
PhaseSpace ctor.
Constructor of the phase-space generator takes as input parameters:
motherMass | mass of the mother particle in Gev/c*c; |
daughtersMasses | array with the masses of the daughter particles in Gev/c*c; |
hydra::PhaseSpace< N, GRND >::PhaseSpace | ( | double | motherMass, |
std::array< GReal_t, N > const & | daughtersMasses | ||
) |
PhaseSpace ctor.
Constructor of the phase-space generator takes as input parameters:
motherMass | mass of the mother particle in Gev/c*c; |
daughtersMasses | array with the masses of the daughter particles in Gev/c*c; |
hydra::PhaseSpace< N, GRND >::PhaseSpace | ( | double | motherMass, |
std::initializer_list< GReal_t > const & | daughtersMasses | ||
) |
PhaseSpace ctor.
Constructor of the phase-space generator takes as input parameters:
motherMass | mass of the mother particle in Gev/c*c; |
daughtersMasses | list with the masses of the daughter particles in Gev/c*c; |
hydra::PhaseSpace< N, GRND >::PhaseSpace | ( | PhaseSpace< N, GRND >const & | other | ) |
Copy constructor.
other |
hydra::PhaseSpace< N, GRND >::PhaseSpace | ( | PhaseSpace< N, GRND2 >const & | other | ) |
Copy constructor.
other |
std::pair< GReal_t, GReal_t > hydra::PhaseSpace< N, GRND >::AverageOn | ( | hydra::detail::BackendPolicy< BACKEND >const & | policy, |
Vector4R const & | mother, | ||
FUNCTOR const & | functor, | ||
size_t | n | ||
) |
Calculate the mean and the \( \sqrt(variance)\) of a functor over the phase-space with n-samples.
policy | Back-end; |
mother | Mother particle four-vector; |
functor | Functor; |
n | Number of samples; |
std::pair< GReal_t, GReal_t > hydra::PhaseSpace< N, GRND >::AverageOn | ( | Iterator | begin, |
Iterator | end, | ||
FUNCTOR const & | functor | ||
) |
Calculate the mean and the \( \sqrt(\sigma)\) of a functor over the phase-space given a list of mother particles.
policy | Back-end; |
begin | Iterator pointing to the begin of list of mother particles; |
end | Iterator pointing to the end of list of mother particles; |
functor | Functor; |
void hydra::PhaseSpace< N, GRND >::Evaluate | ( | Vector4R const & | mother, |
Iterator | begin, | ||
Iterator | end, | ||
FUNCTOR const &... | functors | ||
) |
Evaluate a list of functors over the phase-space.
policy | Back-end; |
begin | Iterator pointing to the begin of list of output range; |
end | Iterator pointing to the end of list of output range; |
mother | Mother particle four-vector; |
functors | Functors; |
void hydra::PhaseSpace< N, GRND >::Evaluate | ( | IteratorMother | mbegin, |
IteratorMother | mend, | ||
Iterator | begin, | ||
FUNCTOR const &... | functors | ||
) |
Evaluate a list of functors over the phase-space given a list vectors.
policy | Back-end; |
mbegin | Iterator pointing to the begin of list of mother particles; |
mend | Iterator pointing to the end of list of mother particles; |
begin | Iterator pointing to the begin of list of output range; |
functors | Functors; |
|
inline |
Evaluate a list of functors over the phase-space.
mother | mother particle |
result | container for store the results |
functors |
result | container |
|
inline |
Evaluate a list of functors over the phase-space given a list vectors.
mothers | list of mother particles; |
result | container for store the results |
functors |
result | container |
void hydra::PhaseSpace< N, GRND >::Generate | ( | Vector4R const & | mother, |
Iterator | begin, | ||
Iterator | end | ||
) |
Generate a phase-space given a mother particle and a output range.
mother | Mother particle. |
begin | Iterator pointing to the begin output range. |
end | Iterator pointing to the end output range. |
Run the generator and calculate the maximum weight. It takes as input the fourvector of the mother particle in any system of reference. The daughters will be generated in this system.
void hydra::PhaseSpace< N, GRND >::Generate | ( | Iterator1 | begin, |
Iterator1 | end, | ||
Iterator2 | daughters_begin | ||
) |
Generate a phase-space given a range of mother particles and a output range.
begin | Iterator pointing to the begin of range of mother particles. |
end | Iterator pointing to the end of range of mother particles. |
daughters_begin | Iterator pointing to the begin of range of daughter particles. |
Run the generator and calculate the maximum weight. It takes as input the device vector with the four-vectors of the mother particle in any system of reference. The daughters will be generated in this system.
void hydra::PhaseSpace< N, GRND >::Generate | ( | hydra::detail::BackendPolicy< BACKEND > const & | exec_policy, |
Vector4R const & | mother, | ||
Iterator | begin, | ||
Iterator | end | ||
) |
Generate a phase-space given a mother particle and a output range.
mother | Mother particle. |
begin | Iterator pointing to the begin output range. |
end | Iterator pointing to the end output range. |
Run the generator and calculate the maximum weight. It takes as input the fourvector of the mother particle in any system of reference. The daughters will be generated in this system.
void hydra::PhaseSpace< N, GRND >::Generate | ( | hydra::detail::BackendPolicy< BACKEND > const & | exec_policy, |
Iterator1 | begin, | ||
Iterator1 | end, | ||
Iterator2 | daughters_begin | ||
) |
Generate a phase-space given a range of mother particles and a output range.
begin | Iterator pointing to the begin of range of mother particles. |
end | Iterator pointing to the end of range of mother particles. |
daughters_begin | Iterator pointing to the begin of range of daughter particles. |
Run the generator and calculate the maximum weight. It takes as input the device vector with the four-vectors of the mother particle in any system of reference. The daughters will be generated in this system.
|
inline |
Generate a phase-space given a mother particle and a output range.
mother | Mother particle. |
begin | Iterator pointing to the begin output range. |
end | Iterator pointing to the end output range. |
Run the generator and calculate the maximum weight. It takes as input the fourvector of the mother particle in any system of reference. The daughters will be generated in this system.
|
inline |
Generate a phase-space given a range of mother particles and a output range.
begin | Iterator pointing to the begin of range of mother particles. |
end | Iterator pointing to the end of range of mother particles. |
daughters_begin | Iterator pointing to the begin of range of daughter particles. |
Run the generator and calculate the maximum weight. It takes as input the device vector with the four-vectors of the mother particle in any system of reference. The daughters will be generated in this system.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get seed of the underlying generator;.
PhaseSpace< N, GRND > & hydra::PhaseSpace< N, GRND >::operator= | ( | PhaseSpace< N, GRND >const & | other | ) |
Assignment operator.
other |
PhaseSpace< N, GRND > & hydra::PhaseSpace< N, GRND >::operator= | ( | PhaseSpace< N, GRND2 >const & | other | ) |
Assignment operator.
other |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
Set seed of the underlying generator;.
_seed |
class hydra::PhaseSpaceIntegrator |
class hydra::PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
BACKEND | to perform the calculation. |
N | is the number of particles in final state. |
GRND | underlying random number generator. See the options in hydra::thrust::random namespace. |
Public Types | |
typedef void | hydra_integrator_tag |
Public Types inherited from hydra::Integral< PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
typedef void | hydra_integrator_type |
Public Member Functions | |
PhaseSpaceIntegrator (const GReal_t motherMass, const GReal_t(&daughtersMasses)[N], size_t n) | |
PhaseSpaceIntegrator (const GReal_t motherMass, std::array< GReal_t, N > const &daughtersMasses, size_t n) | |
PhaseSpaceIntegrator (const GReal_t motherMass, std::initializer_list< GReal_t > const &daughtersMasses, size_t n) | |
PhaseSpaceIntegrator (PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND >const &other) | |
template<hydra::detail::Backend BACKEND2, typename GRND2 > | |
PhaseSpaceIntegrator (PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND2 >const &other) | |
const PhaseSpace< N, GRND > & | GetGenerator () const |
PhaseSpace< N, GRND > & | GetGenerator () |
const Vector4R & | GetMother () const |
size_t | GetNSamples () const |
template<typename FUNCTOR > | |
std::pair< GReal_t, GReal_t > | Integrate (FUNCTOR const &functor) |
PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND >const &other) |
template<hydra::detail::Backend BACKEND2, typename GRND2 > | |
PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND2 >const &other) |
void | SetGenerator (const PhaseSpace< N, GRND > &generator) |
void | SetMother (const Vector4R &mother) |
void | SetNSamples (size_t nSamples) |
Public Member Functions inherited from hydra::Integral< PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor) |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor, double(&min)[N], double(&max)[N]) |
typedef void hydra::PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::hydra_integrator_tag |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::pair< GReal_t, GReal_t > hydra::PhaseSpaceIntegrator< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::Integrate | ( | FUNCTOR const & | functor | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
class hydra::__hydra_align__ | ( | 16 | ) |
#include <Vector3R.h>
This class represents three-dimensional Euclidian vectors and implements common operation performed on it.
This class represents four-dimensional relativistic vectors and implements common operation performed on it.
This class is inspired on the corresponding EvtGen classes.