source: HiSusy/trunk/Pythia8/pythia8170/include/MiniStringFragmentation.h @ 1

Last change on this file since 1 was 1, checked in by zerwas, 12 years ago

first import of structure, PYTHIA8 and DELPHES

File size: 2.5 KB
Line 
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
21namespace 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
29class MiniStringFragmentation {
30
31public:
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
45private: 
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
Note: See TracBrowser for help on using the repository browser.