Geant4 Cross Reference |
1 // 1 // 2 // ******************************************* 2 // ******************************************************************** 3 // * License and Disclaimer << 3 // * DISCLAIMER * 4 // * 4 // * * 5 // * The Geant4 software is copyright of th << 5 // * The following disclaimer summarizes all the specific disclaimers * 6 // * the Geant4 Collaboration. It is provided << 6 // * of contributors to this software. The specific disclaimers,which * 7 // * conditions of the Geant4 Software License << 7 // * govern, are listed with their locations in: * 8 // * LICENSE and available at http://cern.ch/ << 8 // * http://cern.ch/geant4/license * 9 // * include a list of copyright holders. << 10 // * 9 // * * 11 // * Neither the authors of this software syst 10 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing fin 11 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warran 12 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assum 13 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file << 14 // * use. * 16 // * for the full disclaimer and the limitatio << 17 // * 15 // * * 18 // * This code implementation is the result << 16 // * This code implementation is the intellectual property of the * 19 // * technical work of the GEANT4 collaboratio << 17 // * GEANT4 collaboration. * 20 // * By using, copying, modifying or distri << 18 // * By copying, distributing or modifying the Program (or any work * 21 // * any work based on the software) you ag << 19 // * based on the Program) you indicate your acceptance of this * 22 // * use in resulting scientific publicati << 20 // * statement, and all its terms. * 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* 21 // ******************************************************************** 25 // 22 // 26 // 23 // >> 24 // $Id: G4QGSMFragmentation.hh,v 1.2 2005/06/04 13:47:01 jwellisc Exp $ >> 25 // GEANT4 tag $Name: geant4-08-00 $ 27 // 26 // 28 // ------------------------------------------- 27 // ----------------------------------------------------------------------------- 29 // GEANT 4 class implementation file 28 // GEANT 4 class implementation file 30 // 29 // 31 // History: first implementation, Maxim K 30 // History: first implementation, Maxim Komogorov, 10-Jul-1998 32 // ------------------------------------------- 31 // ----------------------------------------------------------------------------- 33 #ifndef G4QGSMFragmentation_h 32 #ifndef G4QGSMFragmentation_h 34 #define G4QGSMFragmentation_h 1 33 #define G4QGSMFragmentation_h 1 35 34 36 #include "G4VLongitudinalStringDecay.hh" 35 #include "G4VLongitudinalStringDecay.hh" 37 36 38 //******************************************** 37 //****************************************************************************** 39 class G4QGSMFragmentation:public G4VLongitudin 38 class G4QGSMFragmentation:public G4VLongitudinalStringDecay 40 { << 39 { 41 public: << 40 public: 42 G4QGSMFragmentation(); << 41 G4QGSMFragmentation(); 43 ~G4QGSMFragmentation(); << 42 ~G4QGSMFragmentation(); 44 virtual G4KineticTrackVector* FragmentStri << 43 >> 44 const G4QGSMFragmentation & operator=(const G4QGSMFragmentation &right); >> 45 int operator==(const G4QGSMFragmentation &right) const; >> 46 int operator!=(const G4QGSMFragmentation &right) const; 45 47 46 private: 48 private: 47 // not implemented to protect/forbid use << 49 virtual G4double GetLightConeZ(G4double zmin, G4double zmax, G4int PartonEncoding, G4ParticleDefinition* pHadron, G4double Px, G4double Py); 48 G4QGSMFragmentation(const G4QGSMFragmentat << 50 G4QGSMFragmentation(const G4QGSMFragmentation &right); 49 const G4QGSMFragmentation & operator=(cons << 50 G4bool operator==(const G4QGSMFragmentatio << 51 G4bool operator!=(const G4QGSMFragmentatio << 52 << 53 private: << 54 virtual G4bool StopFragmenting(const G4Fra << 55 virtual G4bool IsItFragmentable(const G4Fr << 56 << 57 virtual G4bool SplitLast(G4FragmentingStri << 58 G4KineticTrackVector * LeftVe << 59 G4KineticTrackVec << 60 << 61 virtual void Sample4Momentum(G4LorentzVect << 62 G4double Anti << 63 << 64 virtual G4KineticTrack * Splitup(G4Fragmen << 65 G4Fragmen << 66 << 67 // The hadron can be producet at QuarkSpli << 68 // virtual G4ParticleDefinition * QuarkSpl << 69 // G4Particl << 70 << 71 virtual G4ParticleDefinition * DiQuarkSpli << 72 << 73 << 74 virtual G4LorentzVector * SplitEandP(G4Par << 75 G4Fra << 76 G4Fra << 77 << 78 virtual G4double GetLightConeZ(G4double zm << 79 G4ParticleD << 80 51 81 private: 52 private: 82 // model parameters 53 // model parameters 83 G4double arho; << 54 const G4double arho; 84 G4double aphi; << 55 const G4double aphi; 85 G4double aJPs; // alpha_J/Psi << 56 const G4double an; 86 G4double aUps; // alpha_Y << 57 const G4double ala; 87 G4double an; << 58 const G4double aksi; 88 G4double ala; << 59 const G4double alft; 89 << 90 G4double alaC; << 91 G4double alaB; << 92 G4double aXi; << 93 G4double aXiC; << 94 G4double aXiB; << 95 G4double aXiCC; << 96 G4double aXiCB; << 97 G4double aXiBB; << 98 << 99 G4double aksi; << 100 G4double alft; << 101 << 102 G4double FFq2q[5][5][2]; << 103 G4double FFq2qq[5][15][2]; << 104 G4double FFqq2q[15][5][2]; << 105 G4double FFqq2qq[15][5][2]; << 106 << 107 private: << 108 void SetFFq2q(); << 109 void SetFFq2qq(); << 110 void SetFFqq2qq(); << 111 void SetFFqq2q(); << 112 60 113 G4int IndexDiQ[5][5]; << 114 }; 61 }; 115 62 116 // Class G4QGSMFragmentation 63 // Class G4QGSMFragmentation 117 << 118 #endif 64 #endif >> 65 119 66 120 67