AmpGen
2.1
Toggle main menu visibility
Loading...
Searching...
No Matches
PhaseSpace.h
Go to the documentation of this file.
1
#ifndef AMPGEN_PHASESPACE_H
2
#define AMPGEN_PHASESPACE_H
3
4
#include <stddef.h>
5
#include <vector>
6
7
#include <TRandom.h>
8
9
#include "
AmpGen/Event.h
"
10
#include "
AmpGen/EventType.h
"
11
12
namespace
AmpGen
{
20
class
Particle
;
21
22
class
PhaseSpace
{
23
public
:
24
PhaseSpace
() =
default
;
25
explicit
PhaseSpace
(
const
EventType
&type, TRandom *rand = gRandom);
26
explicit
PhaseSpace
(
const
Particle
&type, TRandom *rand = gRandom);
27
28
bool
setDecay
(
const
double
&m0,
const
std::vector<double> &mass);
29
void
setRandom
(TRandom *rand) { m_rand = rand; }
30
size_t
size
()
const
{
return
m_nt; }
31
Event
makeEvent
();
32
EventType
eventType
()
const
;
33
void
fill
(
double
*output,
unsigned
stagger = 1);
34
void
debug
(
const
Event
&) {};
35
36
private
:
37
size_t
m_nt = {0};
38
double
m_mass[18] = {0};
39
double
m_teCmTm = {0};
40
double
m_wtMax = {0};
41
double
m_decayTime = {0};
42
TRandom *m_rand = {
nullptr
};
43
EventType m_type;
44
45
double
q(
double
a,
double
b,
double
c)
const
;
46
};
47
}
// namespace AmpGen
48
#endif
Event.h
EventType.h
AmpGen::Event
Encapsulates the final state particles of a single event.
Definition
Event.h:19
AmpGen::EventType
Deals with final state configuration of events, specifically dealing with the ordering of particles i...
Definition
EventType.h:22
AmpGen::Particle
Describes a particle, its decay process and subsequent decay products, which are also Particles.
Definition
Particle.h:103
AmpGen::PhaseSpace::eventType
EventType eventType() const
Returns the EventType that this phase space is generating.
AmpGen::PhaseSpace::PhaseSpace
PhaseSpace()=default
Empty constructor.
AmpGen::PhaseSpace::setRandom
void setRandom(TRandom *rand)
Set the random number used by this phase space generator.
Definition
PhaseSpace.h:29
AmpGen::PhaseSpace::PhaseSpace
PhaseSpace(const Particle &type, TRandom *rand=gRandom)
Construct a phase space generator from a Particle.
AmpGen::PhaseSpace::makeEvent
Event makeEvent()
Make an event in this phase space.
AmpGen::PhaseSpace::setDecay
bool setDecay(const double &m0, const std::vector< double > &mass)
Set the parameters of this phase space generator.
AmpGen::PhaseSpace::size
size_t size() const
Return the number of decay products.
Definition
PhaseSpace.h:30
AmpGen::PhaseSpace::fill
void fill(double *output, unsigned stagger=1)
AmpGen::PhaseSpace::debug
void debug(const Event &)
Definition
PhaseSpace.h:34
AmpGen::PhaseSpace::PhaseSpace
PhaseSpace(const EventType &type, TRandom *rand=gRandom)
Construct a phase space generator from an EventType.
AmpGen
Definition
AddCPConjugate.h:2
AmpGen
PhaseSpace.h
Generated on
for AmpGen by
1.17.0