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

          Line data    Source code
       1             : // JunctionSplitting.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 JunctionSplitting.
       7             : // JunctionSplitting takes an event and seperate junction chains from
       8             : // each other, such that no junctions are colour connected to each other.
       9             : 
      10             : #ifndef Pythia8_JunctionSplitting_H
      11             : #define Pythia8_JunctionSplitting_H
      12             : 
      13             : #include "Pythia8/Basics.h"
      14             : #include "Pythia8/ColourTracing.h"
      15             : #include "Pythia8/Event.h"
      16             : #include "Pythia8/FragmentationFlavZpT.h"
      17             : #include "Pythia8/Info.h"
      18             : #include "Pythia8/ParticleData.h"
      19             : #include "Pythia8/Settings.h"
      20             : #include "Pythia8/StringLength.h"
      21             : 
      22             : namespace Pythia8 {
      23             : 
      24             : //==========================================================================
      25             : 
      26             : // JunctionSplitting takes an event and seperate junction chains from
      27             : // each other, such that no junctions are colour connected to each other.
      28             : 
      29           0 : class JunctionSplitting {
      30             : 
      31             : public:
      32             : 
      33             :   // Initialization.
      34             :   void init(Info* infoPtrIn, Settings& settings, Rndm* rndmPtrIn,
      35             :     ParticleData* particleDataPtrIn);
      36             : 
      37             :   // Test whether an event has a physical colour configuration.
      38             :   // It also splits junction pairs into pieces that PYTHIA can hadronize.
      39             :   bool checkColours(Event& event);
      40             : 
      41             : private:
      42             : 
      43             :   // Constants: could only be changed in the code itself.
      44             :   static const int    NTRYJNREST;
      45             :   static const double JJSTRINGM2MAX, JJSTRINGM2FRAC, CONVJNREST, MTHAD, MINDELTAR;
      46             : 
      47             :   double eNormJunction;
      48             :   bool allowDoubleJunRem;
      49             :   // Pointer to various information on the generation.
      50             :   Info*          infoPtr;
      51             : 
      52             :   // Pointer to the random number generator.
      53             :   Rndm*          rndmPtr;
      54             : 
      55             :   // Classes for flavour, pT and z generation.
      56             :   StringFlav flavSel;
      57             :   StringPT   pTSel;
      58             :   StringZ    zSel;
      59             : 
      60             :   // The generator class for normal string fragmentation.
      61             :   StringFragmentation stringFrag;
      62             : 
      63             :   // Colour tracing class used to find the colour chains.
      64             :   ColourTracing colTrace;
      65             : 
      66             :   // String Length class used to calculate the string length.
      67             :   StringLength stringLength;
      68             : 
      69             :   // Split connected junction chains into separated, mainly by splitting
      70             :   // gluons into q-qbar pairs.
      71             :   bool splitJunGluons(Event& event, vector<vector< int > >& iPartonJun,
      72             :     vector<vector< int > >& iPartonAntiJun);
      73             : 
      74             :   // Split multiple (> 2) directly connected junctions.
      75             :   bool splitJunChains(Event& event);
      76             : 
      77             :   // Split junction pairs.
      78             :   bool splitJunPairs(Event& event, vector<vector< int > >& iPartonJun,
      79             :     vector<vector< int > >& iPartonAntiJun);
      80             : 
      81             :   // Get the list of partons connected to the junctions.
      82             :   bool getPartonLists(Event& event, vector<vector< int > >& iPartonJun,
      83             :     vector<vector<int > >& iPartonAntiJun);
      84             : 
      85             :   // Change the anticolour of the particle that has acol to be col.
      86             :   bool setAcol(Event& event, int col, int acol);
      87             : 
      88             : };
      89             : 
      90             : //==========================================================================
      91             : 
      92             : } // end namespace Pythia8
      93             : 
      94             : #endif // Pythia8_JunctionSplitting_H

Generated by: LCOV version 1.11