|
|
|||
File indexing completed on 2026-08-06 09:24:05
0001 // -*- C++ -*- 0002 #ifndef Herwig_BranchingRatioReweighter_H 0003 #define Herwig_BranchingRatioReweighter_H 0004 // 0005 // This is the declaration of the BranchingRatioReweighter class. 0006 // 0007 0008 #include "ThePEG/Handlers/StepHandler.h" 0009 0010 namespace Herwig { 0011 0012 using namespace ThePEG; 0013 0014 /** 0015 * \ingroup Decay 0016 * The BranchingRatioReweighter class is designed to reweight events 0017 * where some decay modes of a particle, or many particles, have been 0018 * switched off in order to improve the statistics. 0019 * 0020 * @see \ref BranchingRatioReweighterInterfaces "The interfaces" 0021 * defined for BranchingRatioReweighter. 0022 */ 0023 class BranchingRatioReweighter: public StepHandler { 0024 0025 public: 0026 0027 /** 0028 * The default constructor. 0029 */ 0030 BranchingRatioReweighter(); 0031 0032 public: 0033 0034 /** @name Virtual functions required by the StepHandler class. */ 0035 //@{ 0036 /** 0037 * The main function called by the EventHandler class to 0038 * perform a step. Given the current state of an Event, this function 0039 * performs the event generation step and includes the result in a new 0040 * Step object int the Event record. 0041 * @param eh the EventHandler in charge of the Event generation. 0042 * @param tagged if not empty these are the only particles which should 0043 * be considered by the StepHandler. 0044 * @param hint a Hint object with possible information from previously 0045 * performed steps. 0046 * @throws Veto if the StepHandler requires the current step to be discarded. 0047 * @throws Stop if the generation of the current Event should be stopped 0048 * after this call. 0049 * @throws Exception if something goes wrong. 0050 */ 0051 virtual void handle(EventHandler & eh, const tPVector & tagged, 0052 const Hint & hint); 0053 //@} 0054 0055 public: 0056 0057 /** 0058 * The standard Init function used to initialize the interfaces. 0059 * Called exactly once for each class by the class description system 0060 * before the main function starts or 0061 * when this class is dynamically loaded. 0062 */ 0063 static void Init(); 0064 0065 protected: 0066 0067 /** @name Clone Methods. */ 0068 //@{ 0069 /** 0070 * Make a simple clone of this object. 0071 * @return a pointer to the new object. 0072 */ 0073 virtual IBPtr clone() const; 0074 0075 /** Make a clone of this object, possibly modifying the cloned object 0076 * to make it sane. 0077 * @return a pointer to the new object. 0078 */ 0079 virtual IBPtr fullclone() const; 0080 //@} 0081 0082 private: 0083 0084 /** 0085 * The assignment operator is private and must never be called. 0086 * In fact, it should not even be implemented. 0087 */ 0088 BranchingRatioReweighter & operator=(const BranchingRatioReweighter &) = delete; 0089 0090 }; 0091 0092 } 0093 0094 #endif /* Herwig_BranchingRatioReweighter_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|