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.
6
// This file contains the class for "cluster" fragmentation.
7
// MiniStringFragmentation: handle the fragmentation of low-mass systems.
9
#ifndef Pythia8_MiniStringFragmentation_H
10
#define Pythia8_MiniStringFragmentation_H
14
#include "FragmentationFlavZpT.h"
15
#include "FragmentationSystems.h"
17
#include "ParticleData.h"
18
#include "PythiaStdlib.h"
23
//==========================================================================
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).
29
class MiniStringFragmentation {
34
MiniStringFragmentation() {}
36
// Initialize and save pointers.
37
void init(Info* infoPtrIn, Settings& settings,
38
ParticleData* particleDataPtrIn, Rndm* rndmPtrIn,
39
StringFlav* flavSelPtrIn, StringPT* pTSelPtrIn, StringZ* zSelPtrIn);
41
// Do the fragmentation: driver routine.
42
bool fragment( int iSub, ColConfig& colConfig, Event& event,
47
// Constants: could only be changed in the code itself.
48
static const int NTRYDIFFRACTIVE, NTRYLASTRESORT, NTRYFLAV;
50
// Pointer to various information on the generation.
53
// Pointer to the particle data table.
54
ParticleData* particleDataPtr;
56
// Pointer to the random number generator.
59
// Pointers to classes for flavour, pT and z generation.
60
StringFlav* flavSelPtr;
64
// Initialization data, read from Settings.
73
FlavContainer flav1, flav2;
75
// Attempt to produce two particles from a cluster.
76
bool ministring2two( int nTry, Event& event);
78
// Attempt to produce one particle from a cluster.
79
bool ministring2one( int iSub, ColConfig& colConfig, Event& event);
83
//==========================================================================
85
} // end namespace Pythia8
87
#endif // Pythia8_MiniStringFragmentation_H