Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:06:19

0001 // ColourTracing.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2024 Torbjorn Sjostrand.
0003 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
0004 // Please respect the MCnet Guidelines, see GUIDELINES for details.
0005 
0006 // This file contains the class ColurTracing.
0007 // ColourTracing traces colour lines in the event record.
0008 
0009 
0010 #ifndef Pythia8_ColourTracing_H
0011 #define Pythia8_ColourTracing_H
0012 
0013 #include "Pythia8/Event.h"
0014 #include "Pythia8/Info.h"
0015 
0016 namespace Pythia8 {
0017 
0018 //==========================================================================
0019 
0020 // ColourTracing class. It is used to trace colours within the event record.
0021 
0022 class ColourTracing {
0023 
0024 public:
0025 
0026   // Constructor.
0027   ColourTracing() : loggerPtr() {}
0028 
0029   void init(Logger* loggerPtrIn) {loggerPtr = loggerPtrIn;}
0030 
0031   // Setup the colour lists.
0032   bool setupColList(Event& event);
0033 
0034   // Trace a colour line, from a colour, from an anticolour, or in loop.
0035   bool traceFromAcol(int indxCol, Event& event, int iJun, int iCol,
0036     vector<int>& iParton);
0037   bool traceFromCol(int indxCol, Event& event, int iJun, int iCol,
0038     vector<int>& iParton);
0039   bool traceInLoop(Event& event, vector<int>& iParton);
0040 
0041   bool finished() { return (int(iColAndAcol.size()) == 0);}
0042   bool colFinished() { return (int(iColEnd.size()) == 0);}
0043 
0044   // Get junction chains where the junctions are directly connected.
0045   vector<vector<int > > getJunChains(Event& event);
0046 
0047 private:
0048 
0049    vector<int> iColEnd, iAcolEnd, iColAndAcol;
0050 
0051   // Pointer to logger.
0052   Logger* loggerPtr;
0053 
0054 };
0055 
0056 //==========================================================================
0057 
0058 } // end namespace Pythia8
0059 
0060 #endif // Pythia8_ColourTracing_H