- Timestamp:
- Apr 6, 2009, 12:30:29 PM (15 years ago)
- Location:
- trunk/source/processes/hadronic/models/parton_string/hadronization/include
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh
r819 r962 26 26 // 27 27 // $Id: G4ExcitedStringDecay.hh,v 1.7 2007/05/03 22:06:17 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 #ifndef G4ExcitedStringDecay_h -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4FragmentingString.hh,v 1. 3 2006/06/29 20:54:44 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $27 // $Id: G4FragmentingString.hh,v 1.4 2007/12/20 15:38:06 vuzhinsk Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 … … 58 58 G4ParticleDefinition * newdecay, 59 59 const G4LorentzVector *momentum); 60 60 G4FragmentingString(const G4FragmentingString &old, // Uzhi 61 G4ParticleDefinition * newdecay); // Uzhi 62 61 63 ~G4FragmentingString(); 62 64 … … 77 79 G4double Mass() const; 78 80 G4double Mass2() const; 79 81 G4double MassT2() const; 80 82 81 83 G4ParticleDefinition* GetLeftParton(void) const; -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh
r819 r962 26 26 // 27 27 // $Id: G4HadronBuilder.hh,v 1.3 2006/06/29 20:54:46 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 // ----------------------------------------------------------------------------- -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4LundStringFragmentation.hh,v 1. 4 2007/04/24 14:55:23 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $ Maxim Komogorov27 // $Id: G4LundStringFragmentation.hh,v 1.6 2008/04/25 14:20:14 vuzhinsk Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ Maxim Komogorov 29 29 // 30 30 // ----------------------------------------------------------------------------- … … 44 44 { 45 45 public: 46 46 47 G4LundStringFragmentation(); 47 // G4LundStringFragmentation(G4double sigmaPt); 48 G4LundStringFragmentation(const G4LundStringFragmentation &right); 49 virtual ~G4LundStringFragmentation(); 50 virtual G4KineticTrackVector* FragmentString(const G4ExcitedString& theString); 48 G4LundStringFragmentation(const G4LundStringFragmentation &right); 49 virtual ~G4LundStringFragmentation(); 51 50 52 public:53 51 const G4LundStringFragmentation & operator=(const G4LundStringFragmentation &right); 54 52 int operator==(const G4LundStringFragmentation &right) const; 55 53 int operator!=(const G4LundStringFragmentation &right) const; 56 54 55 virtual G4KineticTrackVector* FragmentString(const G4ExcitedString& theString); 57 56 58 57 private: 59 virtual G4double GetLightConeZ(G4double zmin, G4double zmax, G4int PartonEncoding, G4ParticleDefinition* pHadron, G4double Px, G4double Py); 58 void SetMinimalStringMass(const G4FragmentingString * const string); 59 void SetMinimalStringMass2(const G4double aValue); 60 60 61 virtual void Sample4Momentum(G4LorentzVector* Mom, G4double Mass, G4LorentzVector* AntiMom, G4double AntiMass, G4double InitialMass);62 61 virtual G4bool StopFragmenting(const G4FragmentingString * const string); 63 62 virtual G4bool IsFragmentable(const G4FragmentingString * const string); 64 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, G4FragmentingString * string); 63 65 64 virtual G4bool SplitLast(G4FragmentingString * string, 66 G4KineticTrackVector * LeftVector, 67 G4KineticTrackVector * RightVector); 68 void SetMinimalStringMass(const G4FragmentingString * const string); 69 void SetMinimalStringMass2(const G4double aValue); 65 G4KineticTrackVector * LeftVector, 66 G4KineticTrackVector * RightVector); 70 67 68 virtual void Sample4Momentum(G4LorentzVector* Mom, G4double Mass, 69 G4LorentzVector* AntiMom, G4double AntiMass, 70 G4double InitialMass); 71 72 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, 73 G4FragmentingString * string, 74 G4FragmentingString * newString); // Uzhi 75 76 virtual G4double GetLightConeZ(G4double zmin, G4double zmax, 77 G4int PartonEncoding, 78 G4ParticleDefinition* pHadron, 79 G4double Px, G4double Py); 80 71 81 private: 82 // ------ For estimation of a minimal string mass --------------- 83 G4double Mass_of_light_quark; 84 G4double Mass_of_heavy_quark; 85 G4double Mass_of_string_junction; 86 // ------ An estimated minimal string mass ---------------------- 72 87 G4double MinimalStringMass; 73 88 G4double MinimalStringMass2; 89 // ------ Minimal invariant mass used at a string fragmentation - 74 90 G4double WminLUND; 75 91 }; -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4QGSMFragmentation.hh,v 1. 4 2007/04/24 14:55:23 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $27 // $Id: G4QGSMFragmentation.hh,v 1.5 2007/12/20 15:38:07 vuzhinsk Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // 30 30 // ----------------------------------------------------------------------------- … … 57 57 virtual G4bool StopFragmenting(const G4FragmentingString * const string); 58 58 virtual G4bool IsFragmentable(const G4FragmentingString * const string); 59 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, G4FragmentingString * string); 59 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, 60 G4FragmentingString * string, // Uzhi 61 G4FragmentingString * newString); // Uzhi 60 62 virtual G4bool SplitLast(G4FragmentingString * string, 61 63 G4KineticTrackVector * LeftVector, -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh
r819 r962 26 26 // 27 27 // $Id: G4VKinkyStringDecay.hh,v 1.3 2006/06/29 20:54:53 gunter Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // Maxim Komogorov 30 30 // -
trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh
r819 r962 25 25 // 26 26 // 27 // $Id: G4VLongitudinalStringDecay.hh,v 1. 4 2007/04/24 14:55:23 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 1-patch-02 $27 // $Id: G4VLongitudinalStringDecay.hh,v 1.6 2008/06/23 08:35:54 vuzhinsk Exp $ 28 // GEANT4 tag $Name: geant4-09-02-ref-02 $ 29 29 // Maxim Komogorov 30 30 // … … 43 43 44 44 class G4FragmentingString; 45 //************************************************************************************** ********45 //************************************************************************************** 46 46 47 47 class G4VLongitudinalStringDecay 48 48 { 49 49 public: 50 G4VLongitudinalStringDecay();50 G4VLongitudinalStringDecay(); 51 51 virtual ~G4VLongitudinalStringDecay(); 52 52 53 53 private: 54 // G4VLongitudinalStringDecay(const G4VLongitudinalStringDecay &right); 55 // const G4VLongitudinalStringDecay & operator=(const G4VLongitudinalStringDecay &right); 54 56 55 int operator==(const G4VLongitudinalStringDecay &right) const; 57 56 int operator!=(const G4VLongitudinalStringDecay &right) const; … … 59 58 public: 60 59 virtual G4KineticTrackVector* FragmentString(const G4ExcitedString& theString)=0; 61 60 61 protected: 62 63 // For changing Mass Cut used for selection of very small mass strings 64 virtual void SetMassCut(G4double aValue); 65 66 // For handling a string with very low mass 67 G4KineticTrackVector * LightFragmentationTest(const G4ExcitedString * const theString); 68 69 // To store created quarks or 2 last hadrons 70 typedef std::pair<G4ParticleDefinition*, G4ParticleDefinition*> pDefPair; 71 72 // For creation of hadrons from given quark pair 73 typedef G4ParticleDefinition * (G4HadronBuilder::*Pcreate) 74 (G4ParticleDefinition*, G4ParticleDefinition*); 75 76 //----------------------------------------------------------------------------- 77 // Used by LightFragmentationTest for estimation of lowest possible mass of 78 // given quark system 79 G4double FragmentationMass(const G4FragmentingString * const string, 80 Pcreate build=0, 81 pDefPair * pdefs=0); 82 83 G4ParticleDefinition* FindParticle(G4int Encoding); 84 85 virtual void Sample4Momentum(G4LorentzVector* Mom, G4double Mass, 86 G4LorentzVector* AntiMom, G4double AntiMass, 87 G4double InitialMass)=0; 88 //----------------------------------------------------------------------------- 89 // For decision on continue or stop string fragmentation 90 virtual G4bool StopFragmenting(const G4FragmentingString * const string)=0; 91 virtual G4bool IsFragmentable(const G4FragmentingString * const string)=0; 92 93 // If a string can not fragment, make last break into 2 hadrons 94 virtual G4bool SplitLast(G4FragmentingString * string, 95 G4KineticTrackVector * LeftVector, 96 G4KineticTrackVector * RightVector)=0; 97 //----------------------------------------------------------------------------- 98 99 // If a string fragments, do the following 100 101 // For transver of a string to its CMS frame 102 G4ExcitedString *CPExcited(const G4ExcitedString& string); 103 104 G4KineticTrack * Splitup(G4FragmentingString *string, 105 G4FragmentingString *&newString); 106 107 G4ParticleDefinition * QuarkSplitup(G4ParticleDefinition* decay, 108 G4ParticleDefinition *&created); 109 110 G4ParticleDefinition * DiQuarkSplitup(G4ParticleDefinition* decay, 111 G4ParticleDefinition *&created); 112 113 pDefPair CreatePartonPair(G4int NeedParticle, G4bool AllowDiquarks=true); 114 115 public: 116 // used by G4VKinkyStringDecy.. 117 G4int SampleQuarkFlavor(void); 118 G4ThreeVector SampleQuarkPt(); 119 120 protected: 121 122 //----------------------------------------------------------------------------- 123 // For determination of kinematical properties of created hadron 124 // virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, // Uzhi 125 // G4FragmentingString * string )=0; // Uzhi 126 127 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, // Uzhi 128 G4FragmentingString * string, // Uzhi 129 G4FragmentingString * newString )=0;// Uzhi 130 131 virtual G4double GetLightConeZ(G4double zmin, G4double zmax, 132 G4int PartonEncoding, 133 G4ParticleDefinition* pHadron, 134 G4double Px, G4double Py ) = 0; 135 136 void CalculateHadronTimePosition(G4double theInitialStringMass, 137 G4KineticTrackVector *); 138 139 // Used for some test purposes ------------------------------------------------ 140 void ConstructParticle(); 141 142 G4ParticleDefinition* CreateHadron(G4int id1, G4int id2, 143 G4bool theGivenSpin, G4int theSpin); 144 145 //----------------------------------------------------------------------------- 146 public: 147 62 148 G4KineticTrackVector* DecayResonans (G4KineticTrackVector* aHadrons); 149 63 150 void SetSigmaTransverseMomentum(G4double aQT); 64 151 void SetStrangenessSuppression(G4double aValue); … … 72 159 void SetVectorMesonMixings( std::vector<G4double> aVector); 73 160 74 // used by G4VKinkyStringDecy.. 75 G4int SampleQuarkFlavor(void); 76 G4ThreeVector SampleQuarkPt(); 77 161 void SetStringTensionParameter(G4double aValue); // Uzhi 20 June 08 162 78 163 //private: 79 164 protected: … … 83 168 G4double GetClusterMass() {return ClusterMass;}; 84 169 G4int GetClusterLoopInterrupt() {return ClusterLoopInterrupt;}; 85 86 G4ParticleDefinition* CreateHadron(G4int id1, G4int id2, G4bool theGivenSpin, G4int theSpin); 87 virtual void Sample4Momentum(G4LorentzVector* Mom, G4double Mass, G4LorentzVector* AntiMom, G4double AntiMass, G4double InitialMass)=0; 88 89 protected: 90 // Additional protected declarations 91 virtual G4double GetLightConeZ(G4double zmin, G4double zmax, G4int PartonEncoding, G4ParticleDefinition* pHadron, G4double Px, G4double Py) = 0; 92 170 171 G4double GetStringTensionParameter() {return Kappa;}; // Uzhi 20 June 08 172 93 173 //private: 94 174 protected: … … 105 185 G4HadronBuilder *hadronizer; 106 186 107 void ConstructParticle();108 109 187 G4double pspin_meson; 110 188 G4double pspin_barion; … … 113 191 114 192 G4bool PastInitPhase; 115 116 117 G4KineticTrackVector * LightFragmentationTest(const G4ExcitedString * const theString); 118 virtual G4bool StopFragmenting(const G4FragmentingString * const string)=0; 119 virtual G4bool IsFragmentable(const G4FragmentingString * const string)=0; 193 194 G4double Kappa; // String tension parameter // Uzhi 20 June 08 195 120 196 // G4double MinFragmentationMass(G4ExcitedString * theString, 121 197 // G4ParticleDefinition*& Hadron1, 122 198 // G4ParticleDefinition*& Hadron2); 123 typedef std::pair<G4ParticleDefinition*, G4ParticleDefinition*> pDefPair;124 typedef G4ParticleDefinition * (G4HadronBuilder::*Pcreate)125 (G4ParticleDefinition*, G4ParticleDefinition*);126 G4double FragmentationMass(127 const G4FragmentingString * const string,128 Pcreate build=0,129 pDefPair * pdefs=0);130 G4KineticTrack * Splitup(G4FragmentingString *string, G4FragmentingString *&newString);131 virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, G4FragmentingString * string)=0;132 virtual G4bool SplitLast(G4FragmentingString * string,133 G4KineticTrackVector * LeftVector,134 G4KineticTrackVector * RightVector)=0;135 void CalculateHadronTimePosition(G4double theInitialStringMass, G4KineticTrackVector *);136 G4ExcitedString *CPExcited(const G4ExcitedString& string);137 G4ParticleDefinition* FindParticle(G4int Encoding);138 139 // Additional Implementation Declarations140 G4ParticleDefinition * QuarkSplitup(G4ParticleDefinition* decay,141 G4ParticleDefinition *&created);142 G4ParticleDefinition * DiQuarkSplitup(G4ParticleDefinition* decay,143 G4ParticleDefinition *&created);144 145 pDefPair CreatePartonPair(G4int NeedParticle, G4bool AllowDiquarks=true);146 147 199 148 200 }; 149 201 150 151 //********************************************************************************************** 202 //************************************************************************************* 152 203 // Class G4VLongitudinalStringDecay 153 204 #endif 154 155
Note: See TracChangeset
for help on using the changeset viewer.