|
|
|||
File indexing completed on 2026-08-06 09:24:01
0001 // -*- C++ -*- 0002 // 0003 // BtoSGammaDecayer.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_BtoSGammaDecayer_H 0010 #define HERWIG_BtoSGammaDecayer_H 0011 // 0012 // This is the declaration of the BtoSGammaDecayer class. 0013 // 0014 0015 #include "PartonicDecayerBase.h" 0016 #include "Herwig/Decay/FormFactors/BtoSGammaHadronicMass.h" 0017 0018 namespace Herwig { 0019 0020 using namespace ThePEG; 0021 0022 /** 0023 * Here is the documentation of the BtoSGammaDecayer class. 0024 * 0025 */ 0026 class BtoSGammaDecayer: public PartonicDecayerBase { 0027 0028 public: 0029 0030 /** @name Virtual functions required by the Decayer class. */ 0031 //@{ 0032 /** 0033 * Check if this decayer can perfom the decay for a particular mode. 0034 * Uses the modeNumber member but can be overridden 0035 * @param parent The decaying particle 0036 * @param children The decay products 0037 */ 0038 virtual bool accept(tcPDPtr parent, const tPDVector & children) const; 0039 0040 /** 0041 * For a given decay mode and a given particle instance, perform the 0042 * decay and return the decay products. As this is the base class this 0043 * is not implemented. 0044 * @return The vector of particles produced in the decay. 0045 */ 0046 virtual ParticleVector decay(const Particle & parent, 0047 const tPDVector & children) const; 0048 0049 /** 0050 * Output the setup information for the particle database 0051 * @param os The stream to output the information to 0052 * @param header Whether or not to output the information for MySQL 0053 */ 0054 virtual void dataBaseOutput(ofstream & os,bool header) const; 0055 //@} 0056 0057 public: 0058 0059 /** @name Functions used by the persistent I/O system. */ 0060 //@{ 0061 /** 0062 * Function used to write out object persistently. 0063 * @param os the persistent output stream written to. 0064 */ 0065 void persistentOutput(PersistentOStream & os) const; 0066 0067 /** 0068 * Function used to read in object persistently. 0069 * @param is the persistent input stream read from. 0070 * @param version the version number of the object when written. 0071 */ 0072 void persistentInput(PersistentIStream & is, int version); 0073 //@} 0074 0075 /** 0076 * The standard Init function used to initialize the interfaces. 0077 * Called exactly once for each class by the class description system 0078 * before the main function starts or 0079 * when this class is dynamically loaded. 0080 */ 0081 static void Init(); 0082 0083 protected: 0084 0085 /** @name Clone Methods. */ 0086 //@{ 0087 /** 0088 * Make a simple clone of this object. 0089 * @return a pointer to the new object. 0090 */ 0091 virtual IBPtr clone() const; 0092 0093 /** Make a clone of this object, possibly modifying the cloned object 0094 * to make it sane. 0095 * @return a pointer to the new object. 0096 */ 0097 virtual IBPtr fullclone() const; 0098 //@} 0099 0100 private: 0101 0102 /** 0103 * The assignment operator is private and must never be called. 0104 * In fact, it should not even be implemented. 0105 */ 0106 BtoSGammaDecayer & operator=(const BtoSGammaDecayer &) = delete; 0107 0108 private: 0109 0110 /** 0111 * Pointer to the object which generates the hadronic mass spectrum 0112 */ 0113 BtoSGammaHadronicMassPtr _hadronicmass; 0114 }; 0115 0116 } 0117 0118 #endif /* HERWIG_BtoSGammaDecayer_H */
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|