LCOV - code coverage report
Current view: top level - PYTHIA8/pythia8210dev/include/Pythia8 - ResonanceWidths.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 54 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 112 0.0 %

          Line data    Source code
       1             : // ResonanceWidths.h is a part of the PYTHIA event generator.
       2             : // Copyright (C) 2015 Torbjorn Sjostrand.
       3             : // PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
       4             : // Please respect the MCnet Guidelines, see GUIDELINES for details.
       5             : 
       6             : // Header file for resonance properties: dynamical widths etc.
       7             : // ResonanceWidths: base class for all resonances.
       8             : // ResonanceGmZ, ...: derived classes for individual resonances.
       9             : 
      10             : #ifndef Pythia8_ResonanceWidths_H
      11             : #define Pythia8_ResonanceWidths_H
      12             : 
      13             : #include "Pythia8/Basics.h"
      14             : #include "Pythia8/Info.h"
      15             : #include "Pythia8/PythiaStdlib.h"
      16             : #include "Pythia8/Settings.h"
      17             : #include "Pythia8/StandardModel.h"
      18             : 
      19             : namespace Pythia8 {
      20             : 
      21             : //==========================================================================
      22             : 
      23             : // Forward references to ParticleData and StandardModel classes.
      24             : class DecayChannel;
      25             : class ParticleData;
      26             : class ParticleDataEntry;
      27             : class Couplings;
      28             : 
      29             : //==========================================================================
      30             : 
      31             : // The ResonanceWidths is the base class. Also used for generic resonaces.
      32             : 
      33             : class ResonanceWidths {
      34             : 
      35             : public:
      36             : 
      37             :   // Destructor.
      38           0 :   virtual ~ResonanceWidths() {}
      39             : 
      40             :   // Set up standard properties.
      41             :   void initBasic(int idResIn, bool isGenericIn = false) {
      42           0 :     idRes = idResIn; isGeneric = isGenericIn;}
      43             : 
      44             :   // Calculate and store partial and total widths at the nominal mass.
      45             :   virtual bool init(Info* infoPtrIn, Settings* settingsPtrIn,
      46             :     ParticleData* particleDataPtrIn, Couplings* couplingsPtrIn);
      47             : 
      48             :   // Return identity of particle species.
      49           0 :   int id() const {return idRes;}
      50             : 
      51             :   // Calculate the total/open width for given mass, charge and instate.
      52             :   double width(int idSgn, double mHatIn, int idInFlavIn = 0,
      53             :     bool openOnly = false, bool setBR = false, int idOutFlav1 = 0,
      54             :     int idOutFlav2 = 0);
      55             : 
      56             :   // Special case to calculate open final-state width.
      57             :   double widthOpen(int idSgn, double mHatIn, int idIn = 0) {
      58           0 :     return width( idSgn, mHatIn, idIn, true, false);}
      59             : 
      60             :   // Special case to store open final-state widths for channel selection.
      61             :   double widthStore(int idSgn, double mHatIn, int idIn = 0) {
      62           0 :     return width( idSgn, mHatIn, idIn, true, true);}
      63             : 
      64             :   // Return fraction of width open for particle and antiparticle.
      65           0 :   double openFrac(int idSgn) {return (idSgn > 0) ? openPos : openNeg;}
      66             : 
      67             :   // Return forced rescaling factor of resonance width.
      68           0 :   double widthRescaleFactor() {return forceFactor;}
      69             : 
      70             :   // Special case to calculate one final-state width.
      71             :   // Currently only used for Higgs -> qqbar, g g or gamma gamma.
      72             :   double widthChan(double mHatIn, int idOutFlav1, int idOutFlav2) {
      73           0 :     return width( 1, mHatIn, 0, false, false, idOutFlav1, idOutFlav2);}
      74             : 
      75             : protected:
      76             : 
      77             :   // Constructor.
      78           0 :   ResonanceWidths() {}
      79             : 
      80             :   // Constants: could only be changed in the code itself.
      81             :   static const int    NPOINT;
      82             :   static const double MASSMIN, MASSMARGIN;
      83             : 
      84             :   // Particle properties always present.
      85             :   int    idRes, hasAntiRes;
      86             :   bool   doForceWidth, isGeneric, allowCalcWidth;
      87             :   double minWidth, minThreshold, mRes, GammaRes, m2Res, GamMRat,
      88             :          openPos, openNeg, forceFactor;
      89             : 
      90             :   // Properties for currently studied decay channel(s).
      91             :   int    iChannel, onMode, meMode, mult, id1, id2, id3, id1Abs,
      92             :          id2Abs, id3Abs, idInFlav;
      93             :   double widNow, mHat, mf1, mf2, mf3, mr1, mr2, mr3, ps, kinFac,
      94             :          alpEM, alpS, colQ, preFac;
      95             : 
      96             :   // Pointer to properties of the particle species.
      97             :   ParticleDataEntry* particlePtr;
      98             : 
      99             :   // Pointer to various information on the generation.
     100             :   Info*         infoPtr;
     101             : 
     102             :   // Pointer to the settings database.
     103             :   Settings*     settingsPtr;
     104             : 
     105             :   // Pointer to the particle data table.
     106             :   ParticleData* particleDataPtr;
     107             : 
     108             :   // Pointers to Standard Model and SUSY couplings.
     109             :   Couplings*    couplingsPtr;
     110             : 
     111             :   // Initialize constants.
     112           0 :   virtual void initConstants() {}
     113             : 
     114             :   // Virtual methods to handle model-specific (non-SM) part of initialization
     115             :   // for use by derived classes that implement additional models (eg SUSY).
     116           0 :   virtual bool initBSM() {return true;}
     117           0 :   virtual bool allowCalc() {return true;}
     118             : 
     119             :   // Calculate various common prefactors for the current mass.
     120             :   // Optional argument calledFromInit only used for Z0.
     121           0 :   virtual void calcPreFac(bool = false) {}
     122             : 
     123             :   // Calculate width for currently considered channel.
     124             :   // Optional argument calledFromInit only used for Z0.
     125           0 :   virtual void calcWidth(bool = false) {}
     126             : 
     127             :   // Simple routines for matrix-element integration over Breit-Wigners.
     128             :   double numInt1BW(double mHatIn, double m1, double Gamma1, double mMin1,
     129             :     double m2, int psMode = 1);
     130             :   double numInt2BW(double mHatIn, double m1, double Gamma1, double mMin1,
     131             :     double m2, double Gamma2, double mMin2, int psMode = 1);
     132             : 
     133             : };
     134             : 
     135             : //==========================================================================
     136             : 
     137             : // The ResonanceGeneric class handles a generic resonance.
     138             : // Only needs a constructor and allowCalc = false; for the rest uses
     139             : // defaults in base class.
     140             : 
     141           0 : class ResonanceGeneric : public ResonanceWidths {
     142             : 
     143             : public:
     144             : 
     145             :   // Constructor.
     146           0 :   ResonanceGeneric(int idResIn) {initBasic(idResIn, true);}
     147             : 
     148             :   // By default, assume no dedicated code exists to compute width.
     149           0 :   virtual bool allowCalc() {return false;}
     150             : 
     151             : };
     152             : 
     153             : //==========================================================================
     154             : 
     155             : // The ResonanceGmZ class handles the gamma*/Z0 resonance.
     156             : 
     157           0 : class ResonanceGmZ : public ResonanceWidths {
     158             : 
     159             : public:
     160             : 
     161             :   // Constructor.
     162           0 :   ResonanceGmZ(int idResIn) {initBasic(idResIn);}
     163             : 
     164             : private:
     165             : 
     166             :   // Locally stored properties and couplings.
     167             :   int    gmZmode;
     168             :   double thetaWRat, ei2, eivi, vi2ai2, gamNorm, intNorm, resNorm;
     169             : 
     170             :   // Initialize constants.
     171             :   virtual void initConstants();
     172             : 
     173             :   // Calculate various common prefactors for the current mass.
     174             :   virtual void calcPreFac(bool = false);
     175             : 
     176             :   // Caclulate width for currently considered channel.
     177             :   virtual void calcWidth(bool calledFromInit = false);
     178             : 
     179             : };
     180             : 
     181             : //==========================================================================
     182             : 
     183             : // The ResonanceW class handles the W+- resonance.
     184             : 
     185           0 : class ResonanceW : public ResonanceWidths {
     186             : 
     187             : public:
     188             : 
     189             :   // Constructor.
     190           0 :   ResonanceW(int idResIn) {initBasic(idResIn);}
     191             : 
     192             : private:
     193             : 
     194             :   // Locally stored properties and couplings.
     195             :   double thetaWRat, alpEM;
     196             : 
     197             :   // Initialize constants.
     198             :   virtual void initConstants();
     199             : 
     200             :   // Calculate various common prefactors for the current mass.
     201             :   virtual void calcPreFac(bool = false);
     202             : 
     203             :   // Caclulate width for currently considered channel.
     204             :   virtual void calcWidth(bool = false);
     205             : 
     206             : };
     207             : 
     208             : //==========================================================================
     209             : 
     210             : // The ResonanceTop class handles the top/antitop resonance.
     211             : 
     212           0 : class ResonanceTop : public ResonanceWidths {
     213             : 
     214             : public:
     215             : 
     216             :   // Constructor.
     217           0 :   ResonanceTop(int idResIn) {initBasic(idResIn);}
     218             : 
     219             : private:
     220             : 
     221             :   // Locally stored properties and couplings.
     222             :   double thetaWRat, m2W, tanBeta, tan2Beta, mbRun;
     223             : 
     224             :   // Initialize constants.
     225             :   virtual void initConstants();
     226             : 
     227             :   // Calculate various common prefactors for the current mass.
     228             :   virtual void calcPreFac(bool = false);
     229             : 
     230             :   // Caclulate width for currently considered channel.
     231             :   virtual void calcWidth(bool = false);
     232             : 
     233             : };
     234             : 
     235             : //==========================================================================
     236             : 
     237             : // The ResonanceFour class handles fourth-generation resonances.
     238             : 
     239           0 : class ResonanceFour : public ResonanceWidths {
     240             : 
     241             : public:
     242             : 
     243             :   // Constructor.
     244           0 :   ResonanceFour(int idResIn) {initBasic(idResIn);}
     245             : 
     246             : private:
     247             : 
     248             :   // Locally stored properties and couplings.
     249             :   double thetaWRat, m2W;
     250             : 
     251             :   // Initialize constants.
     252             :   virtual void initConstants();
     253             : 
     254             :   // Calculate various common prefactors for the current mass.
     255             :   virtual void calcPreFac(bool = false);
     256             : 
     257             :   // Caclulate width for currently considered channel.
     258             :   virtual void calcWidth(bool = false);
     259             : 
     260             : };
     261             : 
     262             : //==========================================================================
     263             : 
     264             : // The ResonanceH class handles the SM and BSM Higgs resonance.
     265             : // higgsType = 0 : SM H; = 1: h^0/H_1; = 2 : H^0/H_2; = 3 : A^0/A_3.
     266             : 
     267           0 : class ResonanceH : public ResonanceWidths {
     268             : 
     269             : public:
     270             : 
     271             :   // Constructor.
     272           0 :   ResonanceH(int higgsTypeIn, int idResIn) : higgsType(higgsTypeIn)
     273           0 :     {initBasic(idResIn);}
     274             : 
     275             : private:
     276             : 
     277             :   // Constants: could only be changed in the code itself.
     278             :   static const double MASSMINWZ, MASSMINT, GAMMAMARGIN;
     279             : 
     280             :   // Higgs type in current instance.
     281             :   int    higgsType;
     282             : 
     283             :   // Locally stored properties and couplings.
     284             :   bool   useCubicWidth, useRunLoopMass, useNLOWidths;
     285             :   double sin2tW, cos2tW, mT, mZ, mW, mHchg, GammaT, GammaZ, GammaW,
     286             :          rescAlpS, rescColQ, coup2d, coup2u, coup2l, coup2Z, coup2W,
     287             :          coup2Hchg, coup2H1H1, coup2A3A3, coup2H1Z, coup2A3Z, coup2A3H1,
     288             :          coup2HchgW, mLowT, mStepT, mLowZ, mStepZ, mLowW, mStepW,
     289             :          kinFacT[101], kinFacZ[101], kinFacW[101];
     290             : 
     291             :   // Initialize constants.
     292             :   virtual void initConstants();
     293             : 
     294             :   // Calculate various common prefactors for the current mass.
     295             :   virtual void calcPreFac(bool = false);
     296             : 
     297             :   // Caclulate width for currently considered channel.
     298             :   virtual void calcWidth(bool = false);
     299             : 
     300             :   // Sum up loop contributions in Higgs -> g + g.
     301             :   double eta2gg();
     302             : 
     303             :   // Sum up loop contributions in Higgs -> gamma + gamma.
     304             :   double eta2gaga();
     305             : 
     306             :   // Sum up loop contributions in Higgs -> gamma + Z0.
     307             :   double eta2gaZ();
     308             : 
     309             : };
     310             : 
     311             : //==========================================================================
     312             : 
     313             : // The ResonanceHchg class handles the H+- resonance.
     314             : 
     315           0 : class ResonanceHchg : public ResonanceWidths {
     316             : 
     317             : public:
     318             : 
     319             :   // Constructor.
     320           0 :   ResonanceHchg(int idResIn) {initBasic(idResIn);}
     321             : 
     322             : private:
     323             : 
     324             :   // Locally stored properties and couplings.
     325             :   bool   useCubicWidth;
     326             :   double thetaWRat, mW, tanBeta, tan2Beta, coup2H1W;
     327             : 
     328             :   // Initialize constants.
     329             :   virtual void initConstants();
     330             : 
     331             :   // Calculate various common prefactors for the current mass.
     332             :   virtual void calcPreFac(bool = false);
     333             : 
     334             :   // Caclulate width for currently considered channel.
     335             :   virtual void calcWidth(bool = false);
     336             : 
     337             : };
     338             : 
     339             : //==========================================================================
     340             : 
     341             : // The ResonanceZprime class handles the gamma*/Z0 /Z'^0 resonance.
     342             : 
     343           0 : class ResonanceZprime : public ResonanceWidths {
     344             : 
     345             : public:
     346             : 
     347             :   // Constructor.
     348           0 :   ResonanceZprime(int idResIn) {initBasic(idResIn);}
     349             : 
     350             : private:
     351             : 
     352             :   // Locally stored properties and couplings.
     353             :   int    gmZmode, maxZpGen;
     354             :   double sin2tW, cos2tW, thetaWRat, mZ, GammaZ, m2Z, GamMRatZ, afZp[20],
     355             :          vfZp[20], coupZpWW, ei2, eivi, vai2, eivpi, vaivapi, vapi2,
     356             :          gamNorm, gamZNorm, ZNorm, gamZpNorm, ZZpNorm, ZpNorm;
     357             : 
     358             :   // Initialize constants.
     359             :   virtual void initConstants();
     360             : 
     361             :   // Calculate various common prefactors for the current mass.
     362             :   virtual void calcPreFac(bool = false);
     363             : 
     364             :   // Caclulate width for currently considered channel.
     365             :   virtual void calcWidth(bool calledFromInit = false);
     366             : 
     367             : };
     368             : 
     369             : //==========================================================================
     370             : 
     371             : // The ResonanceWprime class handles the W'+- resonance.
     372             : 
     373           0 : class ResonanceWprime : public ResonanceWidths {
     374             : 
     375             : public:
     376             : 
     377             :   // Constructor.
     378           0 :   ResonanceWprime(int idResIn) {initBasic(idResIn);}
     379             : 
     380             : private:
     381             : 
     382             :   // Locally stored properties and couplings.
     383             :   double thetaWRat, cos2tW, alpEM, aqWp, vqWp, alWp, vlWp, coupWpWZ;
     384             : 
     385             :   // Initialize constants.
     386             :   virtual void initConstants();
     387             : 
     388             :   // Calculate various common prefactors for the current mass.
     389             :   virtual void calcPreFac(bool = false);
     390             : 
     391             :   // Caclulate width for currently considered channel.
     392             :   virtual void calcWidth(bool = false);
     393             : 
     394             : };
     395             : 
     396             : //==========================================================================
     397             : 
     398             : // The ResonanceRhorizontal class handles the R^0 resonance.
     399             : 
     400           0 : class ResonanceRhorizontal : public ResonanceWidths {
     401             : 
     402             : public:
     403             : 
     404             :   // Constructor.
     405           0 :   ResonanceRhorizontal(int idResIn) {initBasic(idResIn);}
     406             : 
     407             : private:
     408             : 
     409             :   // Locally stored properties and couplings.
     410             :   double thetaWRat;
     411             : 
     412             :   // Initialize constants.
     413             :   virtual void initConstants();
     414             : 
     415             :   // Calculate various common prefactors for the current mass.
     416             :   virtual void calcPreFac(bool = false);
     417             : 
     418             :   // Caclulate width for currently considered channel.
     419             :   virtual void calcWidth(bool = false);
     420             : 
     421             : };
     422             : 
     423             : //==========================================================================
     424             : 
     425             : // The ResonanceExcited class handles excited-fermion resonances.
     426             : 
     427           0 : class ResonanceExcited : public ResonanceWidths {
     428             : 
     429             : public:
     430             : 
     431             :   // Constructor.
     432           0 :   ResonanceExcited(int idResIn) {initBasic(idResIn);}
     433             : 
     434             : private:
     435             : 
     436             :   // Locally stored properties and couplings.
     437             :   double Lambda, coupF, coupFprime, coupFcol, contactDec, sin2tW, cos2tW;
     438             : 
     439             :   // Initialize constants.
     440             :   virtual void initConstants();
     441             : 
     442             :   // Calculate various common prefactors for the current mass.
     443             :   virtual void calcPreFac(bool = false);
     444             : 
     445             :   // Caclulate width for currently considered channel.
     446             :   virtual void calcWidth(bool = false);
     447             : 
     448             : };
     449             : 
     450             : //==========================================================================
     451             : 
     452             : // The ResonanceGraviton class handles the excited Graviton resonance.
     453             : 
     454           0 : class ResonanceGraviton : public ResonanceWidths {
     455             : 
     456             : public:
     457             : 
     458             :   // Constructor.
     459           0 :   ResonanceGraviton(int idResIn) {initBasic(idResIn);}
     460             : 
     461             : private:
     462             : 
     463             :   // Locally stored properties and couplings.
     464             :   bool   eDsmbulk, eDvlvl;
     465             :   double kappaMG;
     466             : 
     467             :   // Couplings between graviton and SM (map from particle id to coupling).
     468             :   double eDcoupling[27];
     469             : 
     470             :   // Initialize constants.
     471             :   virtual void initConstants();
     472             : 
     473             :   // Calculate various common prefactors for the current mass.
     474             :   virtual void calcPreFac(bool = false);
     475             : 
     476             :   // Caclulate width for currently considered channel.
     477             :   virtual void calcWidth(bool = false);
     478             : 
     479             : };
     480             : 
     481             : //==========================================================================
     482             : 
     483             : // The ResonanceKKgluon class handles the g^*/KK-gluon^* resonance.
     484             : 
     485           0 : class ResonanceKKgluon : public ResonanceWidths {
     486             : 
     487             : public:
     488             : 
     489             :   // Constructor.
     490           0 :   ResonanceKKgluon(int idResIn) {initBasic(idResIn);}
     491             : 
     492             : private:
     493             : 
     494             :   // Locally stored properties.
     495             :   double normSM, normInt, normKK;
     496             : 
     497             :   // Couplings between kk gluon and SM (indexed by particle id).
     498             :   // Helicity dependent couplings. Use vector/axial-vector
     499             :   // couplings internally, gv/ga = 0.5 * (gL +/- gR).
     500             :   double eDgv[10], eDga[10];
     501             : 
     502             :   // Interference parameter.
     503             :   int interfMode;
     504             : 
     505             :   // Initialize constants.
     506             :   virtual void initConstants();
     507             : 
     508             :   // Calculate various common prefactors for the current mass.
     509             :   virtual void calcPreFac(bool calledFromInit = false);
     510             : 
     511             :   // Caclulate width for currently considered channel.
     512             :   virtual void calcWidth(bool calledFromInit = false);
     513             : 
     514             : };
     515             : 
     516             : //==========================================================================
     517             : 
     518             : // The ResonanceLeptoquark class handles the LQ/LQbar resonance.
     519             : 
     520           0 : class ResonanceLeptoquark : public ResonanceWidths {
     521             : 
     522             : public:
     523             : 
     524             :   // Constructor.
     525           0 :   ResonanceLeptoquark(int idResIn) {initBasic(idResIn);}
     526             : 
     527             : private:
     528             : 
     529             :   // Locally stored properties and couplings.
     530             :   double kCoup;
     531             : 
     532             :   // Initialize constants.
     533             :   virtual void initConstants();
     534             : 
     535             :   // Calculate various common prefactors for the current mass.
     536             :   virtual void calcPreFac(bool = false);
     537             : 
     538             :   // Caclulate width for currently considered channel.
     539             :   virtual void calcWidth(bool = false);
     540             : 
     541             : };
     542             : 
     543             : //==========================================================================
     544             : 
     545             : // The ResonanceNuRight class handles righthanded Majorana neutrinos.
     546             : 
     547           0 : class ResonanceNuRight : public ResonanceWidths {
     548             : 
     549             : public:
     550             : 
     551             :   // Constructor.
     552           0 :   ResonanceNuRight(int idResIn) {initBasic(idResIn);}
     553             : 
     554             : private:
     555             : 
     556             :   // Locally stored properties and couplings.
     557             :   double thetaWRat, mWR;
     558             : 
     559             :   // Initialize constants.
     560             :   virtual void initConstants();
     561             : 
     562             :   // Calculate various common prefactors for the current mass.
     563             :   virtual void calcPreFac(bool = false);
     564             : 
     565             :   // Caclulate width for currently considered channel.
     566             :   virtual void calcWidth(bool = false);
     567             : 
     568             : };
     569             : 
     570             : //==========================================================================
     571             : 
     572             : // The ResonanceZRight class handles the Z_R^0 resonance.
     573             : 
     574           0 : class ResonanceZRight : public ResonanceWidths {
     575             : 
     576             : public:
     577             : 
     578             :   // Constructor.
     579           0 :   ResonanceZRight(int idResIn) {initBasic(idResIn);}
     580             : 
     581             : private:
     582             : 
     583             :   // Locally stored properties and couplings.
     584             :   double sin2tW, thetaWRat;
     585             : 
     586             :   // Initialize constants.
     587             :   virtual void initConstants();
     588             : 
     589             :   // Calculate various common prefactors for the current mass.
     590             :   virtual void calcPreFac(bool = false);
     591             : 
     592             :   // Caclulate width for currently considered channel.
     593             :   virtual void calcWidth(bool = false);
     594             : 
     595             : };
     596             : 
     597             : //==========================================================================
     598             : 
     599             : // The ResonanceWRight class handles the W_R+- resonance.
     600             : 
     601           0 : class ResonanceWRight : public ResonanceWidths {
     602             : 
     603             : public:
     604             : 
     605             :   // Constructor.
     606           0 :   ResonanceWRight(int idResIn) {initBasic(idResIn);}
     607             : 
     608             : private:
     609             : 
     610             :   // Locally stored properties and couplings.
     611             :   double thetaWRat;
     612             : 
     613             :   // Initialize constants.
     614             :   virtual void initConstants();
     615             : 
     616             :   // Calculate various common prefactors for the current mass.
     617             :   virtual void calcPreFac(bool = false);
     618             : 
     619             :   // Caclulate width for currently considered channel.
     620             :   virtual void calcWidth(bool = false);
     621             : 
     622             : };
     623             : 
     624             : //==========================================================================
     625             : 
     626             : // The ResonanceHchgchgLeft class handles the H++/H-- (left) resonance.
     627             : 
     628           0 : class ResonanceHchgchgLeft : public ResonanceWidths {
     629             : 
     630             : public:
     631             : 
     632             :   // Constructor.
     633           0 :   ResonanceHchgchgLeft(int idResIn) {initBasic(idResIn);}
     634             : 
     635             : private:
     636             : 
     637             :   // Locally stored properties and couplings.
     638             :   double yukawa[4][4], gL, vL, mW;
     639             : 
     640             :   // Initialize constants.
     641             :   virtual void initConstants();
     642             : 
     643             :   // Calculate various common prefactors for the current mass.
     644             :   virtual void calcPreFac(bool = false);
     645             : 
     646             :   // Caclulate width for currently considered channel.
     647             :   virtual void calcWidth(bool = false);
     648             : 
     649             : };
     650             : 
     651             : //==========================================================================
     652             : 
     653             : // The ResonanceHchgchgRight class handles the H++/H-- (right) resonance.
     654             : 
     655           0 : class ResonanceHchgchgRight : public ResonanceWidths {
     656             : 
     657             : public:
     658             : 
     659             :   // Constructor.
     660           0 :   ResonanceHchgchgRight(int idResIn) {initBasic(idResIn);}
     661             : 
     662             : private:
     663             : 
     664             :   // Locally stored properties and couplings.
     665             :   int    idWR;
     666             :   double yukawa[4][4], gR;
     667             : 
     668             :   // Initialize constants.
     669             :   virtual void initConstants();
     670             : 
     671             :   // Calculate various common prefactors for the current mass.
     672             :   virtual void calcPreFac(bool = false);
     673             : 
     674             :   // Caclulate width for currently considered channel.
     675             :   virtual void calcWidth(bool = false);
     676             : 
     677             : };
     678             : 
     679             : //==========================================================================
     680             : 
     681             : } // end namespace Pythia8
     682             : 
     683             : #endif // Pythia8_ResonanceWidths_H

Generated by: LCOV version 1.11