1 // MiniStringFragmentation.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2010 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);
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;
49 static const double SIGMAMIN;
51 // Pointer to various information on the generation.
54 // Pointer to the particle data table.
55 ParticleData* particleDataPtr;
57 // Pointer to the random number generator.
60 // Pointer to class for flavour generation.
61 StringFlav* flavSelPtr;
63 // Initialization data, read from Settings.
65 double sigma, sigma2Had, bLund;
72 FlavContainer flav1, flav2;
74 // Attempt to produce two particles from a cluster.
75 bool ministring2two( int nTry, Event& event);
77 // Attempt to produce one particle from a cluster.
78 bool ministring2one( int iSub, ColConfig& colConfig, Event& event);
82 //==========================================================================
84 } // end namespace Pythia8
86 #endif // Pythia8_MiniStringFragmentation_H