Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:38:22

0001 // -*- C++ -*-
0002 //
0003 // HadronizationHandler.h is a part of ThePEG - Toolkit for HEP Event Generation
0004 // Copyright (C) 1999-2019 Leif Lonnblad
0005 //
0006 // ThePEG 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 ThePEG_HadronizationHandler_H
0010 #define ThePEG_HadronizationHandler_H
0011 // This is the declaration of the HadronizationHandler class.
0012 
0013 #include "StepHandler.h"
0014 
0015 namespace ThePEG {
0016 
0017 /**
0018  * The HadronizationHandler is the base class of all handlers
0019  * implementing models for hadronization of coloured particles. It is
0020  * derived from the more general StepHandler class, but does not
0021  * introduce more functioanality as it stands.
0022  *
0023  * @see \ref HadronizationHandlerInterfaces "The interfaces"
0024  * defined for HadronizationHandler.
0025  * @see StepHandler
0026  * @see EventHandler
0027  * @see SubProcessHandler
0028  * 
0029  */
0030 class HadronizationHandler: public StepHandler {
0031 
0032 public:
0033 
0034   /**
0035    * Standard Init function used to initialize the interface.
0036    */
0037   static void Init();
0038 
0039 private:
0040 
0041   /**
0042    * Describe an abstract class without persistent data.
0043    */
0044   static AbstractNoPIOClassDescription<HadronizationHandler>
0045     initHadronizationHandler;
0046 
0047   /**
0048    *  Private and non-existent assignment operator.
0049    */
0050   HadronizationHandler & operator=(const HadronizationHandler &) = delete;
0051 
0052 };
0053 
0054 /** @cond TRAITSPECIALIZATIONS */
0055 
0056 /**
0057  * This template specialization informs ThePEG about the
0058  * base class of HadronizationHandler.
0059  */
0060 template <>
0061 struct BaseClassTrait<HadronizationHandler,1>: public ClassTraitsType {
0062   /** Typedef of the base class of HadronizationHandler. */
0063   typedef StepHandler NthBase;
0064 };
0065 
0066 /**
0067  * This template specialization informs ThePEG about the name of the
0068  * HadronizationHandler class.
0069  */
0070 template <>
0071 struct ClassTraits<HadronizationHandler>:
0072     public ClassTraitsBase<HadronizationHandler> {
0073   /** Return the class name. */
0074   static string className() { return "ThePEG::HadronizationHandler"; }
0075 };
0076 
0077 /** @endcond */
0078 
0079 }
0080 
0081 #endif /* ThePEG_HadronizationHandler_H */