Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 //
0003 // ShowerVariation.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_ShowerVariation_H
0010 #define HERWIG_ShowerVariation_H
0011 
0012 #include "ThePEG/Persistency/PersistentOStream.h"
0013 #include "ThePEG/Persistency/PersistentIStream.h"
0014 
0015 namespace Herwig {
0016 
0017 using namespace ThePEG;
0018 
0019 /**
0020  * A struct identifying a shower variation
0021  */
0022 struct ShowerVariation {
0023   
0024   /**
0025    * Default constructor
0026    */
0027   ShowerVariation() : renormalizationScaleFactor(1.0),
0028               factorizationScaleFactor(1.0),
0029               firstInteraction(true),
0030               secondaryInteractions(false) {}
0031   
0032   /**
0033    * Vary the renormalization scale by the given factor.
0034    */
0035   double renormalizationScaleFactor;
0036   
0037   /**
0038    * Vary the factorization scale by the given factor.
0039    */
0040   double factorizationScaleFactor;
0041   
0042   /**
0043    * Apply the variation to the first interaction
0044    */
0045   bool firstInteraction;
0046   
0047   /**
0048    * Apply the variation to the secondary interactions
0049    */
0050   bool secondaryInteractions;
0051   
0052   /**
0053    * Parse from in file command
0054    */
0055   string fromInFile(const string&);
0056   
0057   /**
0058    * Put to persistent stream
0059    */
0060   void put(PersistentOStream& os) const;
0061   
0062   /**
0063    * Get from persistent stream
0064    */
0065   void get(PersistentIStream& is);
0066   
0067 };
0068 
0069 inline PersistentOStream& operator<<(PersistentOStream& os, const ShowerVariation& var) {
0070   var.put(os); return os;
0071 } 
0072 
0073 inline PersistentIStream& operator>>(PersistentIStream& is, ShowerVariation& var) {
0074   var.get(is); return is;
0075 } 
0076 
0077 }
0078 #endif /* HERWIG_ShowerVariation_H */