Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:24:27

0001 // -*- C++ -*-
0002 //
0003 // PerturbativeProcess.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2019 The Herwig Collaboration
0005 //
0006 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
0007 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
0008 //
0009 #ifndef HERWIG_PerturbativeProcess_H
0010 #define HERWIG_PerturbativeProcess_H
0011 
0012 #include "ThePEG/Config/ThePEG.h"
0013 #include "ThePEG/EventRecord/Particle.h"
0014 #include "ThePEG/EventRecord/SubProcess.h"
0015 #include "ThePEG/Handlers/XComb.h"
0016 #include "ThePEG/Config/Pointers.h"
0017 #include "PerturbativeProcess.fh"
0018 
0019 namespace Herwig {
0020 using namespace ThePEG;
0021 
0022 /**
0023  *  Simple struct for hard processes and decays
0024  */
0025 class PerturbativeProcess : public Base {
0026 
0027 public:
0028 
0029   /**
0030    *  The incoming particles
0031    */
0032   vector<pair<PPtr,tPerturbativeProcessPtr> > & incoming() {
0033     return incoming_;
0034   }
0035 
0036   /**
0037    *  The outgoing particles
0038    */
0039   vector<pair<PPtr, PerturbativeProcessPtr> > & outgoing() {
0040     return outgoing_;
0041   }
0042 
0043 protected:
0044 
0045   /**
0046    *  The incoming particles
0047    */
0048   vector<pair<PPtr,tPerturbativeProcessPtr> > incoming_;
0049 
0050   /*
0051    *   The outgoing particles
0052    */
0053   vector<pair<PPtr,PerturbativeProcessPtr> > outgoing_;
0054 
0055   /**
0056    *   The subprocess
0057    */
0058   tSubProPtr subprocess_;
0059 
0060   /**
0061    *  The XComb
0062    */
0063   XCombPtr xcomb_;
0064 };
0065 
0066 /**
0067  *  Typedef for map of PerturbativeProcess for decays
0068  */
0069 typedef multimap<Energy,PerturbativeProcessPtr,std::greater<Energy> > DecayProcessMap;
0070 
0071 }
0072 
0073 #endif