Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/hadronic/models/parton_string/qgsm/src/G4SPBaryon.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /processes/hadronic/models/parton_string/qgsm/src/G4SPBaryon.cc (Version 11.3.0) and /processes/hadronic/models/parton_string/qgsm/src/G4SPBaryon.cc (Version 11.0)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 #include "G4SPBaryon.hh"                           26 #include "G4SPBaryon.hh"
 27 #include "Randomize.hh"                            27 #include "Randomize.hh"
 28 #include "G4ParticleTable.hh"                      28 #include "G4ParticleTable.hh"
 29                                                    29 
 30 // correcting numbers, HPW Dec 1999                30 // correcting numbers, HPW Dec 1999
 31                                                    31 
 32 G4int G4SPBaryon::FindQuark(G4int diQuark) con     32 G4int G4SPBaryon::FindQuark(G4int diQuark) const
 33 {                                                  33 {
 34   G4double sum = GetProbability(diQuark);          34   G4double sum = GetProbability(diQuark);
 35   G4double random = G4UniformRand();               35   G4double random = G4UniformRand();
 36   G4double running = 0;                            36   G4double running = 0;
 37   G4int Quark(0);                                  37   G4int Quark(0);
 38   typedef std::vector<G4SPPartonInfo *>::const     38   typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
 39   iter i;                                          39   iter i;
 40   for (i = thePartonInfo.begin(); i!=theParton     40   for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++)
 41   {                                                41   {
 42     if (std::abs((*i)->GetDiQuark()) == std::a     42     if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark))
 43     {                                              43     {
 44       running += (*i)->GetProbability();           44       running += (*i)->GetProbability();
 45       if (running/sum >= random)                   45       if (running/sum >= random)
 46       {                                            46       {
 47         Quark = (*i)->GetQuark();                  47         Quark = (*i)->GetQuark();
 48   break;                                           48   break;
 49       }                                            49       }
 50     }                                              50     }
 51   }                                                51   }
 52   return Quark;                                    52   return Quark;
 53 }                                                  53 }
 54                                                    54 
 55                                                    55 
 56 G4double G4SPBaryon::GetProbability(G4int diQu     56 G4double G4SPBaryon::GetProbability(G4int diQuark) const
 57 {                                                  57 {
 58   G4double sum = 0;                                58   G4double sum = 0;
 59   typedef std::vector<G4SPPartonInfo *>::const     59   typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
 60   iter i;                                          60   iter i;
 61   for (i = thePartonInfo.begin(); i!=theParton     61   for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++)
 62   {                                                62   {
 63     if (std::abs((*i)->GetDiQuark()) == std::a     63     if (std::abs((*i)->GetDiQuark()) == std::abs(diQuark))
 64     {                                              64     {
 65       sum += (*i)->GetProbability();               65       sum += (*i)->GetProbability();
 66     }                                              66     }
 67   }                                                67   }
 68   return sum;                                      68   return sum;
 69 }                                                  69 }
 70                                                    70 
 71                                                    71 
 72 G4int G4SPBaryon::                                 72 G4int G4SPBaryon::
 73 MatchDiQuarkAndGetQuark(const G4SPBaryon & aBa     73 MatchDiQuarkAndGetQuark(const G4SPBaryon & aBaryon, G4int & aDiQuark) const
 74 {                                                  74 {
 75   G4int    result=0;                               75   G4int    result=0;
 76   typedef std::vector<G4SPPartonInfo *>::const     76   typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
 77   iter i;                                          77   iter i;
 78   G4double running = 0;                            78   G4double running = 0;
 79   G4double total = 0;                              79   G4double total = 0;
 80   for (i = thePartonInfo.begin(); i!=theParton     80   for (i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++)
 81   {                                                81   {
 82     total += aBaryon.GetProbability((*i)->GetD     82     total += aBaryon.GetProbability((*i)->GetDiQuark());
 83   }                                                83   }
 84   G4double random = G4UniformRand();               84   G4double random = G4UniformRand();
 85   for(i = thePartonInfo.begin(); i!=thePartonI     85   for(i = thePartonInfo.begin(); i!=thePartonInfo.end(); i++)
 86   {                                                86   {
 87     running += aBaryon.GetProbability((*i)->Ge     87     running += aBaryon.GetProbability((*i)->GetDiQuark());
 88     if (random<running/total)                      88     if (random<running/total)
 89     {                                              89     {
 90       result = (*i)->GetQuark();  // (diquark      90       result = (*i)->GetQuark();  // (diquark annihilated)
 91       aDiQuark = (*i)->GetDiQuark();               91       aDiQuark = (*i)->GetDiQuark();
 92       break;                                       92       break;
 93     }                                              93     }
 94   }                                                94   }
 95   return result;                                   95   return result;
 96 }                                                  96 }
 97                                                    97 
 98                                                    98 
 99 void G4SPBaryon::                                  99 void G4SPBaryon::
100 SampleQuarkAndDiquark(G4int & quark, G4int & d    100 SampleQuarkAndDiquark(G4int & quark, G4int & diQuark) const
101 {                                                 101 {
102   typedef std::vector<G4SPPartonInfo *>::const    102   typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
103                                                   103 
104   G4double random = G4UniformRand();              104   G4double random = G4UniformRand();
105   G4double sum = 0;                               105   G4double sum = 0;
106   iter i;                                         106   iter i;
107                                                   107 
108   for (i=thePartonInfo.begin() ; i!=thePartonI    108   for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++)
109   {                                               109   {
110     sum += (*i)->GetProbability();                110     sum += (*i)->GetProbability();
111     if (sum > random)                             111     if (sum > random)
112     {                                             112     {
113       if (theDefinition->GetPDGEncoding() < 0)    113       if (theDefinition->GetPDGEncoding() < 0)
114       {                                           114       {
115         quark = (*i)->GetDiQuark();               115         quark = (*i)->GetDiQuark();
116         diQuark = (*i)->GetQuark();               116         diQuark = (*i)->GetQuark();
117       }                                           117       }
118       else                                        118       else
119       {                                           119       {
120         quark = (*i)->GetQuark();                 120         quark = (*i)->GetQuark();
121         diQuark = (*i)->GetDiQuark();             121         diQuark = (*i)->GetDiQuark();
122       }                                           122       }
123       break;                                      123       break;
124     }                                             124     }
125   }                                               125   }
126 }                                                 126 }
127                                                   127 
128                                                   128 
129 void G4SPBaryon::                                 129 void G4SPBaryon::
130 FindDiquark(G4int quark, G4int & diQuark) cons    130 FindDiquark(G4int quark, G4int & diQuark) const
131 {                                                 131 {
132   typedef std::vector<G4SPPartonInfo *>::const    132   typedef std::vector<G4SPPartonInfo *>::const_iterator iter;
133   G4double sum = 0;                               133   G4double sum = 0;
134   iter i;                                         134   iter i;
135   for (i=thePartonInfo.begin() ; i!=thePartonI    135   for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++)
136   {                                               136   {
137     if (std::abs((*i)->GetQuark()) == std::abs    137     if (std::abs((*i)->GetQuark()) == std::abs(quark))
138     {                                             138     {
139       sum += (*i)->GetProbability();              139       sum += (*i)->GetProbability();
140     }                                             140     }
141   }                                               141   }
142   G4double random = G4UniformRand();              142   G4double random = G4UniformRand();
143   G4double running = 0;                           143   G4double running = 0;
144   for (i=thePartonInfo.begin() ; i!=thePartonI    144   for (i=thePartonInfo.begin() ; i!=thePartonInfo.end(); i++) {
145     if (std::abs((*i)->GetQuark()) == std::abs    145     if (std::abs((*i)->GetQuark()) == std::abs(quark))
146     {                                             146     {
147       running += (*i)->GetProbability();          147       running += (*i)->GetProbability();
148       if (running/sum >= random)                  148       if (running/sum >= random)
149       {                                           149       {
150         diQuark = (*i)->GetDiQuark();             150         diQuark = (*i)->GetDiQuark();
151         break;                                    151         break;
152       }                                           152       }
153     }                                             153     }
154   }                                               154   }
155 }                                                 155 }
156                                                   156 
157                                                   157 
158 G4SPBaryon::                                      158 G4SPBaryon::
159 G4SPBaryon(G4Proton * aProton)                    159 G4SPBaryon(G4Proton * aProton)
160 {                                                 160 {
161   theDefinition = aProton;                        161   theDefinition = aProton;
162   thePartonInfo.push_back(new G4SPPartonInfo(2    162   thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3./2.)); // uu_1, d 
163   thePartonInfo.push_back(new G4SPPartonInfo(2    163   thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 1./6.*2.)); // ud_1, u
164   thePartonInfo.push_back(new G4SPPartonInfo(2    164   thePartonInfo.push_back(new G4SPPartonInfo(2101, 2, 1./2.));    // ud_0, u
165 }                                                 165 }
166                                                   166 
167 G4SPBaryon::                                      167 G4SPBaryon::
168 G4SPBaryon(G4AntiProton * aAntiProton)            168 G4SPBaryon(G4AntiProton * aAntiProton)
169 {                                                 169 {
170   theDefinition = aAntiProton;                    170   theDefinition = aAntiProton;
171   thePartonInfo.push_back(new G4SPPartonInfo(-    171   thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.));
172   thePartonInfo.push_back(new G4SPPartonInfo(-    172   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./6.));
173   thePartonInfo.push_back(new G4SPPartonInfo(-    173   thePartonInfo.push_back(new G4SPPartonInfo(-2101, -2, 1./2.));
174 }                                                 174 }
175                                                   175 
176                                                   176 
177 G4SPBaryon::                                      177 G4SPBaryon::
178 G4SPBaryon(G4Neutron * aNeutron)                  178 G4SPBaryon(G4Neutron * aNeutron)
179 {                                                 179 {
180   theDefinition = aNeutron;                       180   theDefinition = aNeutron;
181   thePartonInfo.push_back(new G4SPPartonInfo(2    181   thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 1./6.*2.)); // ud_1, d
182   thePartonInfo.push_back(new G4SPPartonInfo(2    182   thePartonInfo.push_back(new G4SPPartonInfo(2101, 1, 1./2.   )); // ud_0, d
183   thePartonInfo.push_back(new G4SPPartonInfo(1    183   thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3./2 )); // dd_1, u
184 }                                                 184 }
185                                                   185 
186 G4SPBaryon::                                      186 G4SPBaryon::
187 G4SPBaryon(G4AntiNeutron * aAntiNeutron)          187 G4SPBaryon(G4AntiNeutron * aAntiNeutron)
188 {                                                 188 {
189   theDefinition = aAntiNeutron;                   189   theDefinition = aAntiNeutron;
190   thePartonInfo.push_back(new G4SPPartonInfo(-    190   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 1./6.));
191   thePartonInfo.push_back(new G4SPPartonInfo(-    191   thePartonInfo.push_back(new G4SPPartonInfo(-2101, -1, 1./2.));
192   thePartonInfo.push_back(new G4SPPartonInfo(-    192   thePartonInfo.push_back(new G4SPPartonInfo(-1103, -2, 1./3.));
193 }                                                 193 }
194                                                   194 
195                                                   195 
196 G4SPBaryon::                                      196 G4SPBaryon::
197 G4SPBaryon(G4Lambda * aLambda)                    197 G4SPBaryon(G4Lambda * aLambda)
198 {                                                 198 {
199   theDefinition = aLambda;                        199   theDefinition = aLambda;
200   thePartonInfo.push_back(new G4SPPartonInfo(2    200   thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.));  // ud_1, s
201   thePartonInfo.push_back(new G4SPPartonInfo(3    201   thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./4.));  // su_1, d
202   thePartonInfo.push_back(new G4SPPartonInfo(3    202   thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./12.)); // su_0, d
203   thePartonInfo.push_back(new G4SPPartonInfo(3    203   thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./4.));  // sd_1, u
204   thePartonInfo.push_back(new G4SPPartonInfo(3    204   thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./12.)); // sd_0, u
205 }                                                 205 }
206                                                   206 
207 G4SPBaryon::                                      207 G4SPBaryon::
208 G4SPBaryon(G4AntiLambda * aAntiLambda)            208 G4SPBaryon(G4AntiLambda * aAntiLambda)
209 {                                                 209 {
210   theDefinition = aAntiLambda;                    210   theDefinition = aAntiLambda;
211   thePartonInfo.push_back(new G4SPPartonInfo(-    211   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.));
212   thePartonInfo.push_back(new G4SPPartonInfo(-    212   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./4.));
213   thePartonInfo.push_back(new G4SPPartonInfo(-    213   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./12.));
214   thePartonInfo.push_back(new G4SPPartonInfo(-    214   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./4.));
215   thePartonInfo.push_back(new G4SPPartonInfo(-    215   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./12.));
216 }                                                 216 }
217                                                   217 
218                                                   218 
219 G4SPBaryon::                                      219 G4SPBaryon::
220 G4SPBaryon(G4SigmaPlus * aSigmaPlus)              220 G4SPBaryon(G4SigmaPlus * aSigmaPlus)
221 {                                                 221 {
222   theDefinition = aSigmaPlus;                     222   theDefinition = aSigmaPlus;
223   thePartonInfo.push_back(new G4SPPartonInfo(2    223   thePartonInfo.push_back(new G4SPPartonInfo(2203, 3, 1./3.)); // uu_1, s
224   thePartonInfo.push_back(new G4SPPartonInfo(3    224   thePartonInfo.push_back(new G4SPPartonInfo(3203, 2, 1./6.)); // su_1, u
225   thePartonInfo.push_back(new G4SPPartonInfo(3    225   thePartonInfo.push_back(new G4SPPartonInfo(3201, 2, 1./2.)); // su_0, u
226 }                                                 226 }
227                                                   227 
228 G4SPBaryon::                                      228 G4SPBaryon::
229 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus)      229 G4SPBaryon(G4AntiSigmaPlus * aAntiSigmaPlus)
230 {                                                 230 {
231   theDefinition = aAntiSigmaPlus;                 231   theDefinition = aAntiSigmaPlus;
232   thePartonInfo.push_back(new G4SPPartonInfo(-    232   thePartonInfo.push_back(new G4SPPartonInfo(-2203, -3, 1./3.));
233   thePartonInfo.push_back(new G4SPPartonInfo(-    233   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -2, 1./6.));
234   thePartonInfo.push_back(new G4SPPartonInfo(-    234   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -2, 1./2.));
235 }                                                 235 }
236                                                   236 
237                                                   237 
238 G4SPBaryon::                                      238 G4SPBaryon::
239 G4SPBaryon(G4SigmaZero * aSigmaZero)              239 G4SPBaryon(G4SigmaZero * aSigmaZero)
240 {                                                 240 {
241   theDefinition = aSigmaZero;                     241   theDefinition = aSigmaZero;
242   thePartonInfo.push_back(new G4SPPartonInfo(2    242   thePartonInfo.push_back(new G4SPPartonInfo(2103, 3, 1./3.));  // ud_1, s
243   thePartonInfo.push_back(new G4SPPartonInfo(3    243   thePartonInfo.push_back(new G4SPPartonInfo(3203, 1, 1./12.)); // su_1, d
244   thePartonInfo.push_back(new G4SPPartonInfo(3    244   thePartonInfo.push_back(new G4SPPartonInfo(3201, 1, 1./4.));  // su_0, d
245   thePartonInfo.push_back(new G4SPPartonInfo(3    245   thePartonInfo.push_back(new G4SPPartonInfo(3103, 2, 1./12.)); // sd_1, u
246   thePartonInfo.push_back(new G4SPPartonInfo(3    246   thePartonInfo.push_back(new G4SPPartonInfo(3101, 2, 1./4.));  // sd_0, u
247 }                                                 247 }
248                                                   248 
249 G4SPBaryon::                                      249 G4SPBaryon::
250 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero)      250 G4SPBaryon(G4AntiSigmaZero * aAntiSigmaZero)
251 {                                                 251 {
252   theDefinition = aAntiSigmaZero;                 252   theDefinition = aAntiSigmaZero;
253   thePartonInfo.push_back(new G4SPPartonInfo(-    253   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -3, 1./3.));
254   thePartonInfo.push_back(new G4SPPartonInfo(-    254   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -1, 1./12.));
255   thePartonInfo.push_back(new G4SPPartonInfo(-    255   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -1, 1./4.));
256   thePartonInfo.push_back(new G4SPPartonInfo(-    256   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -2, 1./12.));
257   thePartonInfo.push_back(new G4SPPartonInfo(-    257   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -2, 1./4.));
258 }                                                 258 }
259                                                   259 
260                                                   260 
261 G4SPBaryon::                                      261 G4SPBaryon::
262 G4SPBaryon(G4SigmaMinus * aSigmaMinus)            262 G4SPBaryon(G4SigmaMinus * aSigmaMinus)
263 {                                                 263 {
264   theDefinition = aSigmaMinus;                    264   theDefinition = aSigmaMinus;
265   thePartonInfo.push_back(new G4SPPartonInfo(1    265   thePartonInfo.push_back(new G4SPPartonInfo(1103, 3, 1./3.)); // dd_1, s
266   thePartonInfo.push_back(new G4SPPartonInfo(3    266   thePartonInfo.push_back(new G4SPPartonInfo(3103, 1, 1./6.)); // sd_1, d
267   thePartonInfo.push_back(new G4SPPartonInfo(3    267   thePartonInfo.push_back(new G4SPPartonInfo(3101, 1, 1./2.)); // sd_0, d
268 }                                                 268 }
269                                                   269 
270 G4SPBaryon::                                      270 G4SPBaryon::
271 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus)    271 G4SPBaryon(G4AntiSigmaMinus * aAntiSigmaMinus)
272 {                                                 272 {
273   theDefinition = aAntiSigmaMinus;                273   theDefinition = aAntiSigmaMinus;
274   thePartonInfo.push_back(new G4SPPartonInfo(-    274   thePartonInfo.push_back(new G4SPPartonInfo(-1103, -3, 1./3.));
275   thePartonInfo.push_back(new G4SPPartonInfo(-    275   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -1, 1./6.));
276   thePartonInfo.push_back(new G4SPPartonInfo(-    276   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -1, 1./2.));
277 }                                                 277 }
278                                                   278 
279                                                   279 
280 G4SPBaryon::                                      280 G4SPBaryon::
281 G4SPBaryon(G4XiZero * aXiZero)                    281 G4SPBaryon(G4XiZero * aXiZero)
282 {                                                 282 {
283   theDefinition = aXiZero;                        283   theDefinition = aXiZero;
284   thePartonInfo.push_back(new G4SPPartonInfo(3    284   thePartonInfo.push_back(new G4SPPartonInfo(3203, 3, 1./6.)); // su_1, s
285   thePartonInfo.push_back(new G4SPPartonInfo(3    285   thePartonInfo.push_back(new G4SPPartonInfo(3201, 3, 1./2.)); // su_0, s
286   thePartonInfo.push_back(new G4SPPartonInfo(3    286   thePartonInfo.push_back(new G4SPPartonInfo(3303, 2, 1./3.)); // ss_1, u
287 }                                                 287 }
288                                                   288 
289 G4SPBaryon::                                      289 G4SPBaryon::
290 G4SPBaryon(G4AntiXiZero * aAntiXiZero)            290 G4SPBaryon(G4AntiXiZero * aAntiXiZero)
291 {                                                 291 {
292   theDefinition = aAntiXiZero;                    292   theDefinition = aAntiXiZero;
293   thePartonInfo.push_back(new G4SPPartonInfo(-    293   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -3, 1./6.));
294   thePartonInfo.push_back(new G4SPPartonInfo(-    294   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -3, 1./2.));
295   thePartonInfo.push_back(new G4SPPartonInfo(-    295   thePartonInfo.push_back(new G4SPPartonInfo(-3303, -2, 1./3.));
296 }                                                 296 }
297                                                   297 
298                                                   298 
299 G4SPBaryon::                                      299 G4SPBaryon::
300 G4SPBaryon(G4XiMinus * aXiMinus)                  300 G4SPBaryon(G4XiMinus * aXiMinus)
301 {                                                 301 {
302   theDefinition = aXiMinus;                       302   theDefinition = aXiMinus;
303   thePartonInfo.push_back(new G4SPPartonInfo(3    303   thePartonInfo.push_back(new G4SPPartonInfo(3103, 3, 1./6.)); // sd_1, s
304   thePartonInfo.push_back(new G4SPPartonInfo(3    304   thePartonInfo.push_back(new G4SPPartonInfo(3101, 3, 1./2.)); // sd_0, s
305   thePartonInfo.push_back(new G4SPPartonInfo(3    305   thePartonInfo.push_back(new G4SPPartonInfo(3303, 1, 1./3.)); // ss_1, d
306 }                                                 306 }
307                                                   307 
308 G4SPBaryon::                                      308 G4SPBaryon::
309 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus)          309 G4SPBaryon(G4AntiXiMinus * aAntiXiMinus)
310 {                                                 310 {
311   theDefinition = aAntiXiMinus;                   311   theDefinition = aAntiXiMinus;
312   thePartonInfo.push_back(new G4SPPartonInfo(-    312   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -3, 1./6.));
313   thePartonInfo.push_back(new G4SPPartonInfo(-    313   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -3, 1./2.));
314   thePartonInfo.push_back(new G4SPPartonInfo(-    314   thePartonInfo.push_back(new G4SPPartonInfo(-3303, -1, 1./3.));
315 }                                                 315 }
316                                                   316 
317                                                   317 
318 G4SPBaryon::                                      318 G4SPBaryon::
319 G4SPBaryon(G4OmegaMinus * anOmegaMinus)           319 G4SPBaryon(G4OmegaMinus * anOmegaMinus)
320 {                                                 320 {
321   theDefinition = anOmegaMinus;                   321   theDefinition = anOmegaMinus;
322   thePartonInfo.push_back(new G4SPPartonInfo(3    322   thePartonInfo.push_back(new G4SPPartonInfo(3303, 3, 1.)); // ss_1, s
323 }                                                 323 }
324                                                   324 
325 G4SPBaryon::                                      325 G4SPBaryon::
326 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus    326 G4SPBaryon(G4AntiOmegaMinus * anAntiOmegaMinus)
327 {                                                 327 {
328   theDefinition = anAntiOmegaMinus;               328   theDefinition = anAntiOmegaMinus;
329   thePartonInfo.push_back(new G4SPPartonInfo(-    329   thePartonInfo.push_back(new G4SPPartonInfo(-3303, -3, 1.));
330 }                                                 330 }
331                                                   331 
332                                                   332 
333 // non static particles                           333 // non static particles
334 G4SPBaryon::                                      334 G4SPBaryon::
335 G4SPBaryon(G4ParticleDefinition * aDefinition)    335 G4SPBaryon(G4ParticleDefinition * aDefinition)
336 {                                                 336 {
337   theDefinition = aDefinition;                    337   theDefinition = aDefinition;
338   if (theDefinition == G4ParticleTable::GetPar    338   if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2224)) // Delta++
339   {                                               339   {
340     thePartonInfo.push_back(new G4SPPartonInfo    340     thePartonInfo.push_back(new G4SPPartonInfo(2203, 2, 1.)); // uu_1, u
341   }                                               341   }
342   else if (theDefinition == G4ParticleTable::G    342   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2224)) // anti Delta++
343   {                                               343   {
344     thePartonInfo.push_back(new G4SPPartonInfo    344     thePartonInfo.push_back(new G4SPPartonInfo(-2203, -2, 1.));
345   }                                               345   }
346   else if (theDefinition == G4ParticleTable::G    346   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2214)) // Delta+
347   {                                               347   {
348     thePartonInfo.push_back(new G4SPPartonInfo    348     thePartonInfo.push_back(new G4SPPartonInfo(2203, 1, 1./3.)); // uu_1, d
349     thePartonInfo.push_back(new G4SPPartonInfo    349     thePartonInfo.push_back(new G4SPPartonInfo(2103, 2, 2./3.)); // ud_1, u
350   }                                               350   }
351   else if (theDefinition == G4ParticleTable::G    351   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2214)) // anti Delta+
352   {                                               352   {
353     thePartonInfo.push_back(new G4SPPartonInfo    353     thePartonInfo.push_back(new G4SPPartonInfo(-2203, -1, 1./3.));
354     thePartonInfo.push_back(new G4SPPartonInfo    354     thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 2./3.));
355   }                                               355   }
356   else if (theDefinition == G4ParticleTable::G    356   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(2114)) // Delta0
357   {                                               357   {
358     thePartonInfo.push_back(new G4SPPartonInfo    358     thePartonInfo.push_back(new G4SPPartonInfo(2103, 1, 2./3.)); // ud_1, d
359     thePartonInfo.push_back(new G4SPPartonInfo    359     thePartonInfo.push_back(new G4SPPartonInfo(1103, 2, 1./3.)); // dd_1, u
360   }                                               360   }
361   else if (theDefinition == G4ParticleTable::G    361   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-2114)) // anti Delta0
362   {                                               362   {
363     thePartonInfo.push_back(new G4SPPartonInfo    363     thePartonInfo.push_back(new G4SPPartonInfo(-2103, -1, 2./3.));
364     thePartonInfo.push_back(new G4SPPartonInfo    364     thePartonInfo.push_back(new G4SPPartonInfo(-2103, -2, 1./3.));
365   }                                               365   }
366   else if (theDefinition == G4ParticleTable::G    366   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(1114)) // Delta-
367   {                                               367   {
368     thePartonInfo.push_back(new G4SPPartonInfo    368     thePartonInfo.push_back(new G4SPPartonInfo(1103, 1, 1.)); // dd_1, d
369   }                                               369   }
370   else if (theDefinition == G4ParticleTable::G    370   else if (theDefinition == G4ParticleTable::GetParticleTable()->FindParticle(-1114)) // anti Delta-
371   {                                               371   {
372     thePartonInfo.push_back(new G4SPPartonInfo    372     thePartonInfo.push_back(new G4SPPartonInfo(-1103, -1, 1.));
373   }                                               373   }  
374 }                                                 374 }
375                                                   375 
376                                                   376 
377 G4SPBaryon::~G4SPBaryon()                         377 G4SPBaryon::~G4SPBaryon()
378 {                                                 378 {
379   for (unsigned int i=0;i<thePartonInfo.size()    379   for (unsigned int i=0;i<thePartonInfo.size(); i++) delete thePartonInfo[i];
380 }                                                 380 }
381                                                   381 
382                                                   382 
383 // Extension to charmed and bottom baryons and    383 // Extension to charmed and bottom baryons and anti-baryons
384 //    G4SPPartonInfo(G4int diq, G4int q, G4dou    384 //    G4SPPartonInfo(G4int diq, G4int q, G4double prob)
385                                                   385 
386 G4SPBaryon::G4SPBaryon(G4LambdacPlus * aLambda    386 G4SPBaryon::G4SPBaryon(G4LambdacPlus * aLambdacPlus) {
387   // lambda_c+(udc) treated as lambda(uds) wit    387   // lambda_c+(udc) treated as lambda(uds) with s replaced by c.
388   theDefinition = aLambdacPlus;                   388   theDefinition = aLambdacPlus;
389   thePartonInfo.push_back(new G4SPPartonInfo(2    389   thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.));  // ud_1, c
390   thePartonInfo.push_back(new G4SPPartonInfo(4    390   thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./4.));  // cu_1, d
391   thePartonInfo.push_back(new G4SPPartonInfo(4    391   thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./12.)); // cu_0, d
392   thePartonInfo.push_back(new G4SPPartonInfo(4    392   thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./4.));  // cd_1, u
393   thePartonInfo.push_back(new G4SPPartonInfo(4    393   thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./12.)); // cd_0, u
394 }                                                 394 }
395                                                   395 
396 G4SPBaryon::G4SPBaryon(G4AntiLambdacPlus * aAn    396 G4SPBaryon::G4SPBaryon(G4AntiLambdacPlus * aAntiLambdacPlus) {
397   theDefinition = aAntiLambdacPlus;               397   theDefinition = aAntiLambdacPlus;
398   thePartonInfo.push_back(new G4SPPartonInfo(-    398   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.));
399   thePartonInfo.push_back(new G4SPPartonInfo(-    399   thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./4.));
400   thePartonInfo.push_back(new G4SPPartonInfo(-    400   thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./12.));
401   thePartonInfo.push_back(new G4SPPartonInfo(-    401   thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./4.));
402   thePartonInfo.push_back(new G4SPPartonInfo(-    402   thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./12.));
403 }                                                 403 }
404                                                   404 
405                                                   405 
406 G4SPBaryon::G4SPBaryon(G4SigmacPlusPlus * aSig    406 G4SPBaryon::G4SPBaryon(G4SigmacPlusPlus * aSigmacPlusPlus) {
407   // sigma_c++(uuc) treated as sigma+(uus) wit    407   // sigma_c++(uuc) treated as sigma+(uus) with s replaced by c.
408   theDefinition = aSigmacPlusPlus;                408   theDefinition = aSigmacPlusPlus;
409   thePartonInfo.push_back(new G4SPPartonInfo(2    409   thePartonInfo.push_back(new G4SPPartonInfo(2203, 4, 1./3.)); // uu_1, c
410   thePartonInfo.push_back(new G4SPPartonInfo(4    410   thePartonInfo.push_back(new G4SPPartonInfo(4203, 2, 1./6.)); // cu_1, u
411   thePartonInfo.push_back(new G4SPPartonInfo(4    411   thePartonInfo.push_back(new G4SPPartonInfo(4201, 2, 1./2.)); // cu_0, u
412 }                                                 412 }
413                                                   413 
414 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlusPlus *     414 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlusPlus * aAntiSigmacPlusPlus) {
415   theDefinition = aAntiSigmacPlusPlus;            415   theDefinition = aAntiSigmacPlusPlus;
416   thePartonInfo.push_back(new G4SPPartonInfo(-    416   thePartonInfo.push_back(new G4SPPartonInfo(-2203, -4, 1./3.));
417   thePartonInfo.push_back(new G4SPPartonInfo(-    417   thePartonInfo.push_back(new G4SPPartonInfo(-4203, -2, 1./6.));
418   thePartonInfo.push_back(new G4SPPartonInfo(-    418   thePartonInfo.push_back(new G4SPPartonInfo(-4201, -2, 1./2.));
419 }                                                 419 }
420                                                   420 
421                                                   421 
422 G4SPBaryon::G4SPBaryon(G4SigmacPlus * aSigmacP    422 G4SPBaryon::G4SPBaryon(G4SigmacPlus * aSigmacPlus) {
423   // sigma_c+(udc) treated as sigma0(uds) with    423   // sigma_c+(udc) treated as sigma0(uds) with s replaced by c.
424   theDefinition = aSigmacPlus;                    424   theDefinition = aSigmacPlus;
425   thePartonInfo.push_back(new G4SPPartonInfo(2    425   thePartonInfo.push_back(new G4SPPartonInfo(2103, 4, 1./3.));  // ud_1, c
426   thePartonInfo.push_back(new G4SPPartonInfo(4    426   thePartonInfo.push_back(new G4SPPartonInfo(4203, 1, 1./12.)); // cu_1, d
427   thePartonInfo.push_back(new G4SPPartonInfo(4    427   thePartonInfo.push_back(new G4SPPartonInfo(4201, 1, 1./4.));  // cu_0, d
428   thePartonInfo.push_back(new G4SPPartonInfo(4    428   thePartonInfo.push_back(new G4SPPartonInfo(4103, 2, 1./12.)); // cd_1, u
429   thePartonInfo.push_back(new G4SPPartonInfo(4    429   thePartonInfo.push_back(new G4SPPartonInfo(4101, 2, 1./4.));  // cd_0, u
430 }                                                 430 }
431                                                   431 
432 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlus * aAnt    432 G4SPBaryon::G4SPBaryon(G4AntiSigmacPlus * aAntiSigmacPlus) {
433   theDefinition = aAntiSigmacPlus;                433   theDefinition = aAntiSigmacPlus;
434   thePartonInfo.push_back(new G4SPPartonInfo(-    434   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -4, 1./3.));
435   thePartonInfo.push_back(new G4SPPartonInfo(-    435   thePartonInfo.push_back(new G4SPPartonInfo(-4203, -1, 1./12.));
436   thePartonInfo.push_back(new G4SPPartonInfo(-    436   thePartonInfo.push_back(new G4SPPartonInfo(-4201, -1, 1./4.));
437   thePartonInfo.push_back(new G4SPPartonInfo(-    437   thePartonInfo.push_back(new G4SPPartonInfo(-4103, -2, 1./12.));
438   thePartonInfo.push_back(new G4SPPartonInfo(-    438   thePartonInfo.push_back(new G4SPPartonInfo(-4101, -2, 1./4.));
439 }                                                 439 }
440                                                   440 
441                                                   441 
442 G4SPBaryon::G4SPBaryon(G4SigmacZero * aSigmacZ    442 G4SPBaryon::G4SPBaryon(G4SigmacZero * aSigmacZero) {
443   // sigma_c0(ddc) treated as sigma-(dds) repl    443   // sigma_c0(ddc) treated as sigma-(dds) replacing s with c.
444   theDefinition = aSigmacZero;                    444   theDefinition = aSigmacZero;
445   thePartonInfo.push_back(new G4SPPartonInfo(1    445   thePartonInfo.push_back(new G4SPPartonInfo(1103, 4, 1./3.)); // dd_1, c
446   thePartonInfo.push_back(new G4SPPartonInfo(4    446   thePartonInfo.push_back(new G4SPPartonInfo(4103, 1, 1./6.)); // cd_1, d
447   thePartonInfo.push_back(new G4SPPartonInfo(4    447   thePartonInfo.push_back(new G4SPPartonInfo(4101, 1, 1./2.)); // cd_0, d
448 }                                                 448 }
449                                                   449 
450 G4SPBaryon::G4SPBaryon(G4AntiSigmacZero * aAnt    450 G4SPBaryon::G4SPBaryon(G4AntiSigmacZero * aAntiSigmacZero) {
451   theDefinition = aAntiSigmacZero;                451   theDefinition = aAntiSigmacZero;
452   thePartonInfo.push_back(new G4SPPartonInfo(-    452   thePartonInfo.push_back(new G4SPPartonInfo(-1103, -4, 1./3.));
453   thePartonInfo.push_back(new G4SPPartonInfo(-    453   thePartonInfo.push_back(new G4SPPartonInfo(-4103, -1, 1./6.));
454   thePartonInfo.push_back(new G4SPPartonInfo(-    454   thePartonInfo.push_back(new G4SPPartonInfo(-4101, -1, 1./2.));
455 }                                                 455 }
456                                                   456 
457                                                   457 
458 G4SPBaryon::G4SPBaryon(G4XicPlus * aXicPlus) {    458 G4SPBaryon::G4SPBaryon(G4XicPlus * aXicPlus) {
459   // xi_c+(usc) treated as xi0(uss) replacing     459   // xi_c+(usc) treated as xi0(uss) replacing s with c.
460   theDefinition = aXicPlus;                       460   theDefinition = aXicPlus;
461   thePartonInfo.push_back(new G4SPPartonInfo(3    461   thePartonInfo.push_back(new G4SPPartonInfo(3203, 4, 1./6.)); // su_1, c
462   thePartonInfo.push_back(new G4SPPartonInfo(3    462   thePartonInfo.push_back(new G4SPPartonInfo(3201, 4, 1./2.)); // su_0, c
463   thePartonInfo.push_back(new G4SPPartonInfo(4    463   thePartonInfo.push_back(new G4SPPartonInfo(4303, 2, 1./3.)); // cs_1, u  
464 }                                                 464 }
465                                                   465 
466 G4SPBaryon::G4SPBaryon(G4AntiXicPlus * aAntiXi    466 G4SPBaryon::G4SPBaryon(G4AntiXicPlus * aAntiXicPlus) {
467   theDefinition = aAntiXicPlus;                   467   theDefinition = aAntiXicPlus;
468   thePartonInfo.push_back(new G4SPPartonInfo(-    468   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -4, 1./6.));
469   thePartonInfo.push_back(new G4SPPartonInfo(-    469   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -4, 1./2.));
470   thePartonInfo.push_back(new G4SPPartonInfo(-    470   thePartonInfo.push_back(new G4SPPartonInfo(-4303, -2, 1./3.));
471 }                                                 471 }
472                                                   472 
473                                                   473 
474 G4SPBaryon::G4SPBaryon(G4XicZero * aXicZero) {    474 G4SPBaryon::G4SPBaryon(G4XicZero * aXicZero) {
475   // xi_c0(dsc) treated as xi-(dss) replacing     475   // xi_c0(dsc) treated as xi-(dss) replacing s with c.
476   theDefinition = aXicZero;                       476   theDefinition = aXicZero;
477   thePartonInfo.push_back(new G4SPPartonInfo(3    477   thePartonInfo.push_back(new G4SPPartonInfo(3103, 4, 1./6.)); // sd_1, c
478   thePartonInfo.push_back(new G4SPPartonInfo(3    478   thePartonInfo.push_back(new G4SPPartonInfo(3101, 4, 1./2.)); // sd_0, c
479   thePartonInfo.push_back(new G4SPPartonInfo(4    479   thePartonInfo.push_back(new G4SPPartonInfo(4303, 1, 1./3.)); // cs_1, d
480 }                                                 480 }
481                                                   481 
482 G4SPBaryon::G4SPBaryon(G4AntiXicZero * aAntiXi    482 G4SPBaryon::G4SPBaryon(G4AntiXicZero * aAntiXicZero) {
483   theDefinition = aAntiXicZero;                   483   theDefinition = aAntiXicZero;
484   thePartonInfo.push_back(new G4SPPartonInfo(-    484   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -4, 1./6.));
485   thePartonInfo.push_back(new G4SPPartonInfo(-    485   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -4, 1./2.));
486   thePartonInfo.push_back(new G4SPPartonInfo(-    486   thePartonInfo.push_back(new G4SPPartonInfo(-4303, -1, 1./3.));
487 }                                                 487 }
488                                                   488 
489                                                   489 
490 G4SPBaryon::G4SPBaryon(G4OmegacZero * aOmegacZ    490 G4SPBaryon::G4SPBaryon(G4OmegacZero * aOmegacZero) {
491   // omega_c0(ssc) treated as omega-(sss) with    491   // omega_c0(ssc) treated as omega-(sss) with s replaced by c.
492   theDefinition = aOmegacZero;                    492   theDefinition = aOmegacZero;
493   thePartonInfo.push_back(new G4SPPartonInfo(3    493   thePartonInfo.push_back(new G4SPPartonInfo(3303, 4, 1.)); // ss_1, c
494 }                                                 494 }
495                                                   495 
496 G4SPBaryon::G4SPBaryon(G4AntiOmegacZero * aAnt    496 G4SPBaryon::G4SPBaryon(G4AntiOmegacZero * aAntiOmegacZero) {
497   theDefinition = aAntiOmegacZero;                497   theDefinition = aAntiOmegacZero;
498   thePartonInfo.push_back(new G4SPPartonInfo(-    498   thePartonInfo.push_back(new G4SPPartonInfo(-3303, -4, 1.));
499 }                                                 499 }
500                                                   500 
501                                                   501 
502 G4SPBaryon::G4SPBaryon(G4Lambdab * aLambdab) {    502 G4SPBaryon::G4SPBaryon(G4Lambdab * aLambdab) {
503   // lambda_b(udb) treated as lambda-(uds) rep    503   // lambda_b(udb) treated as lambda-(uds) replacing s with b.
504   theDefinition = aLambdab;                       504   theDefinition = aLambdab;
505   thePartonInfo.push_back(new G4SPPartonInfo(2    505   thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.));  // ud_1, b
506   thePartonInfo.push_back(new G4SPPartonInfo(5    506   thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./4.));  // bu_1, d
507   thePartonInfo.push_back(new G4SPPartonInfo(5    507   thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./12.)); // bu_0, d
508   thePartonInfo.push_back(new G4SPPartonInfo(5    508   thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./4.));  // bd_1, u
509   thePartonInfo.push_back(new G4SPPartonInfo(5    509   thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./12.)); // bd_0, u
510 }                                                 510 }
511                                                   511 
512 G4SPBaryon::G4SPBaryon(G4AntiLambdab * aAntiLa    512 G4SPBaryon::G4SPBaryon(G4AntiLambdab * aAntiLambdab) {
513   theDefinition = aAntiLambdab;                   513   theDefinition = aAntiLambdab;
514   thePartonInfo.push_back(new G4SPPartonInfo(-    514   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.));
515   thePartonInfo.push_back(new G4SPPartonInfo(-    515   thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./4.));
516   thePartonInfo.push_back(new G4SPPartonInfo(-    516   thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./12.));
517   thePartonInfo.push_back(new G4SPPartonInfo(-    517   thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./4.));
518   thePartonInfo.push_back(new G4SPPartonInfo(-    518   thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./12.));
519 }                                                 519 }
520                                                   520 
521                                                   521 
522 G4SPBaryon::G4SPBaryon(G4SigmabPlus * aSigmabP    522 G4SPBaryon::G4SPBaryon(G4SigmabPlus * aSigmabPlus) {
523   // sigma_b+(uub) treated as sigma+(uus) repl    523   // sigma_b+(uub) treated as sigma+(uus) replacing s with b.
524   theDefinition = aSigmabPlus;                    524   theDefinition = aSigmabPlus;
525   thePartonInfo.push_back(new G4SPPartonInfo(2    525   thePartonInfo.push_back(new G4SPPartonInfo(2203, 5, 1./3.)); // uu_1, b
526   thePartonInfo.push_back(new G4SPPartonInfo(5    526   thePartonInfo.push_back(new G4SPPartonInfo(5203, 2, 1./6.)); // bu_1, u
527   thePartonInfo.push_back(new G4SPPartonInfo(5    527   thePartonInfo.push_back(new G4SPPartonInfo(5201, 2, 1./2.)); // bu_0, u
528 }                                                 528 }
529                                                   529 
530 G4SPBaryon::G4SPBaryon(G4AntiSigmabPlus * aAnt    530 G4SPBaryon::G4SPBaryon(G4AntiSigmabPlus * aAntiSigmabPlus) {
531   theDefinition = aAntiSigmabPlus;                531   theDefinition = aAntiSigmabPlus;
532   thePartonInfo.push_back(new G4SPPartonInfo(-    532   thePartonInfo.push_back(new G4SPPartonInfo(-2203, -5, 1./3.));
533   thePartonInfo.push_back(new G4SPPartonInfo(-    533   thePartonInfo.push_back(new G4SPPartonInfo(-5203, -2, 1./6.));
534   thePartonInfo.push_back(new G4SPPartonInfo(-    534   thePartonInfo.push_back(new G4SPPartonInfo(-5201, -2, 1./2.));
535 }                                                 535 }
536                                                   536 
537                                                   537 
538 G4SPBaryon::G4SPBaryon(G4SigmabZero * aSigmabZ    538 G4SPBaryon::G4SPBaryon(G4SigmabZero * aSigmabZero) {
539   // sigma_b0(udb) treated as sigma0(uds) repl    539   // sigma_b0(udb) treated as sigma0(uds) replacing s with b.
540   theDefinition = aSigmabZero;                    540   theDefinition = aSigmabZero;
541   thePartonInfo.push_back(new G4SPPartonInfo(2    541   thePartonInfo.push_back(new G4SPPartonInfo(2103, 5, 1./3.));  // ud_1, b
542   thePartonInfo.push_back(new G4SPPartonInfo(5    542   thePartonInfo.push_back(new G4SPPartonInfo(5203, 1, 1./12.)); // bu_1, d
543   thePartonInfo.push_back(new G4SPPartonInfo(5    543   thePartonInfo.push_back(new G4SPPartonInfo(5201, 1, 1./4.));  // bu_0, d
544   thePartonInfo.push_back(new G4SPPartonInfo(5    544   thePartonInfo.push_back(new G4SPPartonInfo(5103, 2, 1./12.)); // bd_1, u
545   thePartonInfo.push_back(new G4SPPartonInfo(5    545   thePartonInfo.push_back(new G4SPPartonInfo(5101, 2, 1./4.));  // bd_0, u
546 }                                                 546 }
547                                                   547 
548 G4SPBaryon::G4SPBaryon(G4AntiSigmabZero * aAnt    548 G4SPBaryon::G4SPBaryon(G4AntiSigmabZero * aAntiSigmabZero) {
549   theDefinition = aAntiSigmabZero;                549   theDefinition = aAntiSigmabZero;
550   thePartonInfo.push_back(new G4SPPartonInfo(-    550   thePartonInfo.push_back(new G4SPPartonInfo(-2103, -5, 1./3.));
551   thePartonInfo.push_back(new G4SPPartonInfo(-    551   thePartonInfo.push_back(new G4SPPartonInfo(-5203, -1, 1./12.));
552   thePartonInfo.push_back(new G4SPPartonInfo(-    552   thePartonInfo.push_back(new G4SPPartonInfo(-5201, -1, 1./4.));
553   thePartonInfo.push_back(new G4SPPartonInfo(-    553   thePartonInfo.push_back(new G4SPPartonInfo(-5103, -2, 1./12.));
554   thePartonInfo.push_back(new G4SPPartonInfo(-    554   thePartonInfo.push_back(new G4SPPartonInfo(-5101, -2, 1./4.));
555 }                                                 555 }
556                                                   556 
557                                                   557 
558 G4SPBaryon::G4SPBaryon(G4SigmabMinus * aSigmab    558 G4SPBaryon::G4SPBaryon(G4SigmabMinus * aSigmabMinus) {
559   // sigma_b-(ddb) treated as sigma-(dds) repl    559   // sigma_b-(ddb) treated as sigma-(dds) replacing s with b.
560   theDefinition = aSigmabMinus;                   560   theDefinition = aSigmabMinus;
561   thePartonInfo.push_back(new G4SPPartonInfo(1    561   thePartonInfo.push_back(new G4SPPartonInfo(1103, 5, 1./3.)); // dd_1, b
562   thePartonInfo.push_back(new G4SPPartonInfo(5    562   thePartonInfo.push_back(new G4SPPartonInfo(5103, 1, 1./6.)); // bd_1, d
563   thePartonInfo.push_back(new G4SPPartonInfo(5    563   thePartonInfo.push_back(new G4SPPartonInfo(5101, 1, 1./2.)); // bd_0, d
564 }                                                 564 }
565                                                   565 
566 G4SPBaryon::G4SPBaryon(G4AntiSigmabMinus * aAn    566 G4SPBaryon::G4SPBaryon(G4AntiSigmabMinus * aAntiSigmabMinus) {
567   theDefinition = aAntiSigmabMinus;               567   theDefinition = aAntiSigmabMinus;
568   thePartonInfo.push_back(new G4SPPartonInfo(-    568   thePartonInfo.push_back(new G4SPPartonInfo(-1103, -5, 1./3.));
569   thePartonInfo.push_back(new G4SPPartonInfo(-    569   thePartonInfo.push_back(new G4SPPartonInfo(-5103, -1, 1./6.));
570   thePartonInfo.push_back(new G4SPPartonInfo(-    570   thePartonInfo.push_back(new G4SPPartonInfo(-5101, -1, 1./2.));
571 }                                                 571 }
572                                                   572 
573                                                   573 
574 G4SPBaryon::G4SPBaryon(G4XibZero * aXibZero) {    574 G4SPBaryon::G4SPBaryon(G4XibZero * aXibZero) {
575   // xi_b0(usb) treated as xi0(uss) replacing     575   // xi_b0(usb) treated as xi0(uss) replacing s with b.
576   theDefinition = aXibZero;                       576   theDefinition = aXibZero;
577   thePartonInfo.push_back(new G4SPPartonInfo(3    577   thePartonInfo.push_back(new G4SPPartonInfo(3203, 5, 1./6.)); // su_1, b
578   thePartonInfo.push_back(new G4SPPartonInfo(3    578   thePartonInfo.push_back(new G4SPPartonInfo(3201, 5, 1./2.)); // su_0, b
579   thePartonInfo.push_back(new G4SPPartonInfo(5    579   thePartonInfo.push_back(new G4SPPartonInfo(5303, 2, 1./3.)); // bs_1, u
580 }                                                 580 }
581                                                   581 
582 G4SPBaryon::G4SPBaryon(G4AntiXibZero * aAntiXi    582 G4SPBaryon::G4SPBaryon(G4AntiXibZero * aAntiXibZero) {
583   theDefinition = aAntiXibZero;                   583   theDefinition = aAntiXibZero;
584   thePartonInfo.push_back(new G4SPPartonInfo(-    584   thePartonInfo.push_back(new G4SPPartonInfo(-3203, -5, 1./6.));
585   thePartonInfo.push_back(new G4SPPartonInfo(-    585   thePartonInfo.push_back(new G4SPPartonInfo(-3201, -5, 1./2.));
586   thePartonInfo.push_back(new G4SPPartonInfo(-    586   thePartonInfo.push_back(new G4SPPartonInfo(-5303, -2, 1./3.));
587 }                                                 587 }
588                                                   588 
589                                                   589 
590 G4SPBaryon::G4SPBaryon(G4XibMinus * aXibMinus)    590 G4SPBaryon::G4SPBaryon(G4XibMinus * aXibMinus) {
591   // xi_b-(dsb) treated as xi-(dss) replacing     591   // xi_b-(dsb) treated as xi-(dss) replacing s with b.
592   theDefinition = aXibMinus;                      592   theDefinition = aXibMinus;
593   thePartonInfo.push_back(new G4SPPartonInfo(3    593   thePartonInfo.push_back(new G4SPPartonInfo(3103, 5, 1./6.)); // sd_1, b
594   thePartonInfo.push_back(new G4SPPartonInfo(3    594   thePartonInfo.push_back(new G4SPPartonInfo(3101, 5, 1./2.)); // sd_0, b
595   thePartonInfo.push_back(new G4SPPartonInfo(5    595   thePartonInfo.push_back(new G4SPPartonInfo(5303, 1, 1./3.)); // bs_1, d
596 }                                                 596 }
597                                                   597 
598 G4SPBaryon::G4SPBaryon(G4AntiXibMinus * aAntiX    598 G4SPBaryon::G4SPBaryon(G4AntiXibMinus * aAntiXibMinus) {
599   theDefinition = aAntiXibMinus;                  599   theDefinition = aAntiXibMinus;
600   thePartonInfo.push_back(new G4SPPartonInfo(-    600   thePartonInfo.push_back(new G4SPPartonInfo(-3103, -5, 1./6.));
601   thePartonInfo.push_back(new G4SPPartonInfo(-    601   thePartonInfo.push_back(new G4SPPartonInfo(-3101, -5, 1./2.));
602   thePartonInfo.push_back(new G4SPPartonInfo(-    602   thePartonInfo.push_back(new G4SPPartonInfo(-5303, -1, 1./3.));
603 }                                                 603 }
604                                                   604 
605                                                   605 
606 G4SPBaryon::G4SPBaryon(G4OmegabMinus * aOmegab    606 G4SPBaryon::G4SPBaryon(G4OmegabMinus * aOmegabMinus) {
607   // omega_b-(ssb) treated as omega-(sss) repl    607   // omega_b-(ssb) treated as omega-(sss) replacing s with b.
608   theDefinition = aOmegabMinus;                   608   theDefinition = aOmegabMinus;
609   thePartonInfo.push_back(new G4SPPartonInfo(3    609   thePartonInfo.push_back(new G4SPPartonInfo(3303, 5, 1.)); // ss_1, b
610 }                                                 610 }
611                                                   611 
612 G4SPBaryon::G4SPBaryon(G4AntiOmegabMinus * aAn    612 G4SPBaryon::G4SPBaryon(G4AntiOmegabMinus * aAntiOmegabMinus) {
613   theDefinition = aAntiOmegabMinus;               613   theDefinition = aAntiOmegabMinus;
614   thePartonInfo.push_back(new G4SPPartonInfo(-    614   thePartonInfo.push_back(new G4SPPartonInfo(-3303, -5, 1.));
615 }                                                 615 }
616                                                   616