File indexing completed on 2025-01-18 09:59:06
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef G4SPBaryon_h
0027 #define G4SPBaryon_h
0028
0029 #include "globals.hh"
0030
0031 #include "G4Proton.hh"
0032 #include "G4Neutron.hh"
0033 #include "G4SigmaPlus.hh"
0034 #include "G4SigmaZero.hh"
0035 #include "G4SigmaMinus.hh"
0036 #include "G4XiMinus.hh"
0037 #include "G4XiZero.hh"
0038 #include "G4Lambda.hh"
0039 #include "G4OmegaMinus.hh"
0040
0041 #include "G4AntiProton.hh"
0042 #include "G4AntiNeutron.hh"
0043 #include "G4AntiSigmaPlus.hh"
0044 #include "G4AntiSigmaZero.hh"
0045 #include "G4AntiSigmaMinus.hh"
0046 #include "G4AntiXiMinus.hh"
0047 #include "G4AntiXiZero.hh"
0048 #include "G4AntiLambda.hh"
0049 #include "G4AntiOmegaMinus.hh"
0050
0051 #include "G4LambdacPlus.hh"
0052 #include "G4AntiLambdacPlus.hh"
0053 #include "G4SigmacPlusPlus.hh"
0054 #include "G4AntiSigmacPlusPlus.hh"
0055 #include "G4SigmacPlus.hh"
0056 #include "G4AntiSigmacPlus.hh"
0057 #include "G4SigmacZero.hh"
0058 #include "G4AntiSigmacZero.hh"
0059 #include "G4XicPlus.hh"
0060 #include "G4AntiXicPlus.hh"
0061 #include "G4XicZero.hh"
0062 #include "G4AntiXicZero.hh"
0063 #include "G4OmegacZero.hh"
0064 #include "G4AntiOmegacZero.hh"
0065 #include "G4Lambdab.hh"
0066 #include "G4AntiLambdab.hh"
0067 #include "G4SigmabPlus.hh"
0068 #include "G4AntiSigmabPlus.hh"
0069 #include "G4SigmabZero.hh"
0070 #include "G4AntiSigmabZero.hh"
0071 #include "G4SigmabMinus.hh"
0072 #include "G4AntiSigmabMinus.hh"
0073 #include "G4XibZero.hh"
0074 #include "G4AntiXibZero.hh"
0075 #include "G4XibMinus.hh"
0076 #include "G4AntiXibMinus.hh"
0077 #include "G4OmegabMinus.hh"
0078 #include "G4AntiOmegabMinus.hh"
0079
0080 #include "G4ParticleDefinition.hh"
0081 #include "G4SPPartonInfo.hh"
0082 #include <vector>
0083 #include "globals.hh"
0084
0085 class G4SPBaryon
0086 {
0087 public:
0088 G4SPBaryon(G4Proton * aProton);
0089 G4SPBaryon(G4Neutron * aNeutron);
0090 G4SPBaryon(G4Lambda * aLambda);
0091 G4SPBaryon(G4SigmaPlus * aSigmaPlus);
0092 G4SPBaryon(G4SigmaZero * aSigmaZero);
0093 G4SPBaryon(G4SigmaMinus * aSigmaMinus);
0094 G4SPBaryon(G4XiMinus * aXiMinus);
0095 G4SPBaryon(G4XiZero * aXiZero);
0096 G4SPBaryon(G4OmegaMinus * anOmegaMinus);
0097
0098 G4SPBaryon(G4AntiProton * aAntiProton);
0099 G4SPBaryon(G4AntiNeutron * aAntiNeutron);
0100 G4SPBaryon(G4AntiLambda * aAntiLambda);
0101 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus);
0102 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero);
0103 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus);
0104 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus);
0105 G4SPBaryon(G4AntiXiZero * aAntiXiZero);
0106 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus);
0107
0108 G4SPBaryon(G4ParticleDefinition * aDefinition);
0109
0110 ~G4SPBaryon();
0111
0112
0113 G4SPBaryon(G4LambdacPlus * aLambdacPlus);
0114 G4SPBaryon(G4AntiLambdacPlus * aAntiLambdacPlus);
0115 G4SPBaryon(G4SigmacPlusPlus * aSigmacPlusPlus);
0116 G4SPBaryon(G4AntiSigmacPlusPlus * aAntiSigmacPlusPlus);
0117 G4SPBaryon(G4SigmacPlus * aSigmacPlus);
0118 G4SPBaryon(G4AntiSigmacPlus * aAntiSigmacPlus);
0119 G4SPBaryon(G4SigmacZero * aSigmacZero);
0120 G4SPBaryon(G4AntiSigmacZero * aAntiSigmacZero);
0121 G4SPBaryon(G4XicPlus * aXicPlus);
0122 G4SPBaryon(G4AntiXicPlus * aAntiXicPlus);
0123 G4SPBaryon(G4XicZero * aXicZero);
0124 G4SPBaryon(G4AntiXicZero * aAntiXicZero);
0125 G4SPBaryon(G4OmegacZero * aOmegacZero);
0126 G4SPBaryon(G4AntiOmegacZero * aAntiOmegacZero);
0127 G4SPBaryon(G4Lambdab * aLambdab);
0128 G4SPBaryon(G4AntiLambdab * aAntiLambdab);
0129 G4SPBaryon(G4SigmabPlus * aSigmabPlus);
0130 G4SPBaryon(G4AntiSigmabPlus * aAntiSigmabPlus);
0131 G4SPBaryon(G4SigmabZero * aSigmabZero);
0132 G4SPBaryon(G4AntiSigmabZero * aAntiSigmabZero);
0133 G4SPBaryon(G4SigmabMinus * aSigmabMinus);
0134 G4SPBaryon(G4AntiSigmabMinus * aAntiSigmabMinus);
0135 G4SPBaryon(G4XibZero * aXibZero);
0136 G4SPBaryon(G4AntiXibZero * aAntiXibZero);
0137 G4SPBaryon(G4XibMinus * aXibMinus);
0138 G4SPBaryon(G4AntiXibMinus * aAntiXibMinus);
0139 G4SPBaryon(G4OmegabMinus * aOmegabMinus);
0140 G4SPBaryon(G4AntiOmegabMinus * aAntiOmegabMinus);
0141
0142 private:
0143 G4bool operator == ( const G4SPBaryon & aBaryon) const;
0144
0145 public:
0146 G4ParticleDefinition * GetDefinition() {return theDefinition;}
0147 void SampleQuarkAndDiquark(G4int & quark, G4int & diQuark) const;
0148 void FindDiquark(G4int quark, G4int & diQuark) const;
0149 G4int FindQuark(G4int diQuark) const;
0150 G4double GetProbability(G4int diQuark) const;
0151 G4int MatchDiQuarkAndGetQuark(const G4SPBaryon & aBaryon, G4int & aDiQuark) const;
0152
0153 private:
0154 G4ParticleDefinition * theDefinition;
0155 std::vector<G4SPPartonInfo *> thePartonInfo;
0156 };
0157
0158 #endif
0159