AmpGen
2.1
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
13
{
21
class
Particle
;
22
23
class
PhaseSpace
24
{
25
public
:
26
PhaseSpace
() =
default
;
27
explicit
PhaseSpace
(
const
EventType
& type, TRandom* rand = gRandom);
28
explicit
PhaseSpace
(
const
Particle
& type, TRandom* rand = gRandom);
29
30
bool
setDecay
(
const
double
& m0,
const
std::vector<double>& mass );
31
void
setRandom
( TRandom* rand ) { m_rand = rand; }
32
size_t
size
()
const
{
return
m_nt; }
33
Event
makeEvent
();
34
EventType
eventType
()
const
;
35
void
fill
(
double
* output,
unsigned
stagger = 1 );
36
void
debug
(
const
Event
& ) {};
37
private
:
38
size_t
m_nt = {0};
39
double
m_mass[18] = {0};
40
double
m_teCmTm = {0};
41
double
m_wtMax = {0};
42
double
m_decayTime = {0};
43
TRandom* m_rand = {
nullptr
};
44
EventType m_type;
45
46
double
q(
double
a,
double
b,
double
c)
const
;
47
};
48
}
// namespace AmpGen
49
#endif
Event.h
EventType.h
AmpGen::Event
Encapsulates the final state particles of a single event.
Definition
Event.h:18
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:31
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:32
AmpGen::PhaseSpace::fill
void fill(double *output, unsigned stagger=1)
AmpGen::PhaseSpace::debug
void debug(const Event &)
Definition
PhaseSpace.h:36
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 Tue Feb 11 2025 14:01:01 for AmpGen by
1.13.2