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: G4VSplitableHadron.cc,v 1.2 2003/11/03 17:54:53 hpw Exp $ >> 25 // GEANT4 tag $Name: geant4-06-00-patch-01 $ 27 // 26 // 28 27 29 // ------------------------------------------- 28 // ------------------------------------------------------------ 30 // GEANT 4 class implementation file 29 // GEANT 4 class implementation file 31 // 30 // 32 // ---------------- G4VSplitableHadron--- 31 // ---------------- G4VSplitableHadron---------------- 33 // by Gunter Folger, June 1998. 32 // by Gunter Folger, June 1998. 34 // class storing an interacting particle 33 // class storing an interacting particle. Used by Parton String Models. 35 // ------------------------------------------- 34 // ------------------------------------------------------------ 36 35 37 #include "G4VSplitableHadron.hh" 36 #include "G4VSplitableHadron.hh" 38 #include "G4Nucleon.hh" 37 #include "G4Nucleon.hh" 39 #include "G4VKineticNucleon.hh" 38 #include "G4VKineticNucleon.hh" 40 39 41 G4VSplitableHadron::G4VSplitableHadron() 40 G4VSplitableHadron::G4VSplitableHadron() 42 : theDefinition(NULL), TimeOfCreation(0.), the << 41 : theDefinition(NULL), theCollisionCount(0), isSplit(false) 43 { 42 { 44 } 43 } 45 44 46 G4VSplitableHadron::G4VSplitableHadron(const G 45 G4VSplitableHadron::G4VSplitableHadron(const G4ReactionProduct & aPrimary) 47 : TimeOfCreation(0.), theCollisionCount(0), cu << 46 : theCollisionCount(0), isSplit(false) 48 { 47 { 49 theDefinition=aPrimary.GetDefinition(); << 48 theDefinition=aPrimary.GetDefinition(); 50 the4Momentum.setVect(aPrimary.GetMomentum()) << 49 the4Momentum.setVect(aPrimary.GetMomentum()); 51 the4Momentum.setE(aPrimary.GetTotalEnergy()) << 50 the4Momentum.setE(aPrimary.GetTotalEnergy()); 52 } 51 } 53 52 54 G4VSplitableHadron::G4VSplitableHadron(const G 53 G4VSplitableHadron::G4VSplitableHadron(const G4Nucleon & aNucleon) 55 { 54 { 56 TimeOfCreation = 0.; << 55 theCollisionCount=0; 57 theCollisionCount= 0; << 56 isSplit = false; 58 isSplit = false; << 57 theDefinition=aNucleon.GetParticleType(); 59 theDefinition = aNucleon.GetParticleType( << 58 the4Momentum=aNucleon.GetMomentum(); 60 the4Momentum = aNucleon.GetMomentum(); << 59 thePosition=aNucleon.GetPosition(); 61 thePosition = aNucleon.GetPosition(); << 62 curStatus = 0; << 63 } 60 } 64 61 65 G4VSplitableHadron::G4VSplitableHadron(const G 62 G4VSplitableHadron::G4VSplitableHadron(const G4VKineticNucleon * aNucleon) 66 { 63 { 67 TimeOfCreation = 0.; << 64 theCollisionCount=0; 68 theCollisionCount= 0; << 65 isSplit = false; 69 isSplit = false; << 66 theDefinition=aNucleon->GetDefinition(); 70 theDefinition = aNucleon->GetDefinition() << 67 the4Momentum=aNucleon->Get4Momentum(); 71 the4Momentum = aNucleon->Get4Momentum(); << 68 thePosition=aNucleon->GetPosition(); 72 thePosition = aNucleon->GetPosition(); << 73 curStatus = 0; << 74 } 69 } 75 70 76 G4VSplitableHadron::G4VSplitableHadron(const G 71 G4VSplitableHadron::G4VSplitableHadron(const G4VSplitableHadron &right) 77 { 72 { 78 TimeOfCreation = 0.; << 73 theCollisionCount=0; 79 theCollisionCount= 0; << 74 isSplit = false; 80 isSplit = false; << 75 theDefinition= right.GetDefinition(); 81 theDefinition = right.GetDefinition(); << 76 the4Momentum= right.Get4Momentum(); 82 the4Momentum = right.Get4Momentum(); << 77 thePosition= right.GetPosition(); 83 thePosition = right.GetPosition(); << 84 curStatus = 0; << 85 } 78 } 86 79 87 80 88 G4VSplitableHadron::~G4VSplitableHadron() 81 G4VSplitableHadron::~G4VSplitableHadron() 89 { 82 { 90 } 83 } 91 84 92 85 93 const G4VSplitableHadron & G4VSplitableHadron: 86 const G4VSplitableHadron & G4VSplitableHadron::operator=(const G4VSplitableHadron &) 94 { 87 { 95 throw G4HadronicException(__FILE__, __LINE__ << 88 throw G4HadronicException(__FILE__, __LINE__, "G4VSplitableHadron::operator= meant to not be accessable"); 96 "G4VSplitableHadro << 97 return *this; 89 return *this; 98 } 90 } 99 91 100 92 101 G4bool G4VSplitableHadron::operator==(const G4 << 93 int G4VSplitableHadron::operator==(const G4VSplitableHadron &right) const 102 { 94 { 103 return this==&right; << 95 return this==&right; 104 } 96 } 105 97 106 G4bool G4VSplitableHadron::operator!=(const G4 << 98 int G4VSplitableHadron::operator!=(const G4VSplitableHadron &right) const 107 { 99 { 108 return this!=&right; << 100 return this!=&right; 109 } 101 } 110 102 111 103 112 void G4VSplitableHadron::SplitUp() 104 void G4VSplitableHadron::SplitUp() 113 { 105 { 114 } 106 } 115 << 116 107