G4QParticle Class Reference

#include <G4QParticle.hh>


Public Member Functions

 G4QParticle ()
 G4QParticle (G4bool f, G4int theQCode)
 G4QParticle (G4int thePDG)
 G4QParticle (const G4QParticle &right)
 G4QParticle (G4QParticle *right)
 ~G4QParticle ()
const G4QParticleoperator= (const G4QParticle &right)
G4bool operator== (const G4QParticle &rhs) const
G4bool operator!= (const G4QParticle &rhs) const
G4QPDGCode GetQPDG () const
G4int GetPDGCode () const
G4int GetQCode () const
G4int GetSpin () const
G4int GetCharge () const
G4int GetStrange () const
G4int GetBaryNum () const
G4QContent GetQContent ()
G4QDecayChanVector GetDecayVector ()
G4double GetMass ()
G4double GetWidth ()
G4QDecayChanVector InitDecayVector (G4int Q)
void InitPDGParticle (G4int thePDGCode)
void InitQParticle (G4int theQCode)
G4double MinMassOfFragm ()


Detailed Description

Definition at line 45 of file G4QParticle.hh.


Constructor & Destructor Documentation

G4QParticle::G4QParticle (  ) 

Definition at line 45 of file G4QParticle.cc.

References G4cout, and G4endl.

00046 {
00047 #ifdef debug
00048   G4cout<<"G4QParticle::Constr: Default constructor is called"<<G4endl;
00049 #endif
00050 }

G4QParticle::G4QParticle ( G4bool  f,
G4int  theQCode 
)

Definition at line 59 of file G4QParticle.cc.

References G4cout, G4endl, G4QPDGCode::GetPDGCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().

00060 {
00061   aQPDG      = G4QPDGCode(f,theQCode);
00062 #ifdef debug
00063   G4cout<<"G4QParticle::Constr: PDG="<<aQPDG.GetPDGCode()<<G4endl;
00064 #endif
00065   aQuarkCont = aQPDG.GetQuarkContent();
00066   aDecay     = InitDecayVector(theQCode);
00067 }

G4QParticle::G4QParticle ( G4int  thePDG  ) 

Definition at line 52 of file G4QParticle.cc.

References G4QPDGCode::GetQCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().

00053 {
00054   aQPDG      = G4QPDGCode(thePDG);
00055   aQuarkCont = aQPDG.GetQuarkContent();
00056   aDecay     = InitDecayVector(aQPDG.GetQCode());
00057 }

G4QParticle::G4QParticle ( const G4QParticle right  ) 

Definition at line 69 of file G4QParticle.cc.

References aDecay, aQPDG, and aQuarkCont.

00070 {
00071   aQPDG                = right.aQPDG;
00072   //aDecay (Vector)
00073   G4int nD             = right.aDecay.size(); 
00074   if(nD) for(G4int id=0; id<nD; id++)
00075   {
00076     G4QDecayChan* curD = new G4QDecayChan(right.aDecay[id]);
00077     aDecay.push_back(curD);
00078   }
00079 
00080   aQuarkCont           = right.aQuarkCont;
00081 }

G4QParticle::G4QParticle ( G4QParticle right  ) 

Definition at line 83 of file G4QParticle.cc.

References aDecay, aQPDG, and aQuarkCont.

00084 {
00085   aQPDG                = right->aQPDG;
00086   //aDecay (Vector)
00087   G4int nD             = right->aDecay.size();
00088   if(nD) for(G4int id=0; id<nD; id++)
00089   {
00090     G4QDecayChan* curD = new G4QDecayChan(right->aDecay[id]);
00091     aDecay.push_back(curD);
00092   }
00093 
00094   aQuarkCont           = right->aQuarkCont;
00095 }

G4QParticle::~G4QParticle (  ) 

Definition at line 97 of file G4QParticle.cc.

00098 {
00099   G4int nDC=aDecay.size();
00100   //G4cout<<"G4QParticle::Destructor: Before nDC="<<nDC<<G4endl; // TMP
00101   if(nDC) std::for_each(aDecay.begin(), aDecay.end(), DeleteQDecayChan());
00102   //G4cout<<"G4QParticle::Destructor: After"<<G4endl; // TMP
00103   aDecay.clear();
00104 }


Member Function Documentation

G4int G4QParticle::GetBaryNum (  )  const [inline]

Definition at line 107 of file G4QParticle.hh.

References G4QContent::GetBaryonNumber().

00107 {return aQuarkCont.GetBaryonNumber();}

G4int G4QParticle::GetCharge (  )  const [inline]

Definition at line 105 of file G4QParticle.hh.

References G4QContent::GetCharge().

00105 {return aQuarkCont.GetCharge();}

G4QDecayChanVector G4QParticle::GetDecayVector (  )  [inline]

Definition at line 109 of file G4QParticle.hh.

Referenced by G4Quasmon::DecayQHadron(), and operator<<().

00109 {return aDecay;}

G4double G4QParticle::GetMass (  )  [inline]

Definition at line 110 of file G4QParticle.hh.

References G4QPDGCode::GetMass().

Referenced by MinMassOfFragm(), and operator<<().

00110 {return aQPDG.GetMass();}

G4int G4QParticle::GetPDGCode (  )  const [inline]

Definition at line 103 of file G4QParticle.hh.

References G4QPDGCode::GetPDGCode().

00103 {return aQPDG.GetPDGCode();}

G4int G4QParticle::GetQCode (  )  const [inline]

Definition at line 102 of file G4QParticle.hh.

References G4QPDGCode::GetQCode().

00102 {return aQPDG.GetQCode();}

G4QContent G4QParticle::GetQContent (  )  [inline]

Definition at line 108 of file G4QParticle.hh.

Referenced by operator<<().

00108 {return aQuarkCont;}

G4QPDGCode G4QParticle::GetQPDG (  )  const [inline]

Definition at line 101 of file G4QParticle.hh.

Referenced by operator<<().

00101 {return aQPDG;}

G4int G4QParticle::GetSpin (  )  const [inline]

Definition at line 104 of file G4QParticle.hh.

References G4QPDGCode::GetSpin().

Referenced by operator<<().

00104 {return aQPDG.GetSpin();}

G4int G4QParticle::GetStrange (  )  const [inline]

Definition at line 106 of file G4QParticle.hh.

References G4QContent::GetStrangeness().

00106 {return aQuarkCont.GetStrangeness();}

G4double G4QParticle::GetWidth (  )  [inline]

Definition at line 111 of file G4QParticle.hh.

References G4QPDGCode::GetWidth().

Referenced by MinMassOfFragm(), and operator<<().

00111 {return aQPDG.GetWidth();}

G4QDecayChanVector G4QParticle::InitDecayVector ( G4int  Q  ) 

Definition at line 153 of file G4QParticle.cc.

References G4cout, and G4endl.

Referenced by G4QParticle(), InitPDGParticle(), and InitQParticle().

00154 {
00155   //static G4int nP = 486;                  // Up to A=80
00156   //static const G4int nP = 494;              // Up to A=80(?) "Isonuclear revision"
00157   static const G4int nP = 512; // A<57 "Leptons/Hypernuclei" G4QCHIPSWorld::GetParticles(!)
00158   //static G4QDecayChanVector* DecayDB = new G4QDecayChanVector[nP];
00159   static G4QDecayChanVector DecayDB[nP];
00160   static int limit= 0;
00161   if(nQ>=limit && nQ<nP)
00162   {
00163     //*** Secondary PDG-particles should be ordered in a Channel by increasing width***!***
00164     //** Channels should be ordered by increasing minimum mass of the secondary particles**
00165     //if(limit<=  0 && nQ>=  0)DecayDB[  0] = 0;    // e-     (11)
00166     //if(limit<=  1 && nQ>=  1)DecayDB[  1] = 0;    // nu_e   (12)
00167     //if(limit<=  2 && nQ>=  2)DecayDB[  2] = 0;    // mu-    (13)
00168     //if(limit<=  3 && nQ>=  3)DecayDB[  3] = 0;    // mu_e   (14)
00169     //if(limit<=  4 && nQ>=  4)DecayDB[  4] = 0;    // tau-   (15)
00170     //if(limit<=  5 && nQ>=  5)DecayDB[  5] = 0;    // nu_tau (16)
00171     //if(limit<=  6 && nQ>=  6)DecayDB[  6] = 0;    // gamma  (22)
00172     if(limit<=  7 && nQ>=  7)                       // Z0     (23)
00173     {
00174       DecayDB[  7].push_back(new G4QDecayChan(.036,  11, -11));
00175       DecayDB[  7].push_back(new G4QDecayChan(.073,  13, -13));
00176       DecayDB[  7].push_back(new G4QDecayChan(.107,  15, -15));
00177       DecayDB[  7].push_back(new G4QDecayChan(.174,  12, -12)); // @@ Fake invisible decays
00178       DecayDB[  7].push_back(new G4QDecayChan(.240,  14, -14));
00179       DecayDB[  7].push_back(new G4QDecayChan(.307,  16, -16));
00180       DecayDB[  7].push_back(new G4QDecayChan(.400,2112,-2112)); // @@ Fake Hadronic decays
00181       DecayDB[  7].push_back(new G4QDecayChan(.500,2212,-2212)); // @@ Need heavy quarks
00182       DecayDB[  7].push_back(new G4QDecayChan(.600,2212,-2212, 111));
00183       DecayDB[  7].push_back(new G4QDecayChan(.700,2112,-2112, 111));
00184       DecayDB[  7].push_back(new G4QDecayChan(.800,2212,-2112,-211));
00185       DecayDB[  7].push_back(new G4QDecayChan(.990,2112,-2212, 211));
00186       DecayDB[  7].push_back(new G4QDecayChan(1.00,2112,-3122, 111));
00187     }
00188     if(limit<=  8 && nQ>=  8)                       // W-     (24) @@ Update HadronicDecays
00189     {
00190       DecayDB[  8].push_back(new G4QDecayChan(.107,  11, -12));
00191       DecayDB[  8].push_back(new G4QDecayChan(.214,  13, -14));
00192       DecayDB[  8].push_back(new G4QDecayChan(.321,  15, -16));
00193       DecayDB[  8].push_back(new G4QDecayChan(.421,2112,-2212)); // @@ Fake Hadronic decays
00194       DecayDB[  8].push_back(new G4QDecayChan(.521,2112,-2112,-211));
00195       DecayDB[  8].push_back(new G4QDecayChan(.621,2212,-2212,-211));
00196       DecayDB[  8].push_back(new G4QDecayChan(.721,3122,-3122,-211));
00197       DecayDB[  8].push_back(new G4QDecayChan(.821,2112,-2212, 111));
00198       DecayDB[  8].push_back(new G4QDecayChan(.921,3122,-2212, 111));
00199       DecayDB[  8].push_back(new G4QDecayChan(1.00,2112,-3122,-211));
00200     }
00201     //if(limit<=  9 && nQ>=  9)DecayDB[  9] = 0;    // H0     (25)
00202     //if(limit<= 10 && nQ>= 10)DecayDB[ 10] = 0;    // H-     (37)
00203     if(limit<= 11 && nQ>= 11)    // Low sigma=pi,pi S-wave : f_0 (800)
00204     {
00205       DecayDB[ 11].push_back(new G4QDecayChan(.333,211,-211));
00206       DecayDB[ 11].push_back(new G4QDecayChan(1.00,111, 111));
00207     }
00208     if(limit<= 12 && nQ>= 12)    // Midle Regeon-Pomeron   : f_0 (980)
00209     {
00210       DecayDB[ 12].push_back(new G4QDecayChan(.333,211,-211));
00211       DecayDB[ 12].push_back(new G4QDecayChan(1.00,111, 111));
00212     }
00213     if(limit<= 13 && nQ>= 13)    // High Regeon-Pomeron    : f_0 (1500)
00214     {
00215       DecayDB[ 13].push_back(new G4QDecayChan(.019,221, 331));
00216       DecayDB[ 13].push_back(new G4QDecayChan(.070,221, 221));
00217       DecayDB[ 13].push_back(new G4QDecayChan(.113,311,-311));
00218       DecayDB[ 13].push_back(new G4QDecayChan(.156,321,-321));
00219       DecayDB[ 13].push_back(new G4QDecayChan(.578,211,-211)); //@@ include 4pi decays
00220       DecayDB[ 13].push_back(new G4QDecayChan(1.00,111, 111));
00221     }
00222     //if(limit<= 14 && nQ>= 14)DecayDB[ 14].push_back(new G4QDecayChan(1.00,22,22));//Pi0
00223     //if(limit<= 15 && nQ>= 15)DecayDB[ 15] = 0;    // Pi +
00224     if(limit<= 16 && nQ>= 16)    // eta
00225     {
00226       DecayDB[ 16].push_back(new G4QDecayChan(.226,211,-211,111));
00227       DecayDB[ 16].push_back(new G4QDecayChan(.551,111, 111,111));
00228       DecayDB[ 16].push_back(new G4QDecayChan(.598,211,-211, 22));
00229       DecayDB[ 16].push_back(new G4QDecayChan(.606, 11, -11, 22)); //@@ .002 (pi+)(pi-)2gam
00230       DecayDB[ 16].push_back(new G4QDecayChan(1.00, 22,  22));
00231     }
00232     //if(limit<= 17 && nQ>= 17)    // K 0 (K_short - probab 1/2) @@@@@@@@@@@@
00233     //{
00234     //  DecayDB[ 17].push_back(new G4QDecayChan(.6861,211,-211));
00235     //  DecayDB[ 17].push_back(new G4QDecayChan(1.00, 111, 111));
00236     //}
00237     //if(limit<= 18 && nQ>= 18)DecayDB[  8] = 0;    // K +
00238     if(limit<= 19 && nQ>= 19)    // eta'
00239     {
00240       DecayDB[ 19].push_back(new G4QDecayChan(.443,211,-211,221));
00241       DecayDB[ 19].push_back(new G4QDecayChan(.652,111, 111,221));
00242       DecayDB[ 19].push_back(new G4QDecayChan(.947, 22, 223));
00243       DecayDB[ 19].push_back(new G4QDecayChan(.949,111, 111,111));
00244       DecayDB[ 19].push_back(new G4QDecayChan(.979, 22, 113));
00245       DecayDB[ 19].push_back(new G4QDecayChan(1.00, 22,  22));
00246     }
00247     //if(limit<= 20 && nQ>= 20)DecayDB[ 20] = 0;    // n
00248     //if(limit<= 21 && nQ>= 21)DecayDB[ 21] = 0;    // p
00249     //if(limit<= 22 && nQ>= 22)    // Lambda =--=>> all week decays are closed at this time
00250     //{
00251     //  DecayDB[ 22].push_back(new G4QDecayChan(.640,2212,-211));
00252     //  DecayDB[ 22].push_back(new G4QDecayChan(1.00,2112, 111));
00253     //}
00254     //if(limit<= 23 &&nQ>=23)DecayDB[23].push_back(new G4QDecayChan(1.,2112,-211));//Sigma-
00255     if(limit<= 24 &&nQ>=24)DecayDB[24].push_back(new G4QDecayChan(1.,3122,22));//Sigma0(EM)
00256     //if(limit<= 25 && nQ>= 25)    // Sigma +
00257     //{
00258     //  DecayDB[ 25].push_back(new G4QDecayChan(.484,2112, 211));
00259     //  DecayDB[ 25].push_back(new G4QDecayChan(1.00,2212, 111));
00260     //}
00261     //if(limit<= 26 && nQ>=26)DecayDB[26].push_back(new G4QDecayChan(1.,3122,-211));// Ksi-
00262     //if(limit<= 27 && nQ>=27)DecayDB[27].push_back(new G4QDecayChan(1.,3122, 111));// Ksi0
00263     if(limit<= 28 && nQ>= 28)DecayDB[ 28].push_back(new G4QDecayChan(1., 211,-211));// rho0
00264     if(limit<= 29 && nQ>= 29)DecayDB[ 29].push_back(new G4QDecayChan(1., 211, 111));// rho+
00265     if(limit<= 30 && nQ>= 30)    // omega
00266     {
00267       DecayDB[ 30].push_back(new G4QDecayChan(.891, 211,-211,111));
00268       DecayDB[ 30].push_back(new G4QDecayChan(.908, 211,-211));
00269       DecayDB[ 30].push_back(new G4QDecayChan(.997,  22, 111));
00270       DecayDB[ 30].push_back(new G4QDecayChan(.998,  11, -11, 111)); //@@NeedsMoreAccurate
00271       DecayDB[ 30].push_back(new G4QDecayChan(.998,  13, -13, 111));
00272       DecayDB[ 30].push_back(new G4QDecayChan(1.00,  22, 221));
00273     }
00274     if(limit<= 31 && nQ>= 31)    // K* 0
00275     {
00276       DecayDB[ 31].push_back(new G4QDecayChan(.667,-211, 321));
00277       DecayDB[ 31].push_back(new G4QDecayChan(1.00, 111, 311));
00278     }
00279     if(limit<= 32 && nQ>= 32)    // K* +
00280     {
00281       DecayDB[ 32].push_back(new G4QDecayChan(.667, 211, 311));
00282       DecayDB[ 32].push_back(new G4QDecayChan(1.00, 111, 321));
00283     }
00284     if(limit<= 33 && nQ>= 33)    // phi
00285     {
00286       DecayDB[ 33].push_back(new G4QDecayChan(.491, 311,-311));
00287       DecayDB[ 33].push_back(new G4QDecayChan(.831, 321,-321));
00288       DecayDB[ 33].push_back(new G4QDecayChan(.844,  22, 221));
00289       DecayDB[ 33].push_back(new G4QDecayChan(.846,  22, 111));
00290       DecayDB[ 33].push_back(new G4QDecayChan(.897, 211,-213));
00291       DecayDB[ 33].push_back(new G4QDecayChan(.948,-211, 213));
00292       DecayDB[ 33].push_back(new G4QDecayChan(1.00, 111, 113));
00293     }
00294     if(limit<= 34 && nQ>= 34)DecayDB[34].push_back(new G4QDecayChan(1.,2112,-211));//Delta-
00295     if(limit<= 35 && nQ>= 35)    // Delta 0
00296     {
00297       DecayDB[ 35].push_back(new G4QDecayChan(.333,2212,-211));
00298       DecayDB[ 35].push_back(new G4QDecayChan(1.00,2112, 111));
00299     }
00300     if(limit<= 36 && nQ>= 36)    // Delta +
00301     {
00302       DecayDB[ 36].push_back(new G4QDecayChan(.333,2112, 211));
00303       DecayDB[ 36].push_back(new G4QDecayChan(1.00,2212, 111));
00304     }
00305     if(limit<= 37 && nQ>= 37)DecayDB[37].push_back(new G4QDecayChan(1.,2212,211));//Delta++
00306     if(limit<= 38 && nQ>= 38)    // Lambda* (1520)
00307     {
00308       DecayDB[ 38].push_back(new G4QDecayChan(.225,3112,-311));
00309       DecayDB[ 38].push_back(new G4QDecayChan(.450,3222,-321));
00310       DecayDB[ 38].push_back(new G4QDecayChan(.453,3112,211,111));
00311       DecayDB[ 38].push_back(new G4QDecayChan(.456,3212,211,-211));
00312       DecayDB[ 38].push_back(new G4QDecayChan(.459,3212,111,111));
00313       DecayDB[ 38].push_back(new G4QDecayChan(.462,3222,-211,111));
00314       DecayDB[ 38].push_back(new G4QDecayChan(.512,3122,211,-211));
00315       DecayDB[ 38].push_back(new G4QDecayChan(.562,3122,111,111));
00316       DecayDB[ 38].push_back(new G4QDecayChan(.702,3222,-211));
00317       DecayDB[ 38].push_back(new G4QDecayChan(.842,3212, 111));
00318       DecayDB[ 38].push_back(new G4QDecayChan(.982,3112, 211));
00319       DecayDB[ 38].push_back(new G4QDecayChan(1.00,3122,  22));
00320     }
00321     if(limit<= 39 && nQ>= 39)    // Sigma* -
00322     {
00323       DecayDB[ 39].push_back(new G4QDecayChan(.060,3112, 111));
00324       DecayDB[ 39].push_back(new G4QDecayChan(.120,3212,-211));
00325       DecayDB[ 39].push_back(new G4QDecayChan(1.00,3122,-211));
00326     }
00327     if(limit<= 40 && nQ>= 40)    // Sigma* 0
00328     {
00329       DecayDB[ 40].push_back(new G4QDecayChan(.040,3112, 211));
00330       DecayDB[ 40].push_back(new G4QDecayChan(.080,3222,-211));
00331       DecayDB[ 40].push_back(new G4QDecayChan(.120,3212, 111));
00332       DecayDB[ 40].push_back(new G4QDecayChan(1.00,3122, 111));
00333     }
00334     if(limit<= 41 && nQ>= 41)    // Sigma* +
00335     {
00336       DecayDB[ 41].push_back(new G4QDecayChan(.060,3212, 211));
00337       DecayDB[ 41].push_back(new G4QDecayChan(.120,3222, 111));
00338       DecayDB[ 41].push_back(new G4QDecayChan(1.00,3122, 211));
00339     }
00340     if(limit<= 42 && nQ>= 42)    // Ksi* -
00341     {
00342       DecayDB[ 42].push_back(new G4QDecayChan(.667,3322,-211));
00343       DecayDB[ 42].push_back(new G4QDecayChan(1.00,3312, 111));
00344     }
00345     if(limit<= 43 && nQ>= 43)    // Ksi* 0
00346     {
00347       DecayDB[ 43].push_back(new G4QDecayChan(.667,3312, 211));
00348       DecayDB[ 43].push_back(new G4QDecayChan(1.00,3322, 111));
00349     }
00350     //if(limit<= 44 && nQ>= 44)    // OMEGA - (Weak)
00351     //{
00352     //  DecayDB[ 44].push_back(new G4QDecayChan(.678,3122, 321));
00353     //  DecayDB[ 44].push_back(new G4QDecayChan(.914,3322,-211));
00354     //  DecayDB[ 44].push_back(new G4QDecayChan(1.00,3312, 111));
00355     //}
00356     if(limit<= 45 && nQ>= 45)    // a_2 0
00357     {
00358       DecayDB[ 45].push_back(new G4QDecayChan(.070, 211,-211,223));
00359       DecayDB[ 45].push_back(new G4QDecayChan(.106, 111, 111,223));
00360       DecayDB[ 45].push_back(new G4QDecayChan(.131, 321,-321));
00361       DecayDB[ 45].push_back(new G4QDecayChan(.156, 311,-311));
00362       DecayDB[ 45].push_back(new G4QDecayChan(.301, 111, 221));
00363       DecayDB[ 45].push_back(new G4QDecayChan(.534,-211, 213));
00364       DecayDB[ 45].push_back(new G4QDecayChan(.767, 211,-213));
00365       DecayDB[ 45].push_back(new G4QDecayChan(1.00, 111, 113));
00366     }
00367     if(limit<= 46 && nQ>= 46)    // a_2 +
00368     {
00369       DecayDB[ 46].push_back(new G4QDecayChan(.106,111,211,223));
00370       DecayDB[ 46].push_back(new G4QDecayChan(.156, 321,-311));
00371       DecayDB[ 46].push_back(new G4QDecayChan(.301, 211, 221));
00372       DecayDB[ 46].push_back(new G4QDecayChan(.651, 211, 113));
00373       DecayDB[ 46].push_back(new G4QDecayChan(1.00, 111, 213));
00374     }
00375     if(limit<= 47 && nQ>= 47)    // f_2 0
00376     {
00377       DecayDB[ 47].push_back(new G4QDecayChan(.005, 221, 221));
00378       DecayDB[ 47].push_back(new G4QDecayChan(.028, 311,-311));
00379       DecayDB[ 47].push_back(new G4QDecayChan(.051, 321,-321));
00380       DecayDB[ 47].push_back(new G4QDecayChan(.123, 111, 113));
00381       DecayDB[ 47].push_back(new G4QDecayChan(.126, 111, 221));
00382       DecayDB[ 47].push_back(new G4QDecayChan(.152, 211,-211,113));
00383       DecayDB[ 47].push_back(new G4QDecayChan(.717, 211,-211));
00384       DecayDB[ 47].push_back(new G4QDecayChan(1.00, 111, 111));
00385     }
00386     if(limit<= 48 && nQ>= 48)    // K_2 0
00387     {
00388       DecayDB[ 48].push_back(new G4QDecayChan(.028, 311, 223));
00389       DecayDB[ 48].push_back(new G4QDecayChan(.074, 211,-211,313));
00390       DecayDB[ 48].push_back(new G4QDecayChan(.143,111,-211,323));
00391       DecayDB[ 48].push_back(new G4QDecayChan(.166,111, 111,313));
00392       DecayDB[ 48].push_back(new G4QDecayChan(.190,-211, 323));
00393       DecayDB[ 48].push_back(new G4QDecayChan(.314, 111, 313));
00394       DecayDB[ 48].push_back(new G4QDecayChan(.357, 311, 113));
00395       DecayDB[ 48].push_back(new G4QDecayChan(.500, 321,-213));
00396       DecayDB[ 48].push_back(new G4QDecayChan(.750,-211, 321));
00397       DecayDB[ 48].push_back(new G4QDecayChan(1.00, 111, 311));
00398     }
00399     if(limit<= 49 && nQ>= 49)    // K_2 +
00400     {
00401       DecayDB[ 49].push_back(new G4QDecayChan(.028, 321, 223));
00402       DecayDB[ 49].push_back(new G4QDecayChan(.074,211,-211,323));
00403       DecayDB[ 49].push_back(new G4QDecayChan(.143,111, 211,313));
00404       DecayDB[ 49].push_back(new G4QDecayChan(.166,111, 111,323));
00405       DecayDB[ 49].push_back(new G4QDecayChan(.190, 211, 313));
00406       DecayDB[ 49].push_back(new G4QDecayChan(.314, 111, 323));
00407       DecayDB[ 49].push_back(new G4QDecayChan(.357, 311, 213));
00408       DecayDB[ 49].push_back(new G4QDecayChan(.500, 321, 113));
00409       DecayDB[ 49].push_back(new G4QDecayChan(.750, 211, 311));
00410       DecayDB[ 49].push_back(new G4QDecayChan(1.00, 111, 321));
00411     }
00412     if(limit<= 50 && nQ>= 50)    // f_2' 0
00413     {
00414       DecayDB[ 50].push_back(new G4QDecayChan(.103, 221, 221));
00415       DecayDB[ 50].push_back(new G4QDecayChan(.547, 311,-311));
00416       DecayDB[ 50].push_back(new G4QDecayChan(.991, 321,-321));
00417       DecayDB[ 50].push_back(new G4QDecayChan(.997, 211,-211));
00418       DecayDB[ 50].push_back(new G4QDecayChan(1.00, 111, 111));
00419     }
00420     if(limit<= 51 && nQ>= 51)    // N_5/2 0
00421     {
00422       DecayDB[ 51].push_back(new G4QDecayChan(.040, 211, 1114));
00423       DecayDB[ 51].push_back(new G4QDecayChan(.080, 111, 2114));
00424       DecayDB[ 51].push_back(new G4QDecayChan(.120,-211, 2214));
00425       DecayDB[ 51].push_back(new G4QDecayChan(.180, 2112, 113));
00426       DecayDB[ 51].push_back(new G4QDecayChan(.210, 2212,-213));
00427       DecayDB[ 51].push_back(new G4QDecayChan(.340, 2112, 110));
00428       DecayDB[ 51].push_back(new G4QDecayChan(.780, 2212,-211));
00429       DecayDB[ 51].push_back(new G4QDecayChan(1.00, 2112, 111));
00430     }
00431     if(limit<= 52 && nQ>= 52)    // N_5/2 +
00432     {
00433       DecayDB[ 52].push_back(new G4QDecayChan(.040,-211, 2224));
00434       DecayDB[ 52].push_back(new G4QDecayChan(.080, 211, 2114));
00435       DecayDB[ 52].push_back(new G4QDecayChan(.120, 111, 2214));
00436       DecayDB[ 52].push_back(new G4QDecayChan(.180, 2112, 213));
00437       DecayDB[ 52].push_back(new G4QDecayChan(.210, 2212, 113));
00438       DecayDB[ 52].push_back(new G4QDecayChan(.340, 2212, 229));
00439       DecayDB[ 52].push_back(new G4QDecayChan(.780, 2112, 211));
00440       DecayDB[ 52].push_back(new G4QDecayChan(1.00, 2212, 111));
00441     }
00442     if(limit<= 53 && nQ>= 53)    // LAMBDA_5/2
00443     {
00444       DecayDB[ 53].push_back(new G4QDecayChan(.350, 2112,-311));
00445       DecayDB[ 53].push_back(new G4QDecayChan(.700, 2212,-321));
00446       DecayDB[ 53].push_back(new G4QDecayChan(.740, 211, 3114));
00447       DecayDB[ 53].push_back(new G4QDecayChan(.780,-211, 3224));
00448       DecayDB[ 53].push_back(new G4QDecayChan(.820, 111, 3214));
00449       DecayDB[ 53].push_back(new G4QDecayChan(.880, 3112, 211));
00450       DecayDB[ 53].push_back(new G4QDecayChan(.940, 3222,-211));
00451       DecayDB[ 53].push_back(new G4QDecayChan(1.00, 3212, 111));
00452     }
00453     if(limit<= 54 && nQ>= 54)    // SIGMA_5/2 -
00454     {
00455       DecayDB[ 54].push_back(new G4QDecayChan(.600, 2112,-321));
00456       DecayDB[ 54].push_back(new G4QDecayChan(.660,-211, 3214));
00457       DecayDB[ 54].push_back(new G4QDecayChan(.720, 111, 3114));
00458       DecayDB[ 54].push_back(new G4QDecayChan(.810, 3212,-211));
00459       DecayDB[ 54].push_back(new G4QDecayChan(.900, 3112, 111));
00460       DecayDB[ 54].push_back(new G4QDecayChan(1.00, 3122,-211));
00461     }
00462     if(limit<= 55 && nQ>= 55)    // SIGMA_5/2 0
00463     {
00464       DecayDB[ 55].push_back(new G4QDecayChan(.300, 2112,-311));
00465       DecayDB[ 55].push_back(new G4QDecayChan(.600, 2212,-321));
00466       DecayDB[ 55].push_back(new G4QDecayChan(.640, 211, 3114));
00467       DecayDB[ 55].push_back(new G4QDecayChan(.680,-211, 3224));
00468       DecayDB[ 55].push_back(new G4QDecayChan(.720, 111, 3214));
00469       DecayDB[ 55].push_back(new G4QDecayChan(.780, 3112, 211));
00470       DecayDB[ 55].push_back(new G4QDecayChan(.840, 3222,-211));
00471       DecayDB[ 55].push_back(new G4QDecayChan(.900, 3212, 111));
00472       DecayDB[ 55].push_back(new G4QDecayChan(1.00, 3122, 111));
00473     }
00474     if(limit<= 56 && nQ>= 56)    // SIGMA_5/2 +
00475     {
00476       DecayDB[ 56].push_back(new G4QDecayChan(.600, 2212,-311));
00477       DecayDB[ 56].push_back(new G4QDecayChan(.660, 211, 3214));
00478       DecayDB[ 56].push_back(new G4QDecayChan(.720, 111, 3224));
00479       DecayDB[ 56].push_back(new G4QDecayChan(.810, 3212, 211));
00480       DecayDB[ 56].push_back(new G4QDecayChan(.900, 3222, 111));
00481       DecayDB[ 56].push_back(new G4QDecayChan(1.00, 3122, 211));
00482     }
00483     if(limit<= 57 && nQ>= 57)    // KSI_5/2 -
00484     {
00485       DecayDB[ 57].push_back(new G4QDecayChan(.400, 3112,-311));
00486       DecayDB[ 57].push_back(new G4QDecayChan(.800, 3212,-321));
00487       DecayDB[ 57].push_back(new G4QDecayChan(1.00, 3122,-321));
00488     }
00489     if(limit<= 58 && nQ>= 58)    // KSI_5/2 0
00490     {
00491       DecayDB[ 58].push_back(new G4QDecayChan(.400, 3212,-311));
00492       DecayDB[ 58].push_back(new G4QDecayChan(.800, 3222,-321));
00493       DecayDB[ 58].push_back(new G4QDecayChan(1.00, 3122,-311));
00494     }
00495     if(limit<= 59 && nQ>= 59)    // rho_3 0
00496     {
00497       DecayDB[ 59].push_back(new G4QDecayChan(.019,311,-313));
00498       DecayDB[ 59].push_back(new G4QDecayChan(.038,321,-323));
00499       DecayDB[ 59].push_back(new G4QDecayChan(.046,311,-311));
00500       DecayDB[ 59].push_back(new G4QDecayChan(.054,321,-321));
00501       DecayDB[ 59].push_back(new G4QDecayChan(.224,111, 223));
00502       DecayDB[ 59].push_back(new G4QDecayChan(.404,111,-211,213));
00503       DecayDB[ 59].push_back(new G4QDecayChan(.584,111, 211,-213));
00504       DecayDB[ 59].push_back(new G4QDecayChan(.764,111, 111,113));
00505       DecayDB[ 59].push_back(new G4QDecayChan(1.00,211,-211));
00506     }
00507     if(limit<= 60 && nQ>= 60)    // rho_3 +
00508     {
00509       DecayDB[ 60].push_back(new G4QDecayChan(.019, 321,-313));
00510       DecayDB[ 60].push_back(new G4QDecayChan(.038,-311, 323));
00511       DecayDB[ 60].push_back(new G4QDecayChan(.054, 321,-311));
00512       DecayDB[ 60].push_back(new G4QDecayChan(.224, 211, 223));
00513       DecayDB[ 60].push_back(new G4QDecayChan(.404,211,-211,213));
00514       DecayDB[ 60].push_back(new G4QDecayChan(.584,211,211,-213));
00515       DecayDB[ 60].push_back(new G4QDecayChan(.764,211,111,113));
00516       DecayDB[ 60].push_back(new G4QDecayChan(1.00, 211, 111));
00517     }
00518     if(limit<= 61 && nQ>= 61)    // omega_3
00519     {
00520       DecayDB[ 61].push_back(new G4QDecayChan(.020,211,-211,223));
00521       DecayDB[ 61].push_back(new G4QDecayChan(.040,111, 111,223));
00522       DecayDB[ 61].push_back(new G4QDecayChan(.060, 211,-213));
00523       DecayDB[ 61].push_back(new G4QDecayChan(.080,-211, 213));
00524       DecayDB[ 61].push_back(new G4QDecayChan(1.00, 111, 113));
00525     }
00526     if(limit<= 62 && nQ>= 62)    // K_3 0
00527     {
00528       DecayDB[ 62].push_back(new G4QDecayChan(.030, 111, 315));
00529       DecayDB[ 62].push_back(new G4QDecayChan(.060,-211, 325));
00530       DecayDB[ 62].push_back(new G4QDecayChan(.340, 311, 331));
00531       DecayDB[ 62].push_back(new G4QDecayChan(.400, 111, 313));
00532       DecayDB[ 62].push_back(new G4QDecayChan(.520,-211, 323));
00533       DecayDB[ 62].push_back(new G4QDecayChan(.620, 311, 113));
00534       DecayDB[ 62].push_back(new G4QDecayChan(.820, 321,-213));
00535       DecayDB[ 62].push_back(new G4QDecayChan(.940,-211, 321));
00536       DecayDB[ 62].push_back(new G4QDecayChan(1.00, 111, 311));
00537     }
00538     if(limit<= 63 && nQ>= 63)    // K_3 +
00539     {
00540       DecayDB[ 63].push_back(new G4QDecayChan(.030, 211, 315));
00541       DecayDB[ 63].push_back(new G4QDecayChan(.060, 111, 325));
00542       DecayDB[ 63].push_back(new G4QDecayChan(.340, 321, 331));
00543       DecayDB[ 63].push_back(new G4QDecayChan(.400, 211, 313));
00544       DecayDB[ 63].push_back(new G4QDecayChan(.520, 111, 323));
00545       DecayDB[ 63].push_back(new G4QDecayChan(.620, 311, 213));
00546       DecayDB[ 63].push_back(new G4QDecayChan(.820, 321, 113));
00547       DecayDB[ 63].push_back(new G4QDecayChan(.940, 211, 311));
00548       DecayDB[ 63].push_back(new G4QDecayChan(1.00, 111, 321));
00549     }
00550     if(limit<= 64 && nQ>= 64)    // phi_3
00551     {
00552       DecayDB[ 64].push_back(new G4QDecayChan(.250, 321,-321));
00553       DecayDB[ 64].push_back(new G4QDecayChan(.500, 311,-311));
00554       DecayDB[ 64].push_back(new G4QDecayChan(.625, 321,-323));
00555       DecayDB[ 64].push_back(new G4QDecayChan(.750,-321, 323));
00556       DecayDB[ 64].push_back(new G4QDecayChan(.875, 311,-313));
00557       DecayDB[ 64].push_back(new G4QDecayChan(1.00,-311, 313));
00558     }
00559     if(limit<= 65 && nQ>= 65)    // DELTA_7/2 -
00560     {
00561       DecayDB[ 65].push_back(new G4QDecayChan(.200, 2112,-213 ));
00562       DecayDB[ 65].push_back(new G4QDecayChan(.320,-211 , 2114));
00563       DecayDB[ 65].push_back(new G4QDecayChan(.500, 111 , 1114));
00564       DecayDB[ 65].push_back(new G4QDecayChan(1.00, 2112,-211 ));
00565     }
00566     if(limit<= 66 && nQ>= 66)    // DELTA_7/2 0
00567     {
00568       DecayDB[ 66].push_back(new G4QDecayChan(.133, 2112, 113 ));
00569       DecayDB[ 66].push_back(new G4QDecayChan(.200, 2212,-213 ));
00570       DecayDB[ 66].push_back(new G4QDecayChan(.360,-211 , 2214));
00571       DecayDB[ 66].push_back(new G4QDecayChan(.480, 211 , 1114));
00572       DecayDB[ 66].push_back(new G4QDecayChan(.500, 111 , 2114));
00573       DecayDB[ 66].push_back(new G4QDecayChan(.666, 2212,-211 ));
00574       DecayDB[ 66].push_back(new G4QDecayChan(1.00, 2112, 111 ));
00575     }
00576     if(limit<= 67 && nQ>= 67)    // DELTA_7/2 +
00577     {
00578       DecayDB[ 67].push_back(new G4QDecayChan(.133, 2112, 213 ));
00579       DecayDB[ 67].push_back(new G4QDecayChan(.200, 2212, 113 ));
00580       DecayDB[ 67].push_back(new G4QDecayChan(.360,-211 , 2224));
00581       DecayDB[ 67].push_back(new G4QDecayChan(.480, 211 , 2114));
00582       DecayDB[ 67].push_back(new G4QDecayChan(.500, 111 , 2214));
00583       DecayDB[ 67].push_back(new G4QDecayChan(.666, 2112, 211 ));
00584       DecayDB[ 67].push_back(new G4QDecayChan(1.00, 2212, 111 ));
00585     }
00586     if(limit<= 68 && nQ>= 68)    // DELTA_7/2 ++
00587     {
00588       DecayDB[ 68].push_back(new G4QDecayChan(.200, 2212, 213 ));
00589       DecayDB[ 68].push_back(new G4QDecayChan(.320, 211 , 2214));
00590       DecayDB[ 68].push_back(new G4QDecayChan(.500, 111 , 2224));
00591       DecayDB[ 68].push_back(new G4QDecayChan(1.00, 2212, 211 ));
00592     }
00593     if(limit<= 69 && nQ>= 69)     // LAMBDA_7/2
00594     {
00595       DecayDB[ 69].push_back(new G4QDecayChan(.160, 3122, 223 ));
00596       DecayDB[ 69].push_back(new G4QDecayChan(.260, 2112,-313 ));
00597       DecayDB[ 69].push_back(new G4QDecayChan(.360, 2212,-323 ));
00598       DecayDB[ 69].push_back(new G4QDecayChan(.400, 3312, 321 ));
00599       DecayDB[ 69].push_back(new G4QDecayChan(.440, 3322, 311 ));
00600       DecayDB[ 69].push_back(new G4QDecayChan(.480, 3122, 221 ));
00601       DecayDB[ 69].push_back(new G4QDecayChan(.520, 2112,-311 ));
00602       DecayDB[ 69].push_back(new G4QDecayChan(.560, 2212,-321 ));
00603       DecayDB[ 69].push_back(new G4QDecayChan(.600, 3112, 211 ));
00604       DecayDB[ 69].push_back(new G4QDecayChan(.800, 3222,-211 ));
00605       DecayDB[ 69].push_back(new G4QDecayChan(1.00, 3212, 111 ));
00606     }
00607     if(limit<= 70 && nQ>= 70)    // SIGMA_7/2 -
00608     {
00609       DecayDB[ 70].push_back(new G4QDecayChan(.030, 2112,-323 ));
00610       DecayDB[ 70].push_back(new G4QDecayChan(.165,-311 , 1114));
00611       DecayDB[ 70].push_back(new G4QDecayChan(.210,-321 , 2114));
00612       DecayDB[ 70].push_back(new G4QDecayChan(.390,-211 , 3124));
00613       DecayDB[ 70].push_back(new G4QDecayChan(.450,-211 , 3214));
00614       DecayDB[ 70].push_back(new G4QDecayChan(.510, 111 , 3114));
00615       DecayDB[ 70].push_back(new G4QDecayChan(.540, 311 , 3314));
00616       DecayDB[ 70].push_back(new G4QDecayChan(.570,-211 , 3212));
00617       DecayDB[ 70].push_back(new G4QDecayChan(.600, 111 , 3112));
00618       DecayDB[ 70].push_back(new G4QDecayChan(.780,-321 , 2112));
00619       DecayDB[ 70].push_back(new G4QDecayChan(1.00,-211 , 3122));
00620     }
00621     if(limit<= 71 && nQ>= 71)    // SIGMA_7/2 0
00622     {
00623       DecayDB[ 71].push_back(new G4QDecayChan(.015, 2112,-313 ));
00624       DecayDB[ 71].push_back(new G4QDecayChan(.030, 2212,-321 ));
00625       DecayDB[ 71].push_back(new G4QDecayChan(.120,-311 , 2114));
00626       DecayDB[ 71].push_back(new G4QDecayChan(.210,-321 , 2214));
00627       DecayDB[ 71].push_back(new G4QDecayChan(.390, 111 , 3124));
00628       DecayDB[ 71].push_back(new G4QDecayChan(.450,-211 , 3224));
00629       DecayDB[ 71].push_back(new G4QDecayChan(.510, 211 , 3114));
00630       DecayDB[ 71].push_back(new G4QDecayChan(.525, 311 , 3324));
00631       DecayDB[ 71].push_back(new G4QDecayChan(.540, 321 , 3314));
00632       DecayDB[ 71].push_back(new G4QDecayChan(.570,-211 , 3222));
00633       DecayDB[ 71].push_back(new G4QDecayChan(.600, 211 , 3112));
00634       DecayDB[ 71].push_back(new G4QDecayChan(.690,-311 , 2112));
00635       DecayDB[ 71].push_back(new G4QDecayChan(.780,-321 , 2212));
00636       DecayDB[ 71].push_back(new G4QDecayChan(1.00, 111 , 3122));
00637     }
00638     if(limit<= 72 && nQ>= 72)    // SIGMA_7/2 +
00639     {
00640       DecayDB[ 72].push_back(new G4QDecayChan(.030, 2212,-313 ));
00641       DecayDB[ 72].push_back(new G4QDecayChan(.165,-321 , 2224));
00642       DecayDB[ 72].push_back(new G4QDecayChan(.210,-311 , 2214));
00643       DecayDB[ 72].push_back(new G4QDecayChan(.390, 211 , 3124));
00644       DecayDB[ 72].push_back(new G4QDecayChan(.450, 211 , 3214));
00645       DecayDB[ 72].push_back(new G4QDecayChan(.510, 111 , 3224));
00646       DecayDB[ 72].push_back(new G4QDecayChan(.540, 321 , 3324));
00647       DecayDB[ 72].push_back(new G4QDecayChan(.570, 211 , 3212));
00648       DecayDB[ 72].push_back(new G4QDecayChan(.600, 111 , 3222));
00649       DecayDB[ 72].push_back(new G4QDecayChan(.780,-311 , 2212));
00650       DecayDB[ 72].push_back(new G4QDecayChan(1.00, 211 , 3122));
00651     }
00652     if(limit<= 73 && nQ>= 73)    // KSI_7/2 -
00653     {
00654       DecayDB[ 73].push_back(new G4QDecayChan(.400, 3112,-311));
00655       DecayDB[ 73].push_back(new G4QDecayChan(.800, 3212,-321));
00656       DecayDB[ 73].push_back(new G4QDecayChan(1.00, 3122,-321));
00657     }
00658     if(limit<= 74 && nQ>= 74)    // KSI_7/2 0
00659     {
00660       DecayDB[ 74].push_back(new G4QDecayChan(.400, 3212,-311));
00661       DecayDB[ 74].push_back(new G4QDecayChan(.800, 3222,-321));
00662       DecayDB[ 74].push_back(new G4QDecayChan(1.00, 3122,-311));
00663     }
00664     if(limit<= 75 && nQ>= 75)    // OMEGA_7/2 -
00665     {
00666       DecayDB[ 75].push_back(new G4QDecayChan(.250,-311 , 3314));
00667       DecayDB[ 75].push_back(new G4QDecayChan(.500,-321 , 3324));
00668       DecayDB[ 75].push_back(new G4QDecayChan(.750, 3312,-313 ));
00669       DecayDB[ 75].push_back(new G4QDecayChan(1.00, 3322,-323 ));
00670     }
00671     if(limit<= 76 && nQ>= 76)    // a_4 0
00672     {
00673       DecayDB[ 76].push_back(new G4QDecayChan(.200, 311,-311));
00674       DecayDB[ 76].push_back(new G4QDecayChan(.400, 321,-321));
00675       DecayDB[ 76].push_back(new G4QDecayChan(.600, 111, 221));
00676       DecayDB[ 76].push_back(new G4QDecayChan(1.00, 111, 211,-211));
00677     }
00678     if(limit<= 77 && nQ>= 77)    // a_4 +
00679     {
00680       DecayDB[ 77].push_back(new G4QDecayChan(.400, 321,-311));
00681       DecayDB[ 77].push_back(new G4QDecayChan(.600, 211, 221));
00682       DecayDB[ 77].push_back(new G4QDecayChan(.800, 211, 211,-211));
00683       DecayDB[ 77].push_back(new G4QDecayChan(1.00, 211, 111, 111));
00684     }
00685     if(limit<= 78 && nQ>= 78)    // f_4 0
00686     {
00687       DecayDB[ 78].push_back(new G4QDecayChan(.020, 333, 333));
00688       DecayDB[ 78].push_back(new G4QDecayChan(.340, 223, 223));
00689       DecayDB[ 78].push_back(new G4QDecayChan(.350, 221, 221));
00690       DecayDB[ 78].push_back(new G4QDecayChan(.360, 311,-311));
00691       DecayDB[ 78].push_back(new G4QDecayChan(.370, 321,-321));
00692       DecayDB[ 78].push_back(new G4QDecayChan(.670, 213,-213));
00693       DecayDB[ 78].push_back(new G4QDecayChan(.820, 113, 113));
00694       DecayDB[ 78].push_back(new G4QDecayChan(.940, 211,-211));
00695       DecayDB[ 78].push_back(new G4QDecayChan(1.00, 111, 111));
00696     }
00697     if(limit<= 79 && nQ>= 79)    // K_4 0
00698     {
00699       DecayDB[ 79].push_back(new G4QDecayChan(.060, 333, 313));
00700       DecayDB[ 79].push_back(new G4QDecayChan(.260, 223, 313));
00701       DecayDB[ 79].push_back(new G4QDecayChan(.380, 313, 113));
00702       DecayDB[ 79].push_back(new G4QDecayChan(.400, 323,-213));
00703       DecayDB[ 79].push_back(new G4QDecayChan(.500, 223, 311));
00704       DecayDB[ 79].push_back(new G4QDecayChan(.550, 311, 113));
00705       DecayDB[ 79].push_back(new G4QDecayChan(.600, 321,-213));
00706       DecayDB[ 79].push_back(new G4QDecayChan(.700, 311, 113));
00707       DecayDB[ 79].push_back(new G4QDecayChan(.800, 321,-213));
00708       DecayDB[ 79].push_back(new G4QDecayChan(.900, 311, 111));
00709       DecayDB[ 79].push_back(new G4QDecayChan(1.00, 321,-211));
00710     }
00711     if(limit<= 80 && nQ>= 80)    // K_4 +
00712     {
00713       DecayDB[ 80].push_back(new G4QDecayChan(.060, 333, 323));
00714       DecayDB[ 80].push_back(new G4QDecayChan(.260, 223, 323));
00715       DecayDB[ 80].push_back(new G4QDecayChan(.380, 313, 213));
00716       DecayDB[ 80].push_back(new G4QDecayChan(.400, 323, 113));
00717       DecayDB[ 80].push_back(new G4QDecayChan(.500, 223, 321));
00718       DecayDB[ 80].push_back(new G4QDecayChan(.550, 321, 113));
00719       DecayDB[ 80].push_back(new G4QDecayChan(.600, 311, 213));
00720       DecayDB[ 80].push_back(new G4QDecayChan(.700, 311, 211));
00721       DecayDB[ 80].push_back(new G4QDecayChan(.800, 321, 111));
00722       DecayDB[ 80].push_back(new G4QDecayChan(.900, 311, 211));
00723       DecayDB[ 80].push_back(new G4QDecayChan(1.00, 321, 111));
00724     }
00725     if(limit<=81&&nQ>=81)DecayDB[81].push_back(new G4QDecayChan(1., 333,333));//phi_4(2300)
00726     if(limit<=82&&nQ>=82)DecayDB[82].push_back(new G4QDecayChan(1.,2212, 2224));//pDelta++
00727     if(limit<=83&&nQ>=83)DecayDB[83].push_back(new G4QDecayChan(1.,2112, 1114));//nDelta-
00728     if(limit<=84&&nQ>=84)DecayDB[84].push_back(new G4QDecayChan(1.,2224, 2224));//D++D++
00729     if(limit<=85&&nQ>=85)DecayDB[85].push_back(new G4QDecayChan(1.,1114, 1114));//Del-Del-
00730     if(limit<=86&&nQ>=86)DecayDB[86].push_back(new G4QDecayChan(1.,2212,2212,2224));//ppD++
00731     if(limit<=87&&nQ>=87)DecayDB[87].push_back(new G4QDecayChan(1.,2112,2112,1114));//nnD-
00732     if(limit<=88&&nQ>=88)DecayDB[88].push_back(new G4QDecayChan(1.,2212,2224,2224));//p2D++
00733     if(limit<=89&&nQ>=89)DecayDB[89].push_back(new G4QDecayChan(1.,2112,1114,1114));//nD-D-
00734     //if(limit<=90&&nQ>=90)DecayDB[90] = 0; // neutron (n) as a quark exchange fragment
00735     //if(limit<=91&&nQ>=91)DecayDB[91] = 0; // proton (p)  as a quark exchange fragment
00736     //if(limit<=92&&nQ>=92)DecayDB[92] = 0; // neutron (L/Sigma0) as aQuarkExchangeFragment
00737     //if(limit<=93&&nQ>=93)DecayDB[93] = 0; // neutron (Sigma-) as a quarkExchangeFragment
00738     //if(limit<=94&&nQ>=94)DecayDB[94] = 0; // neutron (Sigma+) as a quarkExchangeFragment
00739     //if(limit<=95&&nQ>=95)DecayDB[95] = 0; // neutron (Xi-) as a quark exchange fragment
00740     //if(limit<=96&&nQ>=96)DecayDB[96] = 0; // neutron (Xi0) as a quark exchange fragment
00741     //if(limit<=97&&nQ>=97)DecayDB[97] = 0; // neutron (Omega-) as a quarkExchangeFragment
00742     if(limit<=98&&nQ>=98)DecayDB[98].push_back(new G4QDecayChan(1.,2112, 2112)); //nn (src)
00743     if(limit<=99&&nQ>=99)DecayDB[99].push_back(new G4QDecayChan(1.,2212, 2112)); //d/pn(?)
00744     if(limit<=100&&nQ>=100)DecayDB[100].push_back(new G4QDecayChan(1.,2212,2212));//pp(src)
00745     if(limit<=101&&nQ>=101)DecayDB[101].push_back(new G4QDecayChan(1.,3122,2112));//Ln
00746     if(limit<=102&&nQ>=102)DecayDB[102].push_back(new G4QDecayChan(1.,3122,2212));//Lp
00747     if(limit<=104&&nQ>=104)DecayDB[104].push_back(new G4QDecayChan(1.,3112,2112));//nSig-
00748     if(limit<=103&&nQ>=103)DecayDB[103].push_back(new G4QDecayChan(1.,3122,3122));//LL
00749     if(limit<=105&&nQ>=105)DecayDB[105].push_back(new G4QDecayChan(1.,3222,2212));//pSig+
00750     //if(limit<=106&&nQ>=106)DecayDB[106] = 0; // t
00751     //if(limit<=107&&nQ>=107)DecayDB[107] = 0; // He3
00752     //Lnn=>Lambda+n+n decay to avoid the final state Hypernucleus
00753     if(limit<=108&&nQ>=108)DecayDB[108].push_back(new G4QDecayChan(1.,3122,2112,2112));
00754     if(limit<=109&&nQ>=109)DecayDB[109].push_back(new G4QDecayChan(1.,3122,90001001));// Ld
00755     //Lpp=>Lambda+p+p decay to avoid the final state Hypernucleus
00756     if(limit<=110&&nQ>=110)DecayDB[110].push_back(new G4QDecayChan(1.,3122,2212,2212));
00757     //LLn=>Lambda+Lambda+n decay to avoid the final state Hypernucleus
00758     if(limit<=111&&nQ>=111)DecayDB[111].push_back(new G4QDecayChan(1.,3122,3122,2112));
00759     //LLp=>Lambda+Lambda+p decay to avoid the final state Hypernucleus
00760     if(limit<=112&&nQ>=112)DecayDB[112].push_back(new G4QDecayChan(1.,3122,3122,2212));
00761     // nnSigma-=>n+n+Sigma- decay to avoid the final state Hypernucleus
00762     if(limit<=113&&nQ>=113)DecayDB[113].push_back(new G4QDecayChan(1.,2112,2112,3112));
00763     // ------- Nuclear fragments
00764     //if(limit<=114 && nQ>=114)
00765     //{
00766     //  if(limit<114) limit=101;
00767     //  for (int i=limit; i<nQ; i++) DecayDB[i] = 0;
00768     //}
00769     //Update the limit
00770     limit=nQ+1;
00771 #ifdef debug
00772     G4cout<<"G4QParticle::InitDecayVector: limit is set to "<<limit<<G4endl;
00773 #endif
00774   }
00775   //if(!nQ)G4cout<<"G4QParticle::InitDecayVector:Q=0,nD="<<DecayDB[abs(nQ)].size()<<G4endl;
00776   return DecayDB[std::abs(nQ)];
00777 }

void G4QParticle::InitPDGParticle ( G4int  thePDGCode  ) 

Definition at line 789 of file G4QParticle.cc.

References G4QPDGCode::GetQCode(), G4QPDGCode::GetQuarkContent(), and InitDecayVector().

00790 {
00791   aQPDG      = G4QPDGCode(thePDGCode);
00792   aQuarkCont = aQPDG.GetQuarkContent();
00793   aDecay     = InitDecayVector(aQPDG.GetQCode());
00794 }

void G4QParticle::InitQParticle ( G4int  theQCode  ) 

Definition at line 780 of file G4QParticle.cc.

References G4QPDGCode::GetQuarkContent(), G4QPDGCode::InitByQCode(), and InitDecayVector().

00781 {
00782   aQPDG.InitByQCode(theQCode);
00783   aQuarkCont = aQPDG.GetQuarkContent();
00784   aDecay     = InitDecayVector(theQCode);
00785   //if(!theQCode)G4cout<<"G4QPar::InitQP:PDG="<<GetPDGCode()<<",n="<<aDecay.size()<<G4endl;
00786 }

G4double G4QParticle::MinMassOfFragm (  )  [inline]

Definition at line 113 of file G4QParticle.hh.

References GetMass(), and GetWidth().

Referenced by G4Quasmon::DecayQHadron(), G4QIonIonCollision::Fragment(), G4QFragmentation::Fragment(), and G4QHadron::RandomizeMass().

00114 {
00115   G4int nCh=aDecay.size();
00116   G4double mass=GetMass();
00117   G4double min=mass;
00118   if(nCh)
00119   {
00120     min=aDecay[0]->GetMinMass();
00121     if(nCh>1) for(G4int j=1; j<nCh; j++)
00122     {
00123       G4double next=aDecay[j]->GetMinMass();
00124       if(next<min) min=next;
00125     }
00126   }
00127   G4double w=GetWidth();
00128   G4double lim=mass+.001;
00129   if(w)   lim-=1.5*w;
00130   if(min<lim) min=lim;
00131   return min;
00132 }

G4bool G4QParticle::operator!= ( const G4QParticle rhs  )  const [inline]

Definition at line 99 of file G4QParticle.hh.

00099 {return this!=&rhs;}

const G4QParticle & G4QParticle::operator= ( const G4QParticle right  ) 

Definition at line 107 of file G4QParticle.cc.

References aDecay, aQPDG, and aQuarkCont.

00108 {
00109   if(this != &right)                          // Beware of self assignment
00110   {
00111     aQPDG                = right.aQPDG;
00112     //aDecay (Vector)
00113     G4int iD             = aDecay.size();
00114     if(iD) for(G4int jd=0; jd<iD; jd++) delete aDecay[jd];
00115     aDecay.clear();
00116     G4int nD             = right.aDecay.size();
00117     if(nD) for(G4int id=0; id<nD; id++)
00118     {
00119       G4QDecayChan* curD = new G4QDecayChan(right.aDecay[id]);
00120       aDecay.push_back(curD);
00121     }
00122 
00123     aQuarkCont           = right.aQuarkCont;
00124   }
00125   return *this;
00126 }

G4bool G4QParticle::operator== ( const G4QParticle rhs  )  const [inline]

Definition at line 98 of file G4QParticle.hh.

00098 {return this==&rhs;}


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:53:13 2013 for Geant4 by  doxygen 1.4.7