LCOV - code coverage report
Current view: top level - PYTHIA8/pythia8210dev/include/Pythia8 - MiniStringFragmentation.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 2 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 4 0.0 %

          Line data    Source code
       1             : // MiniStringFragmentation.h is a part of the PYTHIA event generator.
       2             : // Copyright (C) 2015 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 "Pythia8/Basics.h"
      13             : #include "Pythia8/Event.h"
      14             : #include "Pythia8/FragmentationFlavZpT.h"
      15             : #include "Pythia8/FragmentationSystems.h"
      16             : #include "Pythia8/Info.h"
      17             : #include "Pythia8/ParticleData.h"
      18             : #include "Pythia8/PythiaStdlib.h"
      19             : #include "Pythia8/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           0 : class MiniStringFragmentation {
      30             : 
      31             : public:
      32             : 
      33             :   // Constructor.
      34           0 :   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

Generated by: LCOV version 1.11