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
DecayList
Storage class for keeping track of TauolaParticles and their index (as passed to Tauola).
TauolaParticle
Abstract base class for particle in the event. This class also handles boosting.
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::getAbsoluteIndex
static int getAbsoluteIndex(TauolaParticle *particle)
Tauolapp::TauolaParticle
Definition:
include/Tauola/TauolaParticle.h:33
Tauolapp
Definition:
include/Tauola/DecayList.h:33
Generated by
1.9.1