Import Geant4 10.5.0 source tree
This commit is contained in:
@@ -28,7 +28,6 @@
|
||||
|
||||
// HPW Feb1999 based on prototype, needs urgent clean-up of data structures.
|
||||
// Also needs clean-up of interfaces.
|
||||
// @@@@@@@@@@@@@@@@@
|
||||
// clean-up of data structures
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
+4
-15
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QGSDiffractiveExcitation.hh 107867 2017-12-07 14:44:07Z gcosmo $
|
||||
|
||||
#ifndef G4QGSDiffractiveExcitation_h
|
||||
#define G4QGSDiffractiveExcitation_h 1
|
||||
@@ -50,24 +49,16 @@ class G4ExcitedString;
|
||||
|
||||
class G4QGSDiffractiveExcitation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
public:
|
||||
G4QGSDiffractiveExcitation();
|
||||
virtual ~G4QGSDiffractiveExcitation();
|
||||
|
||||
virtual G4bool ExciteParticipants (G4VSplitableHadron * aPartner,
|
||||
G4VSplitableHadron * bPartner, // Uzhi Oct. 2016
|
||||
G4bool ProjectileDiffraction=TRUE) const; // Uzhi Oct. 2016 , G4bool ProjectileDiffraction
|
||||
G4VSplitableHadron * bPartner,
|
||||
G4bool ProjectileDiffraction=TRUE) const;
|
||||
virtual G4ExcitedString * String(G4VSplitableHadron * aHadron, G4bool isProjectile) const;
|
||||
|
||||
// void SetPtWidth(G4double aValue) { widthOfPtSquare = aValue*aValue; }
|
||||
// void SetExtraMass(G4double aValue) { minExtraMass = aValue; }
|
||||
// void SetMinimumMass(G4double aValue) { minmass = aValue; }
|
||||
|
||||
|
||||
private:
|
||||
|
||||
private:
|
||||
G4QGSDiffractiveExcitation(const G4QGSDiffractiveExcitation &right);
|
||||
|
||||
G4double ChooseP(G4double Pmin, G4double Pmax) const;
|
||||
@@ -77,8 +68,6 @@ private:
|
||||
const G4QGSDiffractiveExcitation & operator=(const G4QGSDiffractiveExcitation &right);
|
||||
int operator==(const G4QGSDiffractiveExcitation &right) const;
|
||||
int operator!=(const G4QGSDiffractiveExcitation &right) const;
|
||||
|
||||
private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+12
-16
@@ -40,8 +40,7 @@
|
||||
|
||||
class G4QGSMSplitableHadron : public G4VSplitableHadron
|
||||
{
|
||||
|
||||
public:
|
||||
public:
|
||||
G4QGSMSplitableHadron();
|
||||
G4QGSMSplitableHadron(const G4ReactionProduct & aPrimary);
|
||||
G4QGSMSplitableHadron(const G4ReactionProduct & aPrimary, G4bool Direction);
|
||||
@@ -50,17 +49,17 @@ public:
|
||||
|
||||
virtual ~G4QGSMSplitableHadron();
|
||||
|
||||
private:
|
||||
private:
|
||||
const G4QGSMSplitableHadron & operator=(const G4QGSMSplitableHadron &right);
|
||||
|
||||
public:
|
||||
public:
|
||||
virtual void SplitUp();
|
||||
virtual void SetFirstParton(G4int PDGcode); // Uzhi 24.11.10
|
||||
virtual void SetSecondParton(G4int PDGcode); // Uzhi 24.11.10
|
||||
virtual void SetFirstParton(G4int PDGcode);
|
||||
virtual void SetSecondParton(G4int PDGcode);
|
||||
virtual G4Parton * GetNextParton();
|
||||
virtual G4Parton * GetNextAntiParton();
|
||||
|
||||
private:
|
||||
private:
|
||||
void InitParameters();
|
||||
void DiffractiveSplitUp();
|
||||
void SoftSplitUp();
|
||||
@@ -71,23 +70,21 @@ private:
|
||||
G4Parton * BuildSeaQuark(G4bool isAntiQuark, G4int aPDGCode, G4int nSeaPair);
|
||||
G4double SampleX(G4double anXmin, G4int nSea, G4int theTotalSea, G4double aBeta);
|
||||
|
||||
private:
|
||||
private:
|
||||
// aggregated data
|
||||
G4bool Direction; // FALSE is target. - candidate for more detailed design. @@@@ HPW
|
||||
G4bool Direction; // FALSE is target. - candidate for more detailed design.
|
||||
|
||||
std::deque<G4Parton *> Color;
|
||||
std::deque<G4Parton *> AntiColor;
|
||||
//std::deque<G4Parton *>::iterator iP; // Uzhi
|
||||
//std::deque<G4Parton *>::iterator iAP; // Uzhi
|
||||
unsigned int iP; // Uzhi 5.06.2015
|
||||
unsigned int iAP; // Uzhi 5.06.2015
|
||||
private:
|
||||
unsigned int iP;
|
||||
unsigned int iAP;
|
||||
|
||||
private:
|
||||
// associated classes
|
||||
G4MesonSplitter theMesonSplitter;
|
||||
G4BaryonSplitter theBaryonSplitter;
|
||||
|
||||
private:
|
||||
private:
|
||||
// model parameters
|
||||
G4double alpha;
|
||||
G4double beta;
|
||||
@@ -122,4 +119,3 @@ inline void G4QGSMSplitableHadron::SetSecondParton(G4int PDGcode)
|
||||
{PDGcode++;}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -45,38 +45,29 @@
|
||||
#include "G4SoftStringBuilder.hh"
|
||||
#include "G4PartonPair.hh"
|
||||
|
||||
//***********************************************************************************************
|
||||
|
||||
|
||||
//*****************************************************************************************
|
||||
|
||||
template<class ParticipantType>
|
||||
class G4QGSModel : public G4VPartonStringModel
|
||||
{
|
||||
// Constructors
|
||||
public:
|
||||
{
|
||||
public:
|
||||
G4QGSModel();
|
||||
virtual ~G4QGSModel();
|
||||
G4QGSModel(const G4QGSModel &right);
|
||||
G4QGSModel& operator=(const G4QGSModel &right);
|
||||
|
||||
// Method
|
||||
public:
|
||||
public:
|
||||
virtual G4V3DNucleus* GetWoundedNucleus() const;
|
||||
virtual G4V3DNucleus* GetProjectileNucleus() const; // Uzhi Nov. 2012
|
||||
virtual G4V3DNucleus* GetProjectileNucleus() const;
|
||||
virtual void Init(const G4Nucleus& Nucleus, const G4DynamicParticle& Projectile);
|
||||
virtual G4ExcitedStringVector * GetStrings();
|
||||
virtual void ModelDescription(std::ostream& outFile) const;
|
||||
|
||||
private:
|
||||
ParticipantType theParticipants;
|
||||
G4DiffractiveStringBuilder theDiffractiveStringBuilder;
|
||||
G4SoftStringBuilder theSoftStringBuilder;
|
||||
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------------------------
|
||||
|
||||
private:
|
||||
ParticipantType theParticipants;
|
||||
G4DiffractiveStringBuilder theDiffractiveStringBuilder;
|
||||
G4SoftStringBuilder theSoftStringBuilder;
|
||||
};
|
||||
|
||||
//*****************************************************************************************
|
||||
|
||||
@@ -84,4 +75,3 @@ private:
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
|
||||
//****************************************************************************************************************
|
||||
//************************************************************************************************
|
||||
template<class ParticipantType>
|
||||
G4QGSModel<ParticipantType>::G4QGSModel()
|
||||
{
|
||||
@@ -119,5 +119,5 @@ void G4QGSModel<ParticipantType>::ModelDescription(std::ostream& outFile) const
|
||||
<< "into quarks and di-quarks, the formation and excitation of\n"
|
||||
<< "quark-gluon strings, string hadronization and diffractive dissociation.\n";
|
||||
}
|
||||
//*********************************************************************************************************************
|
||||
//************************************************************************************************
|
||||
|
||||
|
||||
@@ -36,14 +36,14 @@
|
||||
#include "G4QGSMSplitableHadron.hh"
|
||||
#include "G4V3DNucleus.hh"
|
||||
|
||||
#include "G4VSplitableHadron.hh" // Uzhi
|
||||
#include "G4VSplitableHadron.hh"
|
||||
|
||||
#include "G4Reggeons.hh"
|
||||
#include "G4QuarkExchange.hh"
|
||||
|
||||
class G4QGSParticipants : public G4VParticipants
|
||||
{
|
||||
public:
|
||||
public:
|
||||
G4QGSParticipants();
|
||||
G4QGSParticipants(const G4QGSParticipants &right);
|
||||
const G4QGSParticipants & operator=(const G4QGSParticipants &right);
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
void BuildInteractions(const G4ReactionProduct &thePrimary);
|
||||
void StartPartonPairLoop();
|
||||
|
||||
private:
|
||||
private:
|
||||
G4V3DNucleus* GetTargetNucleus() const;
|
||||
G4V3DNucleus* GetProjectileNucleus() const;
|
||||
|
||||
@@ -108,7 +108,7 @@ private:
|
||||
|
||||
void CreateStrings();
|
||||
|
||||
private:
|
||||
private:
|
||||
// Set parameters of nuclear destruction
|
||||
void SetCofNuclearDestruction( const G4double aValue );
|
||||
void SetR2ofNuclearDestruction( const G4double aValue );
|
||||
@@ -129,14 +129,14 @@ private:
|
||||
G4double GetPt2ofNuclearDestruction();
|
||||
G4double GetMaxPt2ofNuclearDestruction();
|
||||
|
||||
protected:
|
||||
protected:
|
||||
virtual G4VSplitableHadron* SelectInteractions(const G4ReactionProduct &thePrimary);
|
||||
void SplitHadrons();
|
||||
void PerformSoftCollisions();
|
||||
void PerformDiffractiveCollisions();
|
||||
G4bool DeterminePartonMomenta();
|
||||
|
||||
protected:
|
||||
protected:
|
||||
struct DeleteInteractionContent {void operator()(G4InteractionContent*aC){delete aC;}};
|
||||
std::vector<G4InteractionContent*> theInteractions;
|
||||
struct DeleteSplitableHadron{void operator()(G4VSplitableHadron*aS){delete aS;}};
|
||||
@@ -144,14 +144,15 @@ protected:
|
||||
struct DeletePartonPair{void operator()(G4PartonPair*aP){delete aP;}};
|
||||
std::vector<G4PartonPair*> thePartonPairs;
|
||||
|
||||
G4QuarkExchange theQuarkExchange; // Uzhi 20 Oct. 2016
|
||||
G4QuarkExchange theQuarkExchange;
|
||||
G4SingleDiffractiveExcitation theSingleDiffExcitation;
|
||||
G4QGSDiffractiveExcitation theDiffExcitaton;
|
||||
G4int ModelMode;
|
||||
|
||||
G4ThreeVector theBoost;
|
||||
G4double SampleX(G4double anXmin, G4int nSea, G4int theTotalSea, G4double aBeta);
|
||||
protected:
|
||||
|
||||
protected:
|
||||
// model parameters HPW
|
||||
enum { SOFT, DIFFRACTIVE };
|
||||
enum { ALL, WITHOUT_R, NON_DIFF }; // Interaction modes
|
||||
@@ -162,12 +163,13 @@ protected:
|
||||
const G4double QGSMThreshold;
|
||||
const G4double theNucleonRadius;
|
||||
|
||||
G4ThreeVector theCurrentVelocity; // Uzhi 17 Apr. 2015 Is it needed?
|
||||
G4ThreeVector theCurrentVelocity;
|
||||
G4QGSMSplitableHadron* theProjectileSplitable;
|
||||
private:
|
||||
|
||||
private:
|
||||
G4ReactionProduct theProjectile;
|
||||
|
||||
G4Reggeons* Regge; // Uzhi 18 Oct. 2016
|
||||
G4Reggeons* Regge;
|
||||
G4int InteractionMode;
|
||||
|
||||
G4double alpha;
|
||||
@@ -191,7 +193,7 @@ private:
|
||||
G4int TargetResidualCharge;
|
||||
G4double TargetResidualExcitationEnergy;
|
||||
|
||||
private:
|
||||
private:
|
||||
// Parameters of nuclear destruction
|
||||
G4double CofNuclearDestruction; // Cnd of nuclear destruction
|
||||
G4double R2ofNuclearDestruction; // R2nd
|
||||
@@ -201,7 +203,6 @@ private:
|
||||
G4double DofNuclearDestruction; // D for momentum sampling
|
||||
G4double Pt2ofNuclearDestruction; // Pt2
|
||||
G4double MaxPt2ofNuclearDestruction; // Max Pt2
|
||||
|
||||
};
|
||||
|
||||
inline void G4QGSParticipants::StartPartonPairLoop()
|
||||
@@ -216,7 +217,6 @@ inline G4PartonPair* G4QGSParticipants::GetNextPartonPair()
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
inline void G4QGSParticipants::SplitHadrons()
|
||||
{
|
||||
unsigned int i;
|
||||
@@ -225,13 +225,6 @@ inline void G4QGSParticipants::SplitHadrons()
|
||||
theInteractions[i]->SplitHadrons();
|
||||
}
|
||||
}
|
||||
//--------------------------------------
|
||||
//Uzhi Copy from FTF Model.hh
|
||||
/*
|
||||
inline G4V3DNucleus* G4QGSParticipants::GetWoundedNucleus() const {
|
||||
return theNucleus;
|
||||
}
|
||||
*/
|
||||
|
||||
inline G4V3DNucleus* G4QGSParticipants::GetTargetNucleus() const {
|
||||
return theNucleus;
|
||||
@@ -295,4 +288,3 @@ inline G4double G4QGSParticipants::GetMaxPt2ofNuclearDestruction() {
|
||||
//Uzhi End copy from FTFparameters
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4QuarkExchange.hh 66241 2012-12-13 18:34:42Z gunter $
|
||||
|
||||
#ifndef G4QuarkExchange_h
|
||||
#define G4QuarkExchange_h 1
|
||||
@@ -48,15 +47,13 @@ class G4ExcitedString;
|
||||
|
||||
class G4QuarkExchange
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
public:
|
||||
G4QuarkExchange();
|
||||
~G4QuarkExchange();
|
||||
|
||||
G4bool ExciteParticipants (G4VSplitableHadron *aPartner, G4VSplitableHadron * bPartner) const;
|
||||
|
||||
private:
|
||||
private:
|
||||
G4QuarkExchange(const G4QuarkExchange &right);
|
||||
|
||||
G4ThreeVector GaussianPt(G4double widthSquare, G4double maxPtSquare) const;
|
||||
@@ -64,7 +61,6 @@ private:
|
||||
const G4QuarkExchange & operator=(const G4QuarkExchange &right);
|
||||
int operator==(const G4QuarkExchange &right) const;
|
||||
int operator!=(const G4QuarkExchange &right) const;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#ifndef G4Reggeons_h
|
||||
#define G4Reggeons_h 1
|
||||
//
|
||||
// $Id: G4Reggeons.hh 96940 2016-05-18 09:44:20Z ribon $
|
||||
//
|
||||
#include "G4Proton.hh"
|
||||
#include "G4Neutron.hh"
|
||||
@@ -46,7 +45,6 @@
|
||||
|
||||
class G4Reggeons
|
||||
{
|
||||
|
||||
public:
|
||||
G4Reggeons(const G4ParticleDefinition * );
|
||||
|
||||
@@ -94,9 +92,9 @@ class G4Reggeons
|
||||
G4double Freggeon_Alpha, Freggeon_Alphaprime, Freggeon_Gamma, Freggeon_Rsquare, Freggeon_C, FParity;
|
||||
G4double Wreggeon_Alpha, Wreggeon_Alphaprime, Wreggeon_Gamma, Wreggeon_Rsquare, Wreggeon_C, WParity;
|
||||
|
||||
G4double C_pomeron; // = pomeron_Cpr * pomeron_Ctr // Uzhi Oct. 2016
|
||||
G4double Cpr_pomeron; // shower enhancement in projectile vertex // Uzhi Oct. 2016
|
||||
G4double Ctr_pomeron; // shower enhancement in target vertex // Uzhi Oct. 2016
|
||||
G4double C_pomeron; // = pomeron_Cpr * pomeron_Ctr
|
||||
G4double Cpr_pomeron; // shower enhancement in projectile vertex
|
||||
G4double Ctr_pomeron; // shower enhancement in target vertex
|
||||
|
||||
G4double Sint=0.;
|
||||
|
||||
@@ -106,4 +104,5 @@ class G4Reggeons
|
||||
G4double Xelastic, Xpr_Diff, Xtr_Diff, XDDiff;
|
||||
G4double Xinel , Xnd, XndP, XndR;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+4
-8
@@ -24,7 +24,6 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4SingleDiffractiveExcitation.hh 107867 2017-12-07 14:44:07Z gcosmo $
|
||||
|
||||
#ifndef G4SingleDiffractiveExcitation_h
|
||||
#define G4SingleDiffractiveExcitation_h 1
|
||||
@@ -48,16 +47,14 @@ class G4ExcitedString;
|
||||
|
||||
class G4SingleDiffractiveExcitation : public G4QGSDiffractiveExcitation
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
public:
|
||||
G4SingleDiffractiveExcitation();
|
||||
~G4SingleDiffractiveExcitation();
|
||||
|
||||
G4bool ExciteParticipants (G4VSplitableHadron *aPartner, G4VSplitableHadron * bPartner, G4bool ProjectileDiffraction) const;
|
||||
|
||||
private:
|
||||
G4bool ExciteParticipants (G4VSplitableHadron *aPartner, G4VSplitableHadron * bPartner,
|
||||
G4bool ProjectileDiffraction) const;
|
||||
|
||||
private:
|
||||
G4SingleDiffractiveExcitation(const G4SingleDiffractiveExcitation &right);
|
||||
|
||||
G4double ChooseX(G4double Xmin, G4double Xmax) const;
|
||||
@@ -66,7 +63,6 @@ private:
|
||||
const G4SingleDiffractiveExcitation & operator=(const G4SingleDiffractiveExcitation &right);
|
||||
int operator==(const G4SingleDiffractiveExcitation &right) const;
|
||||
int operator!=(const G4SingleDiffractiveExcitation &right) const;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user