StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
Pythia8_1_62
include
MiniStringFragmentation.h
1
// MiniStringFragmentation.h is a part of the PYTHIA event generator.
2
// Copyright (C) 2012 Torbjorn Sjostrand.
3
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4
// Please respect the MCnet Guidelines, see GUIDELINES for details.
5
6
// This file contains the class for "cluster" fragmentation.
7
// MiniStringFragmentation: handle the fragmentation of low-mass systems.
8
9
#ifndef Pythia8_MiniStringFragmentation_H
10
#define Pythia8_MiniStringFragmentation_H
11
12
#include "Basics.h"
13
#include "Event.h"
14
#include "FragmentationFlavZpT.h"
15
#include "FragmentationSystems.h"
16
#include "Info.h"
17
#include "ParticleData.h"
18
#include "PythiaStdlib.h"
19
#include "Settings.h"
20
21
namespace
Pythia8 {
22
23
//==========================================================================
24
25
// The MiniStringFragmentation class contains the routines to fragment
26
// occasional low-mass colour singlet partonic systems, where the string
27
// approach is not directly applicable (for technical reasons).
28
29
class
MiniStringFragmentation
{
30
31
public
:
32
33
// Constructor.
34
MiniStringFragmentation
() {}
35
36
// Initialize and save pointers.
37
void
init(
Info
* infoPtrIn,
Settings
& settings,
38
ParticleData
* particleDataPtrIn,
Rndm
* rndmPtrIn,
39
StringFlav
* flavSelPtrIn,
StringPT
* pTSelPtrIn,
StringZ
* zSelPtrIn);
40
41
// Do the fragmentation: driver routine.
42
bool
fragment(
int
iSub,
ColConfig
& colConfig,
Event
& event,
43
bool
isDiff =
false
);
44
45
private
:
46
47
// Constants: could only be changed in the code itself.
48
static
const
int
NTRYDIFFRACTIVE, NTRYLASTRESORT, NTRYFLAV;
49
50
// Pointer to various information on the generation.
51
Info
* infoPtr;
52
53
// Pointer to the particle data table.
54
ParticleData
* particleDataPtr;
55
56
// Pointer to the random number generator.
57
Rndm
* rndmPtr;
58
59
// Pointers to classes for flavour, pT and z generation.
60
StringFlav
* flavSelPtr;
61
StringPT
* pTSelPtr;
62
StringZ
* zSelPtr;
63
64
// Initialization data, read from Settings.
65
int
nTryMass;
66
double
bLund;
67
68
// Data members.
69
bool
isClosed;
70
double
mSum, m2Sum;
71
Vec4
pSum;
72
vector<int> iParton;
73
FlavContainer
flav1, flav2;
74
75
// Attempt to produce two particles from a cluster.
76
bool
ministring2two(
int
nTry,
Event
& event);
77
78
// Attempt to produce one particle from a cluster.
79
bool
ministring2one(
int
iSub,
ColConfig
& colConfig,
Event
& event);
80
81
};
82
83
//==========================================================================
84
85
}
// end namespace Pythia8
86
87
#endif // Pythia8_MiniStringFragmentation_H
Pythia8::Info
Definition:
Info.h:25
Pythia8::Event
Definition:
Event.h:355
Pythia8::StringPT
Definition:
FragmentationFlavZpT.h:172
Pythia8::StringZ
Definition:
FragmentationFlavZpT.h:124
Pythia8::Rndm
Definition:
Basics.h:46
Pythia8::ColConfig
Definition:
FragmentationSystems.h:59
Pythia8::FlavContainer
Definition:
FragmentationFlavZpT.h:31
Pythia8::StringFlav
Definition:
FragmentationFlavZpT.h:69
Pythia8::MiniStringFragmentation
Definition:
MiniStringFragmentation.h:29
Pythia8::ParticleData
Definition:
ParticleData.h:332
Pythia8::Vec4
Definition:
Basics.h:114
Pythia8::Settings
Definition:
Settings.h:106
Generated by
1.8.5