Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-15 10:23:24

0001 // HIBasics.h is a part of the PYTHIA event generator.
0002 // Copyright (C) 2025 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 definition of the EventInfo class.
0007 //
0008 // EventInfo: stores full nucleon-nucleon events with corresponding Info.
0009 
0010 #ifndef Pythia8_HIBasics_H
0011 #define Pythia8_HIBasics_H
0012 
0013 #include "Pythia8/Pythia.h"
0014 
0015 namespace Pythia8 {
0016 
0017 // Forward declarations.
0018 class Nucleon;
0019 class SubCollision;
0020 
0021 //==========================================================================
0022 
0023 // Class for storing Events and Info objects.
0024 
0025 class EventInfo {
0026 
0027 public:
0028 
0029   // Empty constructor.
0030   EventInfo(): code(0), ordering(-1.0), coll(0), ok(false) {}
0031 
0032   // The Event object.
0033   Event event;
0034 
0035   // The corresponding Info object.
0036   Info info;
0037 
0038   // The code for the subprocess.
0039   int code;
0040 
0041   // The ordering variable of this event.
0042   double ordering;
0043   bool operator<(const EventInfo & ei) const {
0044     return ordering < ei.ordering;
0045   }
0046 
0047   // The associated SubCollision object.
0048   const SubCollision* coll;
0049 
0050   // Is the event properly generated?
0051   bool ok;
0052 
0053   // Which projectile and target nucleons are included and where are
0054   // they placed?
0055   map<Nucleon*, pair<int,int> > projs, targs;
0056 
0057 };
0058 
0059 //==========================================================================
0060 
0061 } // end namespace Pythia8
0062 
0063 #endif // Pythia8_HIBasics_H