Ignore:
Timestamp:
Apr 6, 2009, 12:30:29 PM (15 years ago)
Author:
garnier
Message:

update processes

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  
    2626//
    2727// $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 $
    2929//
    3030#ifndef G4ExcitedStringDecay_h
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh

    r819 r962  
    2525//
    2626//
    27 // $Id: G4FragmentingString.hh,v 1.3 2006/06/29 20:54:44 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-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 $
    2929//
    3030
     
    5858                          G4ParticleDefinition * newdecay,
    5959                          const G4LorentzVector *momentum);
    60 
     60      G4FragmentingString(const G4FragmentingString &old,      // Uzhi
     61                          G4ParticleDefinition * newdecay);    // Uzhi
     62                         
    6163      ~G4FragmentingString();
    6264
     
    7779      G4double Mass() const;
    7880      G4double Mass2() const;
    79      
     81      G4double MassT2() const;
    8082     
    8183      G4ParticleDefinition* GetLeftParton(void) const;
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh

    r819 r962  
    2626//
    2727// $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 $
    2929//
    3030// -----------------------------------------------------------------------------
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh

    r819 r962  
    2525//
    2626//
    27 // $Id: G4LundStringFragmentation.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-patch-02 $ Maxim Komogorov
     27// $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
    2929//
    3030// -----------------------------------------------------------------------------
     
    4444    {
    4545public:
     46
    4647    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();
    5150
    52 public:
    5351    const G4LundStringFragmentation & operator=(const G4LundStringFragmentation &right);
    5452    int operator==(const G4LundStringFragmentation &right) const;
    5553    int operator!=(const G4LundStringFragmentation &right) const;
    5654
     55    virtual G4KineticTrackVector* FragmentString(const G4ExcitedString& theString);
    5756
    5857private:
    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);   
    6060
    61    virtual void Sample4Momentum(G4LorentzVector* Mom, G4double Mass, G4LorentzVector* AntiMom, G4double AntiMass, G4double InitialMass);
    6261   virtual G4bool StopFragmenting(const G4FragmentingString  * const string);
    6362   virtual G4bool IsFragmentable(const G4FragmentingString * const string);
    64    virtual G4LorentzVector * SplitEandP(G4ParticleDefinition * pHadron, G4FragmentingString * string);
     63
    6564   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);
    7067
     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           
    7181private:
     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 ----------------------
    7287   G4double MinimalStringMass;
    7388   G4double MinimalStringMass2;
     89// ------ Minimal invariant mass used at a string fragmentation -
    7490   G4double WminLUND;               
    7591};
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh

    r819 r962  
    2525//
    2626//
    27 // $Id: G4QGSMFragmentation.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-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 $
    2929//
    3030// -----------------------------------------------------------------------------
     
    5757   virtual G4bool StopFragmenting(const G4FragmentingString  * const string);
    5858   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
    6062   virtual G4bool SplitLast(G4FragmentingString * string,
    6163                    G4KineticTrackVector * LeftVector,
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh

    r819 r962  
    2626//
    2727// $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 $
    2929//  Maxim Komogorov
    3030//
  • trunk/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh

    r819 r962  
    2525//
    2626//
    27 // $Id: G4VLongitudinalStringDecay.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $
    28 // GEANT4 tag $Name: geant4-09-01-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 $
    2929// Maxim Komogorov
    3030//
     
    4343
    4444class G4FragmentingString;
    45 //**********************************************************************************************
     45//**************************************************************************************
    4646
    4747class G4VLongitudinalStringDecay
    4848   {
    4949public:
    50    G4VLongitudinalStringDecay();     
     50            G4VLongitudinalStringDecay();     
    5151   virtual ~G4VLongitudinalStringDecay();
    5252
    5353private:
    54 //  G4VLongitudinalStringDecay(const G4VLongitudinalStringDecay &right);
    55 //  const G4VLongitudinalStringDecay & operator=(const G4VLongitudinalStringDecay &right);
     54
    5655   int operator==(const G4VLongitudinalStringDecay &right) const;
    5756   int operator!=(const G4VLongitudinalStringDecay &right) const;
     
    5958public:
    6059   virtual G4KineticTrackVector* FragmentString(const G4ExcitedString& theString)=0;
    61    
     60
     61protected:
     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
     115public:
     116//   used by G4VKinkyStringDecy..
     117   G4int SampleQuarkFlavor(void);
     118   G4ThreeVector SampleQuarkPt();
     119
     120protected:
     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//-----------------------------------------------------------------------------
     146public:
     147
    62148   G4KineticTrackVector* DecayResonans (G4KineticTrackVector* aHadrons);
     149
    63150   void SetSigmaTransverseMomentum(G4double aQT);
    64151   void SetStrangenessSuppression(G4double aValue);
     
    72159   void SetVectorMesonMixings( std::vector<G4double> aVector);
    73160
    74 //   used by G4VKinkyStringDecy..
    75    G4int SampleQuarkFlavor(void);
    76    G4ThreeVector SampleQuarkPt();
    77        
     161   void SetStringTensionParameter(G4double aValue);            // Uzhi 20 June 08
     162
    78163//private:
    79164protected: 
     
    83168   G4double GetClusterMass()            {return ClusterMass;};
    84169   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   
    93173//private:
    94174protected: 
     
    105185   G4HadronBuilder *hadronizer;
    106186
    107    void ConstructParticle();
    108 
    109187   G4double pspin_meson;
    110188   G4double pspin_barion;
     
    113191   
    114192   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
    120196//   G4double MinFragmentationMass(G4ExcitedString * theString,
    121197//                              G4ParticleDefinition*& Hadron1,
    122198//                              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 Declarations
    140    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 
    147199
    148200};
    149201
    150 
    151 //**********************************************************************************************
     202//*************************************************************************************
    152203// Class G4VLongitudinalStringDecay
    153204#endif
    154 
    155 
Note: See TracChangeset for help on using the changeset viewer.