C++ Interface to Tauola
src
tauolaCInterfaces
src/tauolaCInterfaces/DecayList.h
1
#ifndef _DecayList_h_included_
2
#define _DecayList_h_included_
3
4
/**
5
* @class DecayList
6
*
7
* @brief Storage class for keeping track of TauolaParticles and
8
* their index (as passed to Tauola).
9
*
10
* This class contains a list of TauolaParticles. The index of the
11
* TauolaParticle in the list is passed to FORTRAN TAUOLA (as we can
12
* not pass TauolaParticles directly). A static copy of the class is
13
* used for any run of Tauola and is cleared after each decay generation.
14
* To be compatible with how indicies are used in Tauola, those that are:
15
* - < 0 are relative to some other given position in the list
16
* - = 0 is the position one greater than some given position in the list.
17
* - > 0 are absolute. 1 is the first item (which should generally be
18
* the tau's position)
19
*
20
* @author Nadia Davidson
21
* @date 17 June 2008
22
*/
23
24
#include <stdio.h>
25
#include <stdlib.h>
26
#include <iostream>
27
28
#include "TauolaParticle.h"
29
30
using namespace
std;
31
32
namespace
Tauolapp
33
{
34
35
class
TauolaParticle
;
36
37
class
DecayList
{
38
39
public
:
40
/** Return the TauolaParticle corresponding to the index (absolute)
41
in the list of particle */
42
static
TauolaParticle
*
getParticle
(
int
index);
43
44
/** Adds the new particle into the list and delete the previous
45
particle at the same position if it exists */
46
static
void
updateList
(
TauolaParticle
* new_particle,
47
int
index);
48
49
/** Adds the new particle to the end of list */
50
static
void
addToEnd
(
TauolaParticle
* new_particle);
51
52
/** clear all entries from the list */
53
static
void
clear
();
54
55
/** Translates index (absolute and relative) to
56
absolute index. If a relative index is given (negative integer)
57
it is taken relative from the end of the list */
58
static
int
getAbsoluteIndex
(
int
index);
59
60
/** Translates index (absolute and relative) to
61
absolute index. If a relative index is given (negative integer)
62
it is taken relative to the parameter "neg_index_relative_to" */
63
static
int
getAbsoluteIndex
(
int
index,
64
int
neg_index_relative_to);
65
66
/** Return index (absolute) of "particle" */
67
static
int
getAbsoluteIndex
(
TauolaParticle
* particle);
68
69
/** Print the contents of the list */
70
static
void
print
();
71
72
private
:
73
/** vector used for TauolaParticle mapping */
74
static
vector<TauolaParticle*>
m_particle_list
;
75
76
};
77
78
}
// namespace Tauolapp
79
#endif
TauolaParticle
Abstract base class for particle in the event. This class also handles boosting.
Tauolapp::DecayList
Definition
src/tauolaCInterfaces/DecayList.h:37
Tauolapp::DecayList::getAbsoluteIndex
static int getAbsoluteIndex(int index)
Tauolapp::DecayList::clear
static void clear()
Tauolapp::DecayList::updateList
static void updateList(TauolaParticle *new_particle, int index)
Tauolapp::DecayList::getAbsoluteIndex
static int getAbsoluteIndex(int index, int neg_index_relative_to)
Tauolapp::DecayList::addToEnd
static void addToEnd(TauolaParticle *new_particle)
Tauolapp::DecayList::print
static void print()
Tauolapp::DecayList::getParticle
static TauolaParticle * getParticle(int index)
Tauolapp::DecayList::m_particle_list
static vector< TauolaParticle * > m_particle_list
Definition
include/Tauola/DecayList.h:74
Tauolapp::DecayList::getAbsoluteIndex
static int getAbsoluteIndex(TauolaParticle *particle)
Tauolapp::TauolaParticle
Definition
src/tauolaCInterfaces/TauolaParticle.h:33
Tauolapp
Definition
include/Tauola/DecayList.h:33
Generated by
1.12.0