Import Geant4 5.0.0 source tree
This commit is contained in:
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Chips.hh,v 1.10 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4Chips.hh,v 1.11 2002/12/12 19:14:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4Chips ----------------
|
||||
// by Mikhail Kossov, September 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QCHIPSWorld.hh,v 1.10 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QCHIPSWorld.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCHIPSWorld ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+4
-5
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QCandidate.hh,v 1.13 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QCandidate.hh,v 1.15 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidate ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
@@ -118,8 +118,7 @@ inline void G4QCandidate::ClearParClustVector()
|
||||
|
||||
inline void G4QCandidate::FillPClustVec(G4QParentCluster* pCl)
|
||||
{
|
||||
G4QParentCluster* npCl = new G4QParentCluster(pCl);
|
||||
thePClusters.push_back(npCl); // Fill new instance of PCl
|
||||
thePClusters.push_back(pCl); // Fill new instance of PCl
|
||||
}
|
||||
inline void G4QCandidate::SetPossibility(G4bool choice) {possible=choice;}
|
||||
inline void G4QCandidate::SetParPossibility(G4bool choice) {parPossible=choice;}
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QCandidateVector.hh,v 1.11 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QCandidateVector.hh,v 1.12 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QChipolino.hh,v 1.9 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QChipolino.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QChipolino ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QContent.hh,v 1.14 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QContent.hh,v 1.15 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QContent ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QDecayChan.hh,v 1.9 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QDecayChan.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QDecayChan ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QDecayChanVector.hh,v 1.8 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QDecayChanVector.hh,v 1.9 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QEnvironment.hh,v 1.9 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QEnvironment.hh,v 1.10 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QEnvironment ----------------
|
||||
// by Mikhail Kossov, August 2000.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QHadron.hh,v 1.15 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QHadron.hh,v 1.17 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QHadron ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
G4QHadron(G4QParticle* pPart, G4double maxM); // Constructor for a resonance with RANDOM m
|
||||
G4QHadron(const G4QHadron& right); // Copy constructor by object
|
||||
G4QHadron(G4QHadron* right); // Copy constructor by pointer
|
||||
~G4QHadron(); // Destructor
|
||||
virtual ~G4QHadron(); // Destructor
|
||||
// Operators
|
||||
const G4QHadron& operator=(const G4QHadron& right);
|
||||
G4int operator==(const G4QHadron& right) const;
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QHadronVector.hh,v 1.10 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QHadronVector.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QNucleus.hh,v 1.12 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QNucleus.hh,v 1.13 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QNucleus ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QPDGCode.hh,v 1.11 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QPDGCode.hh,v 1.12 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QPDGCode ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QPDGCodeVector.hh,v 1.8 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QPDGCodeVector.hh,v 1.9 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParentCluster.hh,v 1.10 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParentCluster.hh,v 1.11 2002/12/12 19:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QParentCluster ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParentClusterVector.hh,v 1.8 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParentClusterVector.hh,v 1.9 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParticle.hh,v 1.10 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParticle.hh,v 1.11 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QParticle ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParticleVector.hh,v 1.8 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParticleVector.hh,v 1.9 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidateVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QSelector.hh,v 1.7 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QSelector.hh,v 1.8 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QSelector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Quasmon.hh,v 1.19 2001/11/26 14:11:45 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4Quasmon.hh,v 1.19.10.1 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4Quasmon ----------------
|
||||
// by Mikhail Kossov, July 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QuasmonVector.hh,v 1.9 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QuasmonVector.hh,v 1.10 2002/12/12 19:14:32 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QuasmonVector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QCHIPSWorld.cc,v 1.17 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QCHIPSWorld.cc,v 1.19 2002/12/12 19:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCHIPSWorld ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
@@ -73,7 +73,7 @@ G4QParticleVector* G4QCHIPSWorld::InitCHIPSWorld(G4int nOfParts)
|
||||
{
|
||||
static G4int mnofParts = 486; // max number of particles (up to A=80)
|
||||
static G4QParticleVector theWorld; // *** A body of the CHIPS World ***
|
||||
static int init = 0; // Initialization counter (private)
|
||||
static G4int init = 0; // Initialization counter (private)
|
||||
#ifdef debug
|
||||
G4cout<<"G4QCHIPSWorld::InitCHIPSWorld: n="<<nOfParts<<" particles, init="<<init<<G4endl;
|
||||
#endif
|
||||
@@ -84,12 +84,12 @@ G4QParticleVector* G4QCHIPSWorld::InitCHIPSWorld(G4int nOfParts)
|
||||
#endif
|
||||
G4int curNP=theWorld.size();
|
||||
if(curNP<0) curNP=0;
|
||||
if(!init++||nOfParts>curNP) // Initialize for increasing CHIPS World
|
||||
if(!init++||nOfParts>curNP) // Initialization for increasing CHIPS World
|
||||
{
|
||||
if (nOfParts>mnofParts)
|
||||
{
|
||||
nOfParts=mnofParts;
|
||||
G4cerr<<"***G4QCHIPSWorld::InitCHIPSWorld: nOfParts="<<nOfParts<<" >"<<mnofParts<<G4endl;
|
||||
nOfParts=mnofParts;
|
||||
}
|
||||
if (nOfParts<10) nOfParts=10; // Minimal number of particles for Vacuum
|
||||
#ifdef debug
|
||||
@@ -99,19 +99,19 @@ G4QParticleVector* G4QCHIPSWorld::InitCHIPSWorld(G4int nOfParts)
|
||||
{
|
||||
G4QParticle* curPart = new G4QParticle; // Created
|
||||
curPart->InitQParticle(i); // ||
|
||||
theWorld.push_back(curPart); // Filled (forever but once)
|
||||
theWorld.push_back(curPart); // Filled (forever but only once)
|
||||
#ifdef debug
|
||||
G4cout<<"G4QCHIPSWorld::InitCHIPSWorld: Particle#"<<i<<"(of "<<nOfParts<<") done"<<endl;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if (nOfParts<0)
|
||||
{
|
||||
G4std::for_each(theWorld.begin(), theWorld.end(), DeleteQParticle());
|
||||
theWorld.clear();
|
||||
init=0;
|
||||
}
|
||||
else init--;
|
||||
else init--; // Recover the init pointer if nothing was done
|
||||
}
|
||||
else if (nOfParts<0) // Cleaning up the CHIPS Word (a possibility)
|
||||
{
|
||||
G4std::for_each(theWorld.begin(), theWorld.end(), DeleteQParticle());
|
||||
theWorld.clear();
|
||||
init=0;
|
||||
}
|
||||
return &theWorld;
|
||||
}
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QCandidate.cc,v 1.18 2001/12/13 12:04:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QCandidate.cc,v 1.19 2002/12/12 19:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QCandidate ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QChipolino.cc,v 1.14 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QChipolino.cc,v 1.15 2002/12/12 19:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QChipolino ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QContent.cc,v 1.20 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QContent.cc,v 1.21 2002/12/12 19:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QContent ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QDecayChan.cc,v 1.14 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QDecayChan.cc,v 1.15 2002/12/12 19:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QDecayChan ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+690
-675
File diff suppressed because it is too large
Load Diff
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QHadron.cc,v 1.22 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QHadron.cc,v 1.25 2002/12/12 19:14:34 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QHadron ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
@@ -149,9 +149,13 @@ G4bool G4QHadron::RelDecayIn2(G4LorentzVector& f4Mom, G4LorentzVector& s4Mom,
|
||||
G4double sM = sqrt(sM2); // Mass of the 2nd Hadron
|
||||
G4double iM2 = theMomentum.m2();
|
||||
G4double iM = sqrt(iM2); // Mass of the decaying hadron
|
||||
if(theMomentum.e()<theMomentum.rho())G4cerr<<"*G4QH::RDIn2:*Boost* 4M="<<theMomentum<<",e-p="
|
||||
<<theMomentum.e()-theMomentum.rho()<<G4endl;
|
||||
G4ThreeVector ltb = theMomentum.boostVector(); // Boost vector for backward Lorentz Trans.
|
||||
G4ThreeVector ltf = -ltb; // Boost vector for forward Lorentz Trans.
|
||||
G4LorentzVector cdir = dir; // A copy to make a transformation to CMS
|
||||
if(cdir.e()+.001<cdir.rho())G4cerr<<"*G4QH::RDIn2:*Boost* cd4M="<<cdir<<",e-p="
|
||||
<<cdir.e()-cdir.rho()<<G4endl;
|
||||
cdir.boost(ltf); // Direction transpormed to CMS of the Momentum
|
||||
G4ThreeVector vdir = cdir.vect(); // 3-Vector of the direction-particle
|
||||
#ifdef debug
|
||||
@@ -216,7 +220,11 @@ G4bool G4QHadron::RelDecayIn2(G4LorentzVector& f4Mom, G4LorentzVector& s4Mom,
|
||||
#ifdef debug
|
||||
G4cout<<"G4QHadron::RelDecayIn2: p2="<<p2<<",v="<<ltb<<",f4Mom="<<f4Mom<<",s4Mom="<<s4Mom<<G4endl;
|
||||
#endif
|
||||
if(f4Mom.e()+.001<f4Mom.rho())G4cerr<<"*G4QH::RDIn2:*Boost* f4M="<<f4Mom<<",e-p="
|
||||
<<f4Mom.e()-f4Mom.rho()<<G4endl;
|
||||
f4Mom.boost(ltb); // Lor.Trans. of 1st hadron back to LS
|
||||
if(s4Mom.e()+.001<s4Mom.rho())G4cerr<<"*G4QH::RDIn2:*Boost* s4M="<<s4Mom<<",e-p="
|
||||
<<s4Mom.e()-s4Mom.rho()<<G4endl;
|
||||
s4Mom.boost(ltb); // Lor.Trans. of 2nd hadron back to LS
|
||||
#ifdef debug
|
||||
G4cout<<"G4QHadron::RelDecayIn2: ROOT OUTPUT f4Mom="<<f4Mom<<", s4Mom="<<s4Mom<<G4endl;
|
||||
@@ -275,13 +283,21 @@ G4bool G4QHadron::DecayIn2(G4LorentzVector& f4Mom, G4LorentzVector& s4Mom)
|
||||
f4Mom.setE(sqrt(fM2+p2));
|
||||
s4Mom.setVect((-1)*pVect);
|
||||
s4Mom.setE(sqrt(sM2+p2));
|
||||
|
||||
|
||||
if(theMomentum.e()<theMomentum.rho())
|
||||
{
|
||||
G4cerr<<"*G4QH::DecIn2:*Boost* 4M="<<theMomentum<<",e-p="
|
||||
<<theMomentum.e()-theMomentum.rho()<<G4endl;
|
||||
//G4Exception("***G4QHadron::DecayIn2: Decay of particle with zero mass");
|
||||
}
|
||||
G4ThreeVector ltb = theMomentum.boostVector(); // Boost vector for backward Lor.Trans.
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4QHadron::DecayIn2: LorTransform v="<<ltb<<", f4Mom="<<f4Mom<<", s4Mom="<<s4Mom<<G4endl;
|
||||
G4cout<<"G4QHadron::DecIn2: LorTransform v="<<ltb<<", f4Mom="<<f4Mom<<", s4Mom="<<s4Mom<<G4endl;
|
||||
#endif
|
||||
if(f4Mom.e()+.001<f4Mom.rho())G4cerr<<"*G4QH::DecIn2:*Boost* f4M="<<f4Mom<<G4endl;
|
||||
f4Mom.boost(ltb); // Lor.Trans. of 1st hadron back to LS
|
||||
s4Mom.boost(ltb); // Lor.Trans. of 2nd hadron back to LS
|
||||
if(s4Mom.e()+.001<s4Mom.rho())G4cerr<<"*G4QH::DecIn2:*Boost* s4M="<<s4Mom<<G4endl;
|
||||
s4Mom.boost(ltb); // Lor.Trans. of 2nd hadron back to LS
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4QHadron::DecayIn2: ROOT OUTPUT f4Mom="<<f4Mom<<", s4Mom="<<s4Mom<<G4endl;
|
||||
#endif
|
||||
@@ -325,9 +341,12 @@ G4bool G4QHadron::CorMDecayIn2(G4double corM, G4LorentzVector& fr4Mom)
|
||||
p2=0.;
|
||||
}
|
||||
G4double p = sqrt(p2);
|
||||
if(comp.e()<comp.rho())G4cerr<<"*G4QH::CorMDecayIn2:*Boost* comp4M="<<comp<<",e-p="
|
||||
<<comp.e()-comp.rho()<<G4endl;
|
||||
G4ThreeVector ltb = comp.boostVector(); // Boost vector for backward Lor.Trans.
|
||||
G4ThreeVector ltf = -ltb; // Boost vector for forward Lorentz Trans.
|
||||
G4LorentzVector cm4Mom=fr4Mom; // Copy of fragment 4Mom to transform to CMS
|
||||
if(cm4Mom.e()+.001<cm4Mom.rho())G4cerr<<"*G4QH::CorMDecayIn2:*Boost* cm4M="<<cm4Mom<<G4endl;
|
||||
cm4Mom.boost(ltf); // Now it is in CMS (Forward Lor.Trans.)
|
||||
G4double pfx= cm4Mom.px();
|
||||
G4double pfy= cm4Mom.py();
|
||||
@@ -372,7 +391,9 @@ G4bool G4QHadron::CorMDecayIn2(G4double corM, G4LorentzVector& fr4Mom)
|
||||
G4LorentzVector dif2=comp-fr4Mom-Momentum;
|
||||
G4cout<<"G4QHadron::CorMDecayIn2:vBLT="<<ltb<<",f4M="<<fr4Mom<<",h4M="<<theMomentum<<dif1<<G4endl;
|
||||
#endif
|
||||
if(fr4Mom.e()+.001<fr4Mom.rho())G4cerr<<"*G4QH::VorMDecIn2:*Boost* fr4M="<<fr4Mom<<G4endl;
|
||||
fr4Mom.boost(ltb); // Lor.Trans. of the Fragment back to LS
|
||||
if(theMomentum.e()+.001<theMomentum.rho())G4cerr<<"*G4QH::CMDIn2:*Boost*4M="<<theMomentum<<G4endl;
|
||||
theMomentum.boost(ltb); // Lor.Trans. of the Hadron back to LS
|
||||
#ifdef pdebug
|
||||
G4LorentzVector dif2=comp-fr4Mom-Momentum;
|
||||
@@ -451,10 +472,17 @@ G4bool G4QHadron::DecayIn3(G4LorentzVector& f4Mom,G4LorentzVector& s4Mom,G4Loren
|
||||
while (rnd > rR)
|
||||
{
|
||||
m12s = m12sMin + m12sBase*G4UniformRand();
|
||||
G4double e1=m12s-fM2-sM2;
|
||||
G4double e1=m12s+fM2-sM2;
|
||||
G4double e2=iM2-m12s-tM2;
|
||||
G4double four12=4*m12s;
|
||||
G4double m13sRange=sqrt((e1*e1-four12*fM2)*(e2*e2-four12*tM2))/m12s;
|
||||
G4double m13sRange=0.;
|
||||
G4double dif=(e1*e1-four12*fM2)*(e2*e2-four12*tM2);
|
||||
if(dif<0.)
|
||||
{
|
||||
if(dif<-.01) G4cerr<<"*G4QHadron::DecayIn3: iM="<<iM<<", tM="<<tM<<", sM="<<sM<<", fM="<<fM
|
||||
<<", m12(s+f)="<<sqrt(m12s)<<", d="<<iM-fM-sM-tM<<G4endl;
|
||||
}
|
||||
else m13sRange=sqrt(dif)/m12s;
|
||||
rR = m13sRange/m13sBase;
|
||||
rnd= G4UniformRand();
|
||||
#ifdef debug
|
||||
@@ -494,7 +522,7 @@ G4double G4QHadron::RandomizeMass(G4QParticle* pPart, G4double maxM)
|
||||
if(maxM<meanM-3*width)
|
||||
{
|
||||
#ifdef debug
|
||||
G4cerr<<"***G4QHadron::RandMass: maxM="<<maxM<<" < meanM="<<meanM<<" - 3*halfW="<<width<<G4endl;
|
||||
G4cerr<<"***G4QHadr::RandMass:m=0 maxM="<<maxM<<"< meanM="<<meanM<<" - 3*halfW="<<width<<G4endl;
|
||||
#endif
|
||||
return 0.;
|
||||
}
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QNucleus.cc,v 1.26 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QNucleus.cc,v 1.28 2002/12/12 19:14:34 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QNucleus ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
@@ -555,14 +555,14 @@ G4bool G4QNucleus::SplitBaryon()
|
||||
if(baryn<2) return false;
|
||||
//G4double totM=GetGSMass(); // GS Mass value of the Nucleus
|
||||
G4double totM=Get4Momentum().m(); // Real Mass value of the Nucleus
|
||||
G4QContent valQ=GetQCZNS(); // Quark Content of the Nucleus
|
||||
G4QContent valQC=GetQCZNS(); // Quark Content of the Nucleus
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4QNucleus::SplitBaryon: B="<<baryn<<", M="<<totM<<valQ<<G4endl;
|
||||
G4cout<<"G4QNucleus::SplitBaryon: B="<<baryn<<", M="<<totM<<valQC<<G4endl;
|
||||
#endif
|
||||
G4int NQ=valQ.GetN();
|
||||
G4int NQ=valQC.GetN();
|
||||
if(NQ) // ===> "Can try to split a neutron" case
|
||||
{
|
||||
G4QContent resQC=valQ-neutQC; // QC of Residual for the Neutron
|
||||
G4QContent resQC=valQC-neutQC; // QC of Residual for the Neutron
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual for the Neutron
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual
|
||||
G4double sM=resMas+mNeut;
|
||||
@@ -571,10 +571,10 @@ G4bool G4QNucleus::SplitBaryon()
|
||||
#endif
|
||||
if(sM<totM) return true;
|
||||
}
|
||||
G4int PQ=valQ.GetP();
|
||||
G4int PQ=valQC.GetP();
|
||||
if(PQ) // ===> "Can try to split a proton" case
|
||||
{
|
||||
G4QContent resQC=valQ-protQC; // QC of Residual for the Proton
|
||||
G4QContent resQC=valQC-protQC; // QC of Residual for the Proton
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual for the Proton
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual
|
||||
G4double CB=CoulombBarrier(1,1); // Coulomb Barrier for the proton
|
||||
@@ -585,10 +585,10 @@ G4bool G4QNucleus::SplitBaryon()
|
||||
#endif
|
||||
if(sM<totM) return true;
|
||||
}
|
||||
G4int LQ=valQ.GetL();
|
||||
G4int LQ=valQC.GetL();
|
||||
if(LQ) // ===> "Can try to split a lambda" case
|
||||
{
|
||||
G4QContent resQC=valQ-lambQC; // QC of Residual for the Lambda
|
||||
G4QContent resQC=valQC-lambQC; // QC of Residual for the Lambda
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual for the Lambda
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual
|
||||
G4double sM=resMas+mLamb;
|
||||
@@ -600,7 +600,7 @@ G4bool G4QNucleus::SplitBaryon()
|
||||
G4int AQ=NQ+PQ+LQ;
|
||||
if(NQ>0&&PQ>0&&AQ>2) // ===> "Can try to split an deuteron" case
|
||||
{
|
||||
G4QContent resQC=valQ-deutQC; // QC of Residual for the Deuteron
|
||||
G4QContent resQC=valQC-deutQC; // QC of Residual for the Deuteron
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual for the Deuteron
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual
|
||||
G4double CB=CoulombBarrier(1,2); // Coulomb Barrier for the Deuteron
|
||||
@@ -613,7 +613,7 @@ G4bool G4QNucleus::SplitBaryon()
|
||||
}
|
||||
if(NQ>1&&PQ>1&&AQ>4) // ===> "Can try to split an alpha" case
|
||||
{
|
||||
G4QContent resQC=valQ-alphQC; // QC of Residual for the Alpha
|
||||
G4QContent resQC=valQC-alphQC; // QC of Residual for the Alpha
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual for the Alpha
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual
|
||||
G4double CB=CoulombBarrier(2,4); // Coulomb Barrier for the Alpha
|
||||
@@ -639,14 +639,14 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
G4int baryn=GetA(); // Baryon Number of the Nucleus
|
||||
if(baryn<3) return false;
|
||||
G4double totM=Get4Momentum().m(); // Real Mass value of the Nucleus
|
||||
G4QContent valQ=GetQCZNS(); // Quark Content of the Nucleus
|
||||
G4QContent valQC=GetQCZNS(); // Quark Content of the Nucleus
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4QNucleus::Split2Baryons: B="<<baryn<<", M="<<totM<<valQ<<G4endl;
|
||||
G4cout<<"G4QNucleus::Split2Baryons: B="<<baryn<<", M="<<totM<<valQC<<G4endl;
|
||||
#endif
|
||||
G4int NQ=valQ.GetN();
|
||||
G4int NQ=valQC.GetN();
|
||||
if(NQ>1) // ===> "Can try to split two neutrons" case
|
||||
{
|
||||
G4QContent resQC=valQ-neutQC-neutQC; // QC of Residual Nucleus for the Two Neutrons
|
||||
G4QContent resQC=valQC-neutQC-neutQC; // QC of Residual Nucleus for the Two Neutrons
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Two Neutrons
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mNeut+mNeut;
|
||||
@@ -655,10 +655,10 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
#endif
|
||||
if(sM<totM) return true;
|
||||
}
|
||||
G4int PQ=valQ.GetP();
|
||||
G4int PQ=valQC.GetP();
|
||||
if(PQ>1) // ===> "Can try to split two protons" case
|
||||
{
|
||||
G4QContent resQC=valQ-protQC-protQC; // QC of Residual Nucleus for the Two Protons
|
||||
G4QContent resQC=valQC-protQC-protQC; // QC of Residual Nucleus for the Two Protons
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Two Proton
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mProt+mProt;
|
||||
@@ -669,7 +669,7 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
}
|
||||
if(PQ&&NQ) // ===> "Can try to split proton+neutron" case
|
||||
{
|
||||
G4QContent resQC=valQ-protQC-neutQC; // QC of Residual Nucleus for the Proton+Neutron
|
||||
G4QContent resQC=valQC-protQC-neutQC; // QC of Residual Nucleus for the Proton+Neutron
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Proton+Neutron
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mProt+mNeut;
|
||||
@@ -678,10 +678,10 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
#endif
|
||||
if(sM<totM) return true;
|
||||
}
|
||||
G4int LQ=valQ.GetL();
|
||||
G4int LQ=valQC.GetL();
|
||||
if(LQ&&NQ) // ===> "Can try to split lambda+neutron" case
|
||||
{
|
||||
G4QContent resQC=valQ-lambQC-neutQC; // QC of Residual Nucleus for the Lambda+Neutron
|
||||
G4QContent resQC=valQC-lambQC-neutQC; // QC of Residual Nucleus for the Lambda+Neutron
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Lambda+Neutron
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mLamb+mNeut;
|
||||
@@ -692,7 +692,7 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
}
|
||||
if(LQ&&PQ) // ===> "Can try to split lambda+proton" case
|
||||
{
|
||||
G4QContent resQC=valQ-protQC-lambQC; // QC of Residual Nucleus for the Proton+Lambda
|
||||
G4QContent resQC=valQC-protQC-lambQC; // QC of Residual Nucleus for the Proton+Lambda
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Proton+Lambda
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mProt+mLamb;
|
||||
@@ -703,7 +703,7 @@ G4bool G4QNucleus::Split2Baryons()
|
||||
}
|
||||
if(LQ>1) // ===> "Can try to split two lambdas" case
|
||||
{
|
||||
G4QContent resQC=valQ-lambQC-lambQC; // QC of Residual Nucleus for the Two Lambdas
|
||||
G4QContent resQC=valQC-lambQC-lambQC; // QC of Residual Nucleus for the Two Lambdas
|
||||
G4int resPDG=resQC.GetSPDGCode(); // PDG of Residual Nucleus for the Two Lambdas
|
||||
G4double resMas=G4QPDGCode(resPDG).GetMass(); // GS Mass of the Residual Nucleus
|
||||
G4double sM=resMas+mLamb+mLamb;
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QPDGCode.cc,v 1.27 2002/06/13 09:12:22 jwellisc Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QPDGCode.cc,v 1.28 2002/12/12 19:14:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QPDGCode ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParentCluster.cc,v 1.13 2001/11/26 14:11:46 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParentCluster.cc,v 1.14 2002/12/12 19:14:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QParentCluster ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QParticle.cc,v 1.17 2001/11/26 14:11:47 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QParticle.cc,v 1.17.10.1 2002/12/12 19:14:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QParticle ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QSelector.cc,v 1.14 2001/11/26 14:11:47 hpw Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4QSelector.cc,v 1.15 2002/12/12 19:14:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4QSelector ----------------
|
||||
// by Mikhail Kossov, Sept 1999.
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Quasmon.cc,v 1.39 2002/06/13 09:12:22 jwellisc Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4Quasmon.cc,v 1.45.4.1 2002/12/12 19:14:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
// ---------------- G4Quasmon ----------------
|
||||
// by Mikhail Kossov, July 1999.
|
||||
@@ -31,6 +31,7 @@
|
||||
|
||||
//#define debug
|
||||
//#define pdebug
|
||||
//#define psdebug
|
||||
//#define ppdebug
|
||||
//#define tdebug
|
||||
//#define sdebug
|
||||
@@ -144,21 +145,10 @@ G4Quasmon::G4Quasmon(G4Quasmon* right)
|
||||
|
||||
G4Quasmon::~G4Quasmon()
|
||||
{
|
||||
G4int nCan=theQCandidates.size();
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Quasmon::Destructor before theQCandidates nC="<<nCan<<G4endl;
|
||||
G4cout<<"G4Quasmon::Destructor before theQCandidates delete"<<G4endl;
|
||||
#endif
|
||||
if(nCan) for (G4int ic=0; ic<nCan; ic++)
|
||||
{
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Quasmon::Destructor delete the QCandidate #"<<ic<<G4endl;
|
||||
#endif
|
||||
delete theQCandidates[ic];
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Quasmon::Destructor after delete"<<G4endl;
|
||||
#endif
|
||||
}
|
||||
//theQCandidates.clearAndDestroy();
|
||||
G4std::for_each(theQCandidates.begin(), theQCandidates.end(), DeleteQCandidate());
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Quasmon::Destructor before theQHadrons"<<G4endl;
|
||||
#endif
|
||||
@@ -415,7 +405,10 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
else q4Mom.setE(p);
|
||||
}
|
||||
G4double quasM= sqrt(qM2); // Current mass of Quasmon
|
||||
G4double qurF=quasM/(q4Mom.e()-q4Mom.rho()); // Factor for k Lor.Trans. to LS
|
||||
G4double tmpEq=q4Mom.e(); // Energy of Quasmon
|
||||
G4double tmpPq=q4Mom.rho(); // Momentum of Quasmon
|
||||
if(tmpEq<tmpPq) G4cerr<<"*G4Q::HQ:*Boost* q4M="<<q4Mom<<",P="<<tmpPq<<" > E="<<tmpEq<<G4endl;
|
||||
G4double qurF=quasM/(tmpEq-tmpPq); // Factor for k Lor.Trans. to LS
|
||||
G4ThreeVector qltb = q4Mom.boostVector(); // Boost vector for backward Lor.Trans. in LS
|
||||
//////////G4double b2=qltb.mag2(); // beta^2 of Quasmon
|
||||
#ifdef debug
|
||||
@@ -480,6 +473,7 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
G4int totPDG=totN.GetPDG(); // Total PDG Code for the Current compound
|
||||
G4cout<<"G4Q::HQ: tPDG="<<totPDG<<",tM="<<totMass<<",rPDG="<<resNPDG<<G4endl;
|
||||
#endif
|
||||
if(tot4M.e()<tot4M.rho()) G4cerr<<"*G4Q::HQ:*Boost* tot4M="<<tot4M<<G4endl;
|
||||
G4ThreeVector totBoost = tot4M.boostVector(); // Boost vector for Total System (backward)
|
||||
G4ThreeVector totRBoost= -totBoost; // Boost vector for Total System (forward)
|
||||
G4int iniPDG =valQ.GetSPDGCode();
|
||||
@@ -759,6 +753,11 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
cost = 1.-rnc-rnc;
|
||||
}
|
||||
G4double cQM2=qM2-(kMom+kMom)*quasM;
|
||||
if(cQM2<0.)
|
||||
{
|
||||
if(cQM2<-.0001) G4cerr<<"**G4Q::HQ:(PhBack) cQM2="<<cQM2<<" < 0"<<G4endl;
|
||||
cQM2=0.;
|
||||
}
|
||||
G4double cQM=sqrt(cQM2); // Mass of the coloured residual Quasmom
|
||||
k4Mom=zeroLV;
|
||||
cr4Mom=G4LorentzVector(0.,0.,0.,cQM);
|
||||
@@ -1133,8 +1132,8 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
else // ===> "Hadron" case
|
||||
{
|
||||
pBaryn=1;
|
||||
sMass = theQCandidates[i]->GetMass(); // Mass is randomized on probability level
|
||||
sM2=theQCandidates[i]->GetMass2(); // Sq. Mass is randomized on probability level
|
||||
sMass = theQCandidates[i]->GetNBMass(); // Mass is randomized on probability level
|
||||
sM2=sMass*sMass; ; // Sq. Mass is randomized on probability level
|
||||
curQ-= theQCandidates[i]->GetQC(); // Subtract outHadron QC from QC of Quasmon
|
||||
#ifdef debug
|
||||
G4cout<<"G4Q::HQ:valQ="<<valQ<<" - sQ="<<theQCandidates[i]->GetQC()<<",sM="<<sMass<<"(PDG="
|
||||
@@ -2023,7 +2022,8 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
}
|
||||
G4double dm=quasM-sMass;
|
||||
#ifdef debug
|
||||
G4cout<<"G4Q::HQ:f="<<fprob<<",d="<<dm<<",rPDG="<<rPDG<<",rM="<<rMass<<",M="<<reMass<<G4endl;
|
||||
G4cout<<"G4Q::HQ:f="<<fprob<<",d="<<dm<<",rPDG="<<rPDG<<",rM="<<rMass<<",M="<<reMass
|
||||
<<",sM="<<sMass<<G4endl;
|
||||
#endif
|
||||
if(abs(dm)<.000001)
|
||||
{
|
||||
@@ -2043,12 +2043,23 @@ G4QHadronVector G4Quasmon::HadronizeQuasmon(G4QNucleus& qEnv, G4int nQuasms)
|
||||
if(rPDG!=10&&rMass>dm&&!rWi) // Try to use a width of the h-resonance or reduce its spin state
|
||||
{
|
||||
G4double sWi=G4QPDGCode(sPDG).GetWidth();
|
||||
G4double sMM=G4QPDGCode(sPDG).GetMass();
|
||||
if(sWi) // Hadron is a resonance
|
||||
{
|
||||
G4double ddm=quasM-rMass;
|
||||
if(sMass-ddm<1.5*sWi-.01)
|
||||
if(fabs(sMM-ddm)<1.5*sWi-.001)
|
||||
{
|
||||
#ifdef debug
|
||||
G4double msm=sMass;
|
||||
#endif
|
||||
sMass=GetRandomMass(sPDG,ddm); // Randomize mass of the Reson-Hadron
|
||||
if(fabs(sMass)<.001)
|
||||
{
|
||||
#ifdef debug
|
||||
G4cerr<<"***G4Q::HQ: CHANGE to M=0, sPDG="<<sPDG<<",dm="<<ddm<<",M_old="<<msm<<G4endl;
|
||||
#endif
|
||||
sMass=ddm;
|
||||
}
|
||||
#ifdef debug
|
||||
G4cout<<"G4Q::HQ: "<<sPDG<<" mass's changed to "<<sMass<<",d="<<ddm<<",W="<<sWi<<G4endl;
|
||||
#endif
|
||||
@@ -2592,8 +2603,12 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH)
|
||||
phot4M=zeroLV;
|
||||
G4int thePDG = qH->GetPDGCode(); // Get PDG code of the Hadron to switch
|
||||
G4LorentzVector t = qH->Get4Momentum(); // 4-Mom of Chipolino
|
||||
#ifdef ppdebug
|
||||
G4cout<<"G4Quasmon::FillHadronVector:Hadron's PDG="<<thePDG<<",4Mom="<<qH->Get4Momentum()<<G4endl;
|
||||
#ifdef psdebug
|
||||
if(thePDG==113) G4cerr<<"G4Q::FillHadronVector: PDG="<<thePDG<<",M="<<t.m()<<G4endl;
|
||||
if(thePDG==113&&fabs(t.m()-770.)<.001) G4Exception("G4Quasmon::FillHadronVector: Zero rho");
|
||||
#endif
|
||||
#ifdef tdebug
|
||||
G4cout<<"G4Quasmon::FillHadronVector:Hadron's PDG="<<thePDG<<",4Mom="<<t<<",m="<<t.m()<<G4endl;
|
||||
#endif
|
||||
if(thePDG>80000000 && (thePDG<90000000 || thePDG%1000>500 || thePDG%1000000>500000)
|
||||
&& thePDG!=90002999 && thePDG!=89999003 && thePDG!=90003998 && thePDG!=89998004
|
||||
@@ -2658,15 +2673,15 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH)
|
||||
FillHadronVector(sHadr); // Fill 2nd Hadron (delete equivalent)
|
||||
}
|
||||
}
|
||||
// pD++,nD-,ppD++,nnD-,D++D++,D-D-,pD++D++,nD-D- "nuclear states"
|
||||
else if(thePDG>80000000 &&
|
||||
thePDG==90002999&&thePDG==89999003&&thePDG==90003999&&thePDG==89999004&&thePDG==90003998&&
|
||||
thePDG==89998004&&thePDG==90004998&&thePDG==89998005 && !DecayOutHadron(qH))
|
||||
{
|
||||
#ifdef pdebug
|
||||
G4cout<<"***G4Quasmon::FillHadronVector: Emergency OUTPUT, PDGcode= "<<thePDG<<G4endl;
|
||||
// pD++,nD-,ppD++,nnD-,D++D++,D-D-,pD++D++,nD-D- "iso nuclear states"
|
||||
//else if(thePDG>80000000 && (thePDG==90002999 || thePDG==89999003 || thePDG==90003999 ||
|
||||
// thePDG==89999004 || thePDG==90003998 || thePDG==89998004 ||
|
||||
// thePDG==90004998 || thePDG==89998005) && !DecayOutHadron(qH))
|
||||
//{
|
||||
#ifdef tdebug
|
||||
// G4cout<<"G4Quasmon::FillHadronVector: Decay of isonuclear state, PDGcode= "<<thePDG<<G4endl;
|
||||
#endif
|
||||
}
|
||||
//}
|
||||
else if(thePDG>80000000&&thePDG!=90000000) // === Decay-Evaporation of the BarionicFragment ===
|
||||
{
|
||||
G4double fragMas=qH->GetMass(); // Real Mass of the nuclear fragment
|
||||
@@ -2910,16 +2925,19 @@ void G4Quasmon::FillHadronVector(G4QHadron* qH)
|
||||
delete rHadron;
|
||||
theQHadrons.push_back(qH); // Fill hadron in the HadronVector as it is
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4Quasm::FillHadrVec:Done b="<<bHadron->GetQPDG()<<",r="<<rHadron->GetQPDG()<<G4endl;
|
||||
#endif
|
||||
//qH->SetNFragments(2); // Fill a#of fragments to decaying Hadron
|
||||
//theQHadrons.push_back(qH); // Fill hadron with nf=2 (delete equivalent)
|
||||
// Instead
|
||||
delete qH;
|
||||
//
|
||||
FillHadronVector(bHadron); // Fill Evapor. Baryon (delete equivalent)
|
||||
FillHadronVector(rHadron); // Fill Residual Nucl. (delete equivalent)
|
||||
//qH->SetNFragments(2); // Fill a#of fragments to decaying Hadron
|
||||
//theQHadrons.push_back(qH); // Fill hadron with nf=2 (delete equivalent)
|
||||
// Instead
|
||||
delete qH;
|
||||
//
|
||||
FillHadronVector(bHadron); // Fill Evapor. Baryon (delete equivalent)
|
||||
FillHadronVector(rHadron); // Fill Residual Nucl. (delete equivalent)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(!DecayOutHadron(qH)) // (delete equivalent)
|
||||
@@ -3287,7 +3305,7 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
G4bool pos=curCand->GetPossibility()&&totMass>tmpTM+frM;
|
||||
//G4bool pos=curCand->GetPossibility();
|
||||
#ifdef pdebug
|
||||
if(cPDG==111||cPDG==90001000||cPDG==90000001||cPDG==90000002||cPDG==90001001||cPDG==90002002)
|
||||
//if(cPDG==111||cPDG==90001000||cPDG==90000001||cPDG==90000002||cPDG==90001001||cPDG==90002002)
|
||||
G4cout<<"G4Q::CHP:==*****==>>>c="<<cPDG<<",dUD="<<dUD<<",pos="<<pos<<",eA="<<envA<<G4endl;
|
||||
#endif
|
||||
if(pos&&(cPDG<80000000||(cPDG>80000000&&cPDG!=90000000&&dUD<2))) // 2 (OK) or 3
|
||||
@@ -3466,7 +3484,7 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
#endif
|
||||
if(resPDG&&minM>0.) // Kinematical analysis of hadronization
|
||||
{
|
||||
#ifdef debug
|
||||
#ifdef pdebug
|
||||
if(baryn<5)G4cout<<"G4Q::CHP: fM="<<frM<<",bM="<<boundM<<",rM="<<tmpTM<<",tM="
|
||||
<<totMass<<G4endl;
|
||||
#endif
|
||||
@@ -3799,8 +3817,7 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Q::CalcHP: FillParentClaster="<<*curParC<<G4endl;
|
||||
#endif
|
||||
curCand->FillPClustVec(curParC);//Fill possible ParentClust to FragmVector
|
||||
delete curParC;
|
||||
curCand->FillPClustVec(curParC);//Fill ParentClust to ParClVector (delete eq.)
|
||||
comb += probab;
|
||||
#ifdef sdebug
|
||||
G4cout<<"G4Q::CHP:i="<<index<<",cC="<<cPDG<<",pc"<<pc<<parQC<<",E="
|
||||
@@ -3849,27 +3866,31 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
G4double resTM=G4QPDGCode(resTQC.GetSPDGCode()).GetMass();
|
||||
#ifdef pdebug
|
||||
G4int aPDG = abs(cPDG);
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:***>>>PDG="<<cPDG<<",cQC="<<candQC<<",comb="<<comb<<",rQC="<<curQ<<G4endl;
|
||||
#endif
|
||||
if (resPDG==221 && (mQ<683.|| absb)) resPDG=111;// pi0 minimum residual instead of eta
|
||||
if (resPDG==111 && (mQ>683.&&!absb)) resPDG=221;// eta minimum residual instead of pi0
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:cPDG="<<cPDG<<",comb="<<comb<<",rPDG="<<resPDG<<curQ<<", tM="
|
||||
<<totMass<<">"<<frM-CB+resTM<<"=fM="<<frM<<"+RM="<<resTM<<"-CB="<<CB<<G4endl;
|
||||
#endif
|
||||
if(comb&&resPDG && totMass>frM-CB+resTM &&(resPDG>80000000&&resPDG!=90000000||resPDG<10000))
|
||||
{
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:ind="<<index<<",Q="<<valQ<<mQ<<",c="<<cPDG<<",r="<<resPDG<<curQ<<G4endl;
|
||||
#endif
|
||||
if(resPDG!=10)resM=G4QPDGCode(resPDG).GetMass();// PDG mean mass for the resid. hadron
|
||||
else resM=G4QChipolino(curQ).GetMass(); // Chipolino mass for the residual hadron
|
||||
G4int resQCode=G4QPDGCode(curQ).GetQCode();
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP: RQMass/QC="<<resM<<curQ<<",ePDG="<<envPDGC<<",rQC="<<resQCode<<G4endl;
|
||||
#endif
|
||||
//if(envPDGC>80000000 && envPDGC!=90000000 && resM>0. && aPDG>1000 && // @@??
|
||||
@@ -3881,7 +3902,8 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
G4double rtM =rtN.GetMZNS(); // Min Mass of total residual Nucleus
|
||||
G4double bnRQ=rtM-envM; // Bound mass of residual Quasmon
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP: **Recalculate** RQMass="<<bnRQ<<",envM="<<envM<<",rtM="<<rtM<<G4endl;
|
||||
#endif
|
||||
// ***VRQ***
|
||||
@@ -3893,15 +3915,16 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
G4double rndM=GetRandomMass(cPDG,limM);// Candidate's Mass randomization
|
||||
#ifdef pdebug
|
||||
G4double cMass=G4QPDGCode(cPDG).GetMass();
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:rndM="<<rndM<<",limM="<<limM<<" > cM="<<cMass<<" ,rM+fM="<<resM+rndM
|
||||
<<" < mQ="<<mQ<<G4endl;
|
||||
#endif
|
||||
// --- Kinematical Factors ---
|
||||
if(rndM>0. && resM+rndM<mQ)
|
||||
{
|
||||
curCand->SetEBMass(rndM); // Set a Randomized Mass value of the Candidate
|
||||
curCand->SetNBMass(rndM); // Set a Randomized Mass value of the Candidate
|
||||
curCand->SetEBMass(rndM); // Set a Randomized EnvBoundedMass of the Candidate
|
||||
curCand->SetNBMass(rndM); // Set a Randomized NotBoundedMass of the Candidate
|
||||
G4double mH2 = rndM*rndM; // Squared mass of the candidate (Mu2)
|
||||
G4double rHk = mH2/dk;
|
||||
G4double zMax = 1.-rHk/mQ; // z_max
|
||||
@@ -3910,7 +3933,8 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
if(qBar) zMin= mR2/mQ/(mQ-dk); // z_min for Quasmon-Baryon
|
||||
G4double possibility=zMax-zMin;
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:M="<<rndM<<",pos="<<possibility<<",za="<<zMax<<",rH="<<rHk<<",mQ="
|
||||
<<mQ<<","<<dk<<",zi="<<zMin<<",mR2="<<mR2<<","<<resM<<";"<<mQ*(mQ-dk)<<G4endl;
|
||||
#endif
|
||||
@@ -3923,7 +3947,8 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
{
|
||||
probability = vaf*(pow(zMax, vap)-pow(zMin, vap));
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:#"<<index<<",m2="<<mH2<<",n="<<nOfQ<<",p="<<probability
|
||||
<<",vaf="<<vaf<<",vap="<<vap<<",zMax="<<zMax<<",zMin="<<zMin<<G4endl;
|
||||
#endif
|
||||
@@ -3946,7 +3971,8 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
else
|
||||
{
|
||||
#ifdef pdebug
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:cM=0["<<cPDG<<"],mQ="<<mQ<<valQ<<",rM="<<resM<<curQ<<G4endl;
|
||||
#endif
|
||||
}
|
||||
@@ -3954,6 +3980,7 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
else
|
||||
{
|
||||
#ifdef pdebug
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
G4cout<<"***G4Q::CHP:M=0,#"<<index<<valQ<<",cP="<<cPDG<<"+rP="<<resPDG<<curQ<<G4endl;
|
||||
#endif
|
||||
@@ -3963,6 +3990,7 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
{
|
||||
probability=0.;
|
||||
#ifdef pdebug
|
||||
//if(aPDG<10000&&aPDG%10<3)
|
||||
if(aPDG<10000&&aPDG%10<3)
|
||||
G4cout<<"G4Q::CHP:"<<index<<valQ<<",c="<<cPDG<<"+r="<<resPDG<<curQ<<":comb=0 || tM="
|
||||
<<totMass<<"<"<<frM-CB+resTM<<" = fM="<<frM<<"+RM="<<resTM<<"-CB="<<CB<< G4endl;
|
||||
@@ -3973,7 +4001,8 @@ void G4Quasmon::CalculateHadronizationProbabilities(G4double E, G4double kVal, G
|
||||
else probability=0.;
|
||||
#ifdef pdebug
|
||||
G4int aPDG = abs(cPDG);
|
||||
if(cPDG>90000000&&baryn<5||aPDG<10000&&aPDG%10<3)
|
||||
//if(cPDG>90000000&&baryn<5||aPDG<10000&&aPDG%10<3)
|
||||
if(cPDG>90000000&&baryn<5||aPDG<10000&&aPDG%10<5)
|
||||
G4cout<<"G4Q::CHP:^^^cPDG="<<cPDG<<",pos="<<pos<<",rPDG="<<resPDG<<curQ<<resM<<", p="
|
||||
<<probability<<", s="<<accumulatedProbability<<",sp="<<secondProbab<<G4endl;
|
||||
#endif
|
||||
@@ -4130,13 +4159,12 @@ G4bool G4Quasmon::CheckGroundState(G4bool corFlag) // Correction is forbidden by
|
||||
G4cout<<"G4Quasm::CheckGS: NO, tM="<<totNMa<<" > rp+l="<<resLastM+hadrMa<<" || > rl+p="
|
||||
<<resPrevM+prevMa<<G4endl;
|
||||
#endif
|
||||
if (totNMa>resLastM+hadrMa) // "Just exclude the Last" case
|
||||
if (totNMa>resLastM+hadrMa) // "Just exclude the Prev" case
|
||||
{
|
||||
theQHadrons.pop_back(); // the LastH is excluded from OUTPUT HV
|
||||
theQHadrons.pop_back(); // the PrevH is excluded from OUTPUT HV
|
||||
theQHadrons.push_back(theLast); // LastH substitute Prev H in OUTPUT HV
|
||||
G4QHadron* destrP=thePrev; // destruction Pointer for the QHadron
|
||||
delete destrP; // the Last QHadron is destructed
|
||||
theQHadrons.pop_back(); // the theLast* is excluded from OUTPUT HV
|
||||
theQHadrons.pop_back(); // the thePrev* is excluded from OUTPUT HV
|
||||
theQHadrons.push_back(theLast); // theLast substitutes thePrev in OUTPUT HV
|
||||
delete thePrev; // thePrev QHadron is destructed
|
||||
thePrev=theLast;
|
||||
resPPDG=resLPDG;
|
||||
resPrevM=resLastM;
|
||||
@@ -4394,7 +4422,7 @@ G4bool G4Quasmon::DecayOutHadron(G4QHadron* qHadron, G4int DFlag)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef pdebug
|
||||
#ifdef tdebug
|
||||
G4cout<<"G4Quasmon::DecayOutHadron: Fill PDG= "<<thePDG<<t<<m<<" as it is ***0***>>>>"<<G4endl;
|
||||
#endif
|
||||
if(thePDG==89999003||thePDG==90002999) G4cerr<<"***(1)***G4Q::DOH:8999003/90002999"<<G4endl;
|
||||
@@ -4442,13 +4470,13 @@ G4QHadronVector* G4Quasmon::Fragment(G4QNucleus& nucEnviron, G4int nQ)
|
||||
#ifdef pdebug
|
||||
G4cout<<"G4Quasmon::Fragment after HadronizeQuasmon nH="<<nHadrs<<G4endl;
|
||||
#endif
|
||||
G4QHadronVector* theFragments = new G4QHadronVector;
|
||||
G4QHadronVector* theFragments = new G4QHadronVector; // user is responsible for delition !!
|
||||
if(nHadrs) for (int hadron=0; hadron<nHadrs; hadron++)
|
||||
{
|
||||
G4QHadron* curHadr = new G4QHadron(theQHadrons[hadron]);
|
||||
theFragments->push_back(curHadr); // (delete equivalent - user)
|
||||
}
|
||||
#ifdef pdebug
|
||||
#ifdef ppdebug
|
||||
else G4cerr<<"*******G4Quasmon::Fragment *** Nothing is in the output ***"<<G4endl;
|
||||
#endif
|
||||
return theFragments;
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+3
-3
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
@@ -22,8 +22,8 @@
|
||||
//
|
||||
//
|
||||
//
|
||||
// $Id: G4ElectroNuclearReaction.hh,v 1.13 2002/06/20 08:43:58 jwellisc Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4ElectroNuclearReaction.hh,v 1.14 2002/12/12 19:16:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
// GEANT4 physics class: G4ElectroNuclearReaction -- header file
|
||||
|
||||
+3
-3
@@ -14,15 +14,15 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GammaNuclearReaction.hh,v 1.8 2002/06/06 10:44:13 jwellisc Exp $
|
||||
// GEANT4 tag $Name: geant4-04-01 $
|
||||
// $Id: G4GammaNuclearReaction.hh,v 1.9 2002/12/12 19:16:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-00 $
|
||||
//
|
||||
//
|
||||
// GEANT4 physics class: G4GammaNuclearReaction -- header file
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * authors in the GEANT4 collaboration. *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
|
||||
Reference in New Issue
Block a user