1 // MiniStringFragmentation.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2008 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, StringFlav* flavSelPtrIn);
39 // Do the fragmentation: driver routine.
40 bool fragment( int iSub, ColConfig& colConfig, Event& event,
45 // Constants: could only be changed in the code itself.
46 static const int NTRYDIFFRACTIVE, NTRYLASTRESORT, NTRYFLAV;
47 static const double SIGMAMIN;
49 // Pointer to various information on the generation.
52 // Pointer to class for flavour generation.
53 StringFlav* flavSelPtr;
55 // Initialization data, read from Settings.
57 double sigma, sigma2Had, bLund;
64 FlavContainer flav1, flav2;
66 // Attempt to produce two particles from a cluster.
67 bool ministring2two( int nTry, Event& event);
69 // Attempt to produce one particle from a cluster.
70 bool ministring2one( int iSub, ColConfig& colConfig, Event& event);
74 //**************************************************************************
76 } // end namespace Pythia8
78 #endif // Pythia8_MiniStringFragmentation_H