Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4VSplitableHadron.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// $Id$
28//
29
30// ------------------------------------------------------------
31// GEANT 4 class implementation file
32//
33// ---------------- G4VSplitableHadron----------------
34// by Gunter Folger, June 1998.
35// class storing an interacting particle. Used by Parton String Models.
36// ------------------------------------------------------------
37
38#include "G4VSplitableHadron.hh"
39#include "G4Nucleon.hh"
40#include "G4VKineticNucleon.hh"
41
43 : theDefinition(NULL), TimeOfCreation(0.), theCollisionCount(0), // Uzhi 8.05.08
44 curStatus(0), isSplit(false) // Uzhi 17.07.09
45{
46}
47
49 : TimeOfCreation(0.), theCollisionCount(0), // Uzhi 8.05.08
50 curStatus(0), isSplit(false) // Uzhi 17.07.09
51{
52 theDefinition=aPrimary.GetDefinition();
53 the4Momentum.setVect(aPrimary.GetMomentum());
54 the4Momentum.setE(aPrimary.GetTotalEnergy());
55}
56
58{
59 TimeOfCreation = 0.; // Uzhi 8.05.08
60 theCollisionCount= 0;
61 isSplit = false;
62 theDefinition =aNucleon.GetParticleType();
63 the4Momentum =aNucleon.GetMomentum();
64 thePosition =aNucleon.GetPosition();
65 curStatus = 0; // Uzhi 17.07.09
66}
67
69{
70 TimeOfCreation = 0.; // Uzhi 8.05.08
71 theCollisionCount= 0;
72 isSplit = false;
73 theDefinition =aNucleon->GetDefinition();
74 the4Momentum =aNucleon->Get4Momentum();
75 thePosition =aNucleon->GetPosition();
76 curStatus = 0; // Uzhi 17.07.09
77}
78
80{
81 TimeOfCreation = 0.; // Uzhi 8.05.08
82 theCollisionCount= 0;
83 isSplit = false;
84 theDefinition = right.GetDefinition();
85 the4Momentum = right.Get4Momentum();
86 thePosition = right.GetPosition();
87 curStatus = 0; // Uzhi 17.07.09
88}
89
90
92{
93}
94
95
96const G4VSplitableHadron & G4VSplitableHadron::operator=(const G4VSplitableHadron &)
97{
98 throw G4HadronicException(__FILE__, __LINE__, "G4VSplitableHadron::operator= meant to not be accessable");
99 return *this;
100}
101
102
104{
105 return this==&right;
106}
107
109{
110 return this!=&right;
111}
112
113
115{
116}
117
void setVect(const Hep3Vector &)
G4ParticleDefinition * GetParticleType() const
Definition: G4Nucleon.hh:84
virtual const G4ThreeVector & GetPosition() const
Definition: G4Nucleon.hh:68
const G4LorentzVector & GetMomentum() const
Definition: G4Nucleon.hh:71
G4double GetTotalEnergy() const
G4ThreeVector GetMomentum() const
G4ParticleDefinition * GetDefinition() const
virtual G4ParticleDefinition * GetDefinition() const =0
virtual const G4ThreeVector & GetPosition() const =0
virtual const G4LorentzVector & Get4Momentum() const =0
int operator==(const G4VSplitableHadron &right) const
virtual void SplitUp()=0
G4ParticleDefinition * GetDefinition() const
int operator!=(const G4VSplitableHadron &right) const
const G4LorentzVector & Get4Momentum() const
const G4ThreeVector & GetPosition() const