Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // -*- C++ -*-
0002 //
0003 // IsoSpin.h is a part of Herwig - A multi-purpose Monte Carlo event generator
0004 // Copyright (C) 2002-2017 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_IsoSpin_H
0010 #define HERWIG_IsoSpin_H
0011 //
0012 // This is the declaration of the Isospin namespace and values.
0013 //
0014 namespace Herwig {
0015   namespace IsoSpin {
0016     
0017     /**
0018      *   Enum for the total isospin of the system
0019      */
0020     enum IsoSpin { IUnknown, IZero, IHalf, IOne, IThreeHalf};
0021     
0022     /**
0023      *   Third component
0024      */
0025     enum I3     { I3Unknown, I3MinusOne, I3MinusThreeHalf, I3MinusHalf, I3Zero, I3Half, I3One, I3ThreeHalf};
0026   }
0027   namespace Strangeness {
0028     /**
0029      *  Strange content
0030      */
0031     enum Strange { Unknown, ssbar, Zero, PlusOne, MinusOne};
0032   }
0033   namespace Charm {
0034     /**
0035      *  Charm content
0036      */
0037     enum Charm { Unknown, ccbar, Zero, PlusOne, MinusOne};
0038   }
0039   namespace Beauty {
0040     /**
0041      *  Bottom content
0042      */
0043     enum Bottom { Unknown, bbbar, Zero, PlusOne, MinusOne};
0044   }
0045 
0046   struct FlavourInfo {
0047 
0048     /**
0049      *  Constructor
0050      */
0051     FlavourInfo() : I(IsoSpin::IUnknown), I3(IsoSpin::I3Unknown),
0052             strange(Strangeness::Unknown), charm(Charm::Unknown), bottom(Beauty::Unknown)
0053     {}
0054     
0055     /**
0056      *  Constructor
0057      */
0058     FlavourInfo(IsoSpin::IsoSpin Iin, IsoSpin::I3 I3in, Strangeness::Strange Sin=Strangeness::Unknown,
0059         Charm::Charm Cin=Charm::Unknown, Beauty::Bottom Bin=Beauty::Unknown) :
0060       I(Iin), I3(I3in),strange(Sin), charm(Cin), bottom(Bin)
0061     {}
0062 
0063     /**
0064      *  Total isospin
0065      */
0066     IsoSpin::IsoSpin I;
0067     
0068     /**
0069      *  \f$I_3\f$
0070      */
0071     IsoSpin::I3 I3;
0072 
0073     /**
0074      * Strange
0075      */
0076     Strangeness::Strange strange;
0077 
0078     /**
0079      * Charm
0080      */
0081     Charm::Charm charm;
0082 
0083     /**
0084      * Strange
0085      */
0086     Beauty::Bottom bottom;
0087   };
0088 }
0089 
0090 #endif /* HERWIG_IsoSpin_H */