Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4EvtBiasMechanism.cc,v 1.3.4.2 2001/06/28 20:20:15 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4EvtBiasMechanism.cc,v 1.5 2001/08/16 08:17:58 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -42,8 +42,8 @@
|
||||
|
||||
G4EvtBiasMechanism::G4EvtBiasMechanism(const G4String& name, G4int mulFactor):
|
||||
G4VEvtBiasMechanism(name),
|
||||
MultiplicationForSecondaries(mulFactor),
|
||||
particleToBeBiased(0)
|
||||
particleToBeBiased(0),
|
||||
MultiplicationForSecondaries(mulFactor)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Mars5GeVMechanism.cc,v 1.4.4.2 2001/06/28 20:20:15 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4Mars5GeVMechanism.cc,v 1.7 2001/09/19 11:05:29 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -107,12 +107,12 @@ void G4Mars5GeVMechanism::GetTargetNuclei(const G4Material* material)
|
||||
G4double totNumAtoms = 0.0;
|
||||
for (G4int iel=0; iel < numberOfElements; iel +=1) {
|
||||
totNumAtoms += theAtomicNumDensityVector[iel];
|
||||
fZNucl += theAtomicNumDensityVector[iel]*((*theElementVector)(iel)->GetZ());
|
||||
fANucl += theAtomicNumDensityVector[iel]*((*theElementVector)(iel)->GetN());
|
||||
fZNucl += theAtomicNumDensityVector[iel]*((*theElementVector)[iel]->GetZ());
|
||||
fANucl += theAtomicNumDensityVector[iel]*((*theElementVector)[iel]->GetN());
|
||||
#ifdef G4VERBOSE
|
||||
if (GetVerboseLevel() > 2) {
|
||||
G4cout << iel << ": " << theAtomicNumDensityVector[iel];
|
||||
G4cout << " Z=" << (*theElementVector)(iel)->GetZ() << " A=" << (*theElementVector)(iel)->GetN();
|
||||
G4cout << " Z=" << (*theElementVector)[iel]->GetZ() << " A=" << (*theElementVector)[iel]->GetN();
|
||||
G4cout << G4endl;
|
||||
}
|
||||
#endif
|
||||
@@ -131,8 +131,6 @@ void G4Mars5GeVMechanism::GetTargetNuclei(const G4Material* material)
|
||||
|
||||
void G4Mars5GeVMechanism::Treem5()
|
||||
{
|
||||
|
||||
G4double pMass = incidentParticle->GetDefinition()->GetPDGMass();
|
||||
G4double pE = incidentParticle->GetKineticEnergy();
|
||||
G4int pType = incidentMarsEncoding;
|
||||
|
||||
@@ -248,8 +246,7 @@ void G4Mars5GeVMechanism::CreatePion(G4int ib, G4int pType, G4double pE)
|
||||
G4cout << " G4Mars5GeVMechanism::CreatePion()" << G4endl;
|
||||
}
|
||||
#endif
|
||||
static const G4double PionProductionEth = 0.28*GeV;
|
||||
static const G4double KaonProductionEth = 2.0*GeV;
|
||||
static const G4double PionProductionEth = 0.28*GeV;
|
||||
|
||||
if ( pE<PionProductionEth ) {
|
||||
if ((ib==MarsP)||(ib==MarsN)) return;
|
||||
@@ -715,17 +712,17 @@ G4double G4Mars5GeVMechanism::D2N2(G4int pType, G4double incidentE,
|
||||
if(i==4) i = 1;
|
||||
G4bool condA = a<2. && i==2;
|
||||
G4bool condB = a<2.;
|
||||
G4double az;
|
||||
G4double pn;
|
||||
G4double pr;
|
||||
|
||||
G4double pr =0.;
|
||||
if(!condB)
|
||||
{
|
||||
G4double az;
|
||||
if(i==2)
|
||||
{ az = (z+1.)/(a-z); }
|
||||
else
|
||||
{ az = (a+1.-z)/z; }
|
||||
x1 = 0.5*e1ge;
|
||||
pn = az;
|
||||
G4double pn = az;
|
||||
if(x1<60.) pn *= 1. + exp(-x1);
|
||||
if(i==j)
|
||||
{ pr = bn*pn/(1.+pn); }
|
||||
@@ -734,8 +731,9 @@ G4double G4Mars5GeVMechanism::D2N2(G4int pType, G4double incidentE,
|
||||
}
|
||||
if(condA || !condB)
|
||||
{
|
||||
G4double az;
|
||||
if(i==1) az = z/(a-z);
|
||||
if(i==2) az = (a-z)/z;
|
||||
else az = (a-z)/z;
|
||||
G4double bp = 1.0;
|
||||
G4double e0g = e1ge*e2ge;
|
||||
if(e0g<60.) bp -= 0.5*exp(-e0g);
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChange.cc,v 1.12.2.2 2001/06/28 20:20:15 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleChange.cc,v 1.18 2001/11/21 14:05:58 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -44,21 +44,11 @@
|
||||
#include "G4TrackFastVector.hh"
|
||||
#include "G4DynamicParticle.hh"
|
||||
|
||||
G4bool G4ParticleChange::fUseEBForAll = false;
|
||||
|
||||
G4ParticleChange::G4ParticleChange():G4VParticleChange(false)
|
||||
G4ParticleChange::G4ParticleChange():G4VParticleChange()
|
||||
{
|
||||
}
|
||||
|
||||
G4ParticleChange::G4ParticleChange(G4bool useEB):G4VParticleChange(useEB)
|
||||
{
|
||||
#ifdef G4VERBOSE
|
||||
if (verboseLevel>2) {
|
||||
G4cout << "G4ParticleChange::G4ParticleChange() " << G4endl;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
G4ParticleChange::~G4ParticleChange()
|
||||
{
|
||||
#ifdef G4VERBOSE
|
||||
@@ -139,7 +129,7 @@ void G4ParticleChange::AddSecondary(G4DynamicParticle* aParticle,
|
||||
if (IsGoodForTracking) aTrack->SetGoodForTrackingFlag();
|
||||
|
||||
// Touchable is a temporary object, so you cannot keep the pointer
|
||||
aTrack->SetTouchable(0);
|
||||
aTrack->SetTouchableHandle((G4VTouchable*)0);
|
||||
|
||||
// add a secondary
|
||||
G4VParticleChange::AddSecondary(aTrack);
|
||||
@@ -156,7 +146,7 @@ void G4ParticleChange::AddSecondary(G4DynamicParticle* aParticle,
|
||||
if (IsGoodForTracking) aTrack->SetGoodForTrackingFlag();
|
||||
|
||||
// Touchable is a temporary object, so you cannot keep the pointer
|
||||
aTrack->SetTouchable(0);
|
||||
aTrack->SetTouchableHandle((G4VTouchable*)0);
|
||||
|
||||
// add a secondary
|
||||
G4VParticleChange::AddSecondary(aTrack);
|
||||
@@ -172,8 +162,8 @@ void G4ParticleChange::AddSecondary(G4DynamicParticle* aParticle,
|
||||
// set IsGoodGorTrackingFlag
|
||||
if (IsGoodForTracking) aTrack->SetGoodForTrackingFlag();
|
||||
|
||||
// Touchable is a temporary object, so you cannot keep the pointer
|
||||
aTrack->SetTouchable(0);
|
||||
// Touchable handle is copied to keep the pointer
|
||||
aTrack->SetTouchableHandle(theCurrentTrack->GetTouchableHandle());
|
||||
|
||||
// add a secondary
|
||||
G4VParticleChange::AddSecondary(aTrack);
|
||||
@@ -193,6 +183,7 @@ void G4ParticleChange::Initialize(const G4Track& track)
|
||||
{
|
||||
// use base class's method at first
|
||||
G4VParticleChange::Initialize(track);
|
||||
theCurrentTrack= &track;
|
||||
|
||||
// set Energy/Momentum etc. equal to those of the parent particle
|
||||
const G4DynamicParticle* pParticle = track.GetDynamicParticle();
|
||||
@@ -276,7 +267,7 @@ G4Step* G4ParticleChange::UpdateStepForAlongStep(G4Step* pStep)
|
||||
pPostStepPoint->AddProperTime( theProperTimeChange
|
||||
- pPreStepPoint->GetProperTime());
|
||||
|
||||
// update weight if use EB
|
||||
// update weight
|
||||
pPostStepPoint->SetWeight( theWeightChange );
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
@@ -295,10 +286,8 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep)
|
||||
// pointer to G4ParticleMometum. Also it is a normalized
|
||||
// momentum vector.
|
||||
|
||||
G4StepPoint* pPreStepPoint = pStep->GetPreStepPoint();
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
G4Track* aTrack = pStep->GetTrack();
|
||||
G4double mass = theMassChange;
|
||||
|
||||
// Set Mass/Charge
|
||||
pPostStepPoint->SetMass(theMassChange);
|
||||
@@ -318,7 +307,7 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep)
|
||||
- aTrack->GetGlobalTime());
|
||||
pPostStepPoint->SetProperTime( theProperTimeChange );
|
||||
|
||||
// update weight if use EB
|
||||
// update weight
|
||||
pPostStepPoint->SetWeight( theWeightChange );
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
@@ -334,10 +323,8 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep)
|
||||
{
|
||||
// A physics process always calculates the final state of the particle
|
||||
|
||||
G4StepPoint* pPreStepPoint = pStep->GetPreStepPoint();
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
G4Track* aTrack = pStep->GetTrack();
|
||||
G4double mass = theMassChange;
|
||||
|
||||
// Set Mass/Charge
|
||||
pPostStepPoint->SetMass(theMassChange);
|
||||
@@ -357,7 +344,7 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep)
|
||||
- aTrack->GetGlobalTime());
|
||||
pPostStepPoint->SetProperTime( theProperTimeChange );
|
||||
|
||||
// update weight if use EB
|
||||
// update weight
|
||||
pPostStepPoint->SetWeight( theWeightChange );
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForDecay.cc,v 1.5.4.2 2001/06/28 20:20:15 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleChangeForDecay.cc,v 1.7 2001/08/16 08:17:59 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -110,9 +110,6 @@ void G4ParticleChangeForDecay::Initialize(const G4Track& track)
|
||||
|
||||
G4Step* G4ParticleChangeForDecay::UpdateStepForPostStep(G4Step* pStep)
|
||||
{
|
||||
// A physics process always calculates the final state of the particle
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
|
||||
// Update the G4Step specific attributes
|
||||
return UpdateStepInfo(pStep);
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForLoss.cc,v 1.5.4.2 2001/06/28 20:20:15 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleChangeForLoss.cc,v 1.6 2001/07/11 10:08:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForMSC.cc,v 1.6.4.2 2001/06/28 20:20:16 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleChangeForMSC.cc,v 1.8 2001/08/16 08:17:59 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -131,7 +131,6 @@ G4Step* G4ParticleChangeForMSC::UpdateStepForPostStep(G4Step* pStep)
|
||||
// pointer to G4ParticleMometum. Also it is a normalized
|
||||
// momentum vector.
|
||||
|
||||
G4StepPoint* pPreStepPoint = pStep->GetPreStepPoint();
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
G4Track* aTrack = pStep->GetTrack();
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForTransport.cc,v 1.8.2.2 2001/06/28 20:20:16 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4ParticleChangeForTransport.cc,v 1.11 2001/10/22 04:19:41 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -36,7 +36,7 @@
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "G4ParticleChangeForTransport.hh"
|
||||
#include "G4VTouchable.hh"
|
||||
#include "G4TouchableHandle.hh"
|
||||
#include "G4Track.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4TrackFastVector.hh"
|
||||
@@ -62,7 +62,7 @@ G4ParticleChangeForTransport::G4ParticleChangeForTransport(const G4ParticleChang
|
||||
if (verboseLevel>0) {
|
||||
G4cout << "G4ParticleChangeForTransport:: copy constructor is called " << G4endl;
|
||||
}
|
||||
theTouchableChange = right.theTouchableChange;
|
||||
theTouchableHandle = right.theTouchableHandle;
|
||||
}
|
||||
|
||||
// assignemnt operator
|
||||
@@ -77,7 +77,7 @@ G4ParticleChangeForTransport & G4ParticleChangeForTransport::operator=(const G4P
|
||||
theSizeOftheListOfSecondaries = right.theSizeOftheListOfSecondaries;
|
||||
theNumberOfSecondaries = right.theNumberOfSecondaries;
|
||||
theStatusChange = right.theStatusChange;
|
||||
theTouchableChange = right.theTouchableChange;
|
||||
theTouchableHandle = right.theTouchableHandle;
|
||||
theMaterialChange = right.theMaterialChange;
|
||||
theMomentumDirectionChange = right.theMomentumDirectionChange;
|
||||
thePolarizationChange = right.thePolarizationChange;
|
||||
@@ -188,13 +188,11 @@ G4Step* G4ParticleChangeForTransport::UpdateStepForPostStep(G4Step* pStep)
|
||||
{
|
||||
// A physics process always calculates the final state of the particle
|
||||
|
||||
G4StepPoint* pPreStepPoint = pStep->GetPreStepPoint();
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
G4Track* aTrack = pStep->GetTrack();
|
||||
|
||||
// update next touchable
|
||||
// (touchable can be changed only at PostStepDoIt)
|
||||
pPostStepPoint->SetTouchable( theTouchableChange );
|
||||
pPostStepPoint->SetTouchableHandle( theTouchableHandle );
|
||||
|
||||
pPostStepPoint->SetMaterial( theMaterialChange );
|
||||
|
||||
@@ -220,10 +218,14 @@ void G4ParticleChangeForTransport::DumpInfo() const
|
||||
|
||||
G4cout.precision(3);
|
||||
G4cout << " Touchable (pointer) : "
|
||||
<< G4std::setw(20) << theTouchableChange
|
||||
<< G4std::setw(20) << theTouchableHandle()
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Step.cc,v 1.4.4.1 2001/06/28 19:15:28 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4Step.cc,v 1.5 2001/07/11 10:08:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StepPoint.cc,v 1.5.2.1 2001/06/28 19:15:28 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4StepPoint.cc,v 1.7 2001/08/16 08:17:59 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -60,6 +60,7 @@ G4StepPoint::G4StepPoint(const G4StepPoint &right):
|
||||
fProperTime(right.fProperTime),
|
||||
fMomentumDirection(right.fMomentumDirection),
|
||||
fKineticEnergy(right.fKineticEnergy),
|
||||
fVelocity(right.fVelocity),
|
||||
fpTouchable(right.fpTouchable),
|
||||
fpMaterial(right.fpMaterial),
|
||||
fSafety(right.fSafety),
|
||||
@@ -68,8 +69,7 @@ G4StepPoint::G4StepPoint(const G4StepPoint &right):
|
||||
fpProcessDefinedStep(right.fpProcessDefinedStep),
|
||||
fMass(right.fMass),
|
||||
fCharge(right.fCharge),
|
||||
fWeight(right.fWeight),
|
||||
fVelocity(right.fVelocity)
|
||||
fWeight(right.fWeight)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
+48
-63
@@ -21,23 +21,18 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Track.cc,v 1.11.2.1 2001/06/28 19:15:28 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4Track.cc,v 1.15 2001/12/10 08:36:54 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
// G4Track.cc
|
||||
//
|
||||
// Contact:
|
||||
// Questions and comments to this code should be sent to
|
||||
// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp)
|
||||
// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp)
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
// Add copy constructor Hisaya Feb. 07 01
|
||||
// Fix GetVelocity Hisaya Feb. 17 01
|
||||
//
|
||||
// Modification for G4TouchableHandle 22 Oct. 2001 R.Chytracek//
|
||||
#include "G4Track.hh"
|
||||
|
||||
G4Allocator<G4Track> aTrackAllocator;
|
||||
@@ -47,53 +42,35 @@ G4Track::G4Track(G4DynamicParticle* apValueDynamicParticle,
|
||||
G4double aValueTime,
|
||||
const G4ThreeVector& aValuePosition)
|
||||
///////////////////////////////////////////////////////////
|
||||
{
|
||||
fpDynamicParticle = apValueDynamicParticle;
|
||||
fCurrentStepNumber = 0;
|
||||
fGlobalTime = aValueTime;
|
||||
fLocalTime = 0.;
|
||||
fTrackLength = 0.;
|
||||
fPosition = aValuePosition;
|
||||
fpTouchable = 0;
|
||||
fpNextTouchable = 0;
|
||||
fpStep=0;
|
||||
|
||||
fpLVAtVertex = 0;
|
||||
fpCreatorProcess = 0;
|
||||
|
||||
fTrackStatus = fAlive;
|
||||
|
||||
fBelowThreshold = false;
|
||||
fGoodForTracking = false;
|
||||
fWeight = 1.0;
|
||||
|
||||
fpUserInformation = 0;
|
||||
: fCurrentStepNumber(0), fPosition(aValuePosition),
|
||||
fGlobalTime(aValueTime), fLocalTime(0.),
|
||||
fTrackLength(0.),
|
||||
fParentID(0), fTrackID(0),
|
||||
fpDynamicParticle(apValueDynamicParticle),
|
||||
fTrackStatus(fAlive),
|
||||
fBelowThreshold(false), fGoodForTracking(false),
|
||||
fWeight(1.0),
|
||||
fpStep(0),
|
||||
fpLVAtVertex(0), fpCreatorProcess(0),
|
||||
fpUserInformation(0)
|
||||
{
|
||||
}
|
||||
|
||||
//////////////////
|
||||
G4Track::G4Track()
|
||||
//////////////////
|
||||
: fCurrentStepNumber(0),
|
||||
fGlobalTime(0), fLocalTime(0.),
|
||||
fTrackLength(0.),
|
||||
fParentID(0), fTrackID(0),
|
||||
fpDynamicParticle(0),
|
||||
fTrackStatus(fAlive),
|
||||
fBelowThreshold(false), fGoodForTracking(false),
|
||||
fWeight(1.0),
|
||||
fpStep(0),
|
||||
fpLVAtVertex(0), fpCreatorProcess(0),
|
||||
fpUserInformation(0)
|
||||
{
|
||||
fCurrentStepNumber = 0;
|
||||
fGlobalTime = 0.;
|
||||
fLocalTime = 0.;
|
||||
fTrackLength = 0.;
|
||||
fParentID = 0;
|
||||
fTrackID = 0;
|
||||
fpTouchable = 0;
|
||||
fpNextTouchable = 0;
|
||||
fpStep=0;
|
||||
|
||||
fpDynamicParticle = 0;
|
||||
fpLVAtVertex = 0;
|
||||
fpCreatorProcess = 0;
|
||||
|
||||
fTrackStatus = fAlive;
|
||||
fBelowThreshold = false;
|
||||
fGoodForTracking = false;
|
||||
fWeight = 1.0;
|
||||
|
||||
fpUserInformation = 0;
|
||||
}
|
||||
//////////////////
|
||||
G4Track::G4Track(const G4Track& right)
|
||||
@@ -115,32 +92,40 @@ G4Track & G4Track::operator=(const G4Track &right)
|
||||
//////////////////
|
||||
{
|
||||
if (this != &right) {
|
||||
fCurrentStepNumber = right.fCurrentStepNumber;
|
||||
fPosition = right.fPosition;
|
||||
fGlobalTime = right.fGlobalTime;
|
||||
fLocalTime = right.fLocalTime;
|
||||
fTrackLength = right.fTrackLength;
|
||||
fParentID = right.fParentID;
|
||||
fWeight = right.fWeight;
|
||||
|
||||
// Track ID is not copied and set to zero for new track
|
||||
// Track ID (and Parent ID) is not copied and set to zero for new track
|
||||
fTrackID = 0;
|
||||
fParentID =0;
|
||||
|
||||
// pointers to Touchables or Step are not copied
|
||||
fpTouchable = 0;
|
||||
fpNextTouchable = 0;
|
||||
fpStep=0;
|
||||
// CurrentStepNumber is set to be 0
|
||||
fCurrentStepNumber = 0;
|
||||
|
||||
// dynamic particle information
|
||||
fpDynamicParticle = new G4DynamicParticle(*(right.fpDynamicParticle));
|
||||
|
||||
fVtxKineticEnergy = right.fVtxKineticEnergy;
|
||||
fVtxPosition = right.fVtxPosition;
|
||||
fpLVAtVertex = right.fpLVAtVertex;
|
||||
fpCreatorProcess = right.fpCreatorProcess;
|
||||
|
||||
|
||||
// track status and flags for tracking
|
||||
fTrackStatus = right.fTrackStatus;
|
||||
fBelowThreshold = right.fBelowThreshold;
|
||||
fGoodForTracking = right.fGoodForTracking;
|
||||
fWeight = right.fWeight;
|
||||
|
||||
// Step information (Step Length, Step Number, pointer to the Step,)
|
||||
// are not copied
|
||||
fpStep=0;
|
||||
|
||||
// vertex information
|
||||
fVtxPosition = right.fVtxPosition;
|
||||
fpLVAtVertex = right.fpLVAtVertex;
|
||||
fVtxKineticEnergy = right.fVtxKineticEnergy;
|
||||
fVtxMomentumDirection = right.fVtxMomentumDirection;
|
||||
|
||||
// CreatorProcess is not copied
|
||||
fpCreatorProcess = 0;
|
||||
|
||||
fpUserInformation = right.fpUserInformation;
|
||||
}
|
||||
return *this;
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VEvtBiasMechanism.cc,v 1.2.4.2 2001/06/28 20:20:16 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VEvtBiasMechanism.cc,v 1.3 2001/07/11 10:08:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VParticleChange.cc,v 1.5.4.2 2001/06/28 20:20:16 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VParticleChange.cc,v 1.9 2001/11/13 05:13:39 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -48,10 +48,10 @@ G4VParticleChange::G4VParticleChange():
|
||||
theStatusChange(fAlive),
|
||||
theSteppingControlFlag(NormalCondition),
|
||||
theLocalEnergyDeposit(0.0),
|
||||
verboseLevel(1),
|
||||
theParentWeight(1.0),
|
||||
theEBMechanism(0),
|
||||
fUseEB(false),
|
||||
verboseLevel(1)
|
||||
fSetSecondaryWeightByProcess(false),
|
||||
fSetParentWeightByProcess(true)
|
||||
{
|
||||
debugFlag = false;
|
||||
#ifdef G4VERBOSE
|
||||
@@ -61,27 +61,6 @@ G4VParticleChange::G4VParticleChange():
|
||||
theListOfSecondaries = new G4TrackFastVector();
|
||||
}
|
||||
|
||||
G4VParticleChange::G4VParticleChange(G4bool useEB):
|
||||
theNumberOfSecondaries(0),
|
||||
theSizeOftheListOfSecondaries(G4TrackFastVectorSize),
|
||||
theStatusChange(fAlive),
|
||||
theSteppingControlFlag(NormalCondition),
|
||||
theLocalEnergyDeposit(0.0),
|
||||
theParentWeight(1.0),
|
||||
verboseLevel(1)
|
||||
{
|
||||
fUseEB = useEB;
|
||||
// debug flag (activate CheckIt() )
|
||||
debugFlag = false;
|
||||
#ifdef G4VERBOSE
|
||||
// activate CHeckIt if in VERBOSE mode
|
||||
debugFlag = true;
|
||||
#endif
|
||||
theListOfSecondaries = new G4TrackFastVector();
|
||||
// register G4EvtBiasMechanism as a default
|
||||
theEBMechanism = new G4Mars5GeVMechanism();
|
||||
}
|
||||
|
||||
G4VParticleChange::~G4VParticleChange() {
|
||||
// check if tracks still exist in theListOfSecondaries
|
||||
if (theNumberOfSecondaries>0) {
|
||||
@@ -95,7 +74,6 @@ G4VParticleChange::~G4VParticleChange() {
|
||||
if ( (*theListOfSecondaries)[index] ) delete (*theListOfSecondaries)[index] ;
|
||||
}
|
||||
}
|
||||
if (theEBMechanism !=0) delete theEBMechanism;
|
||||
delete theListOfSecondaries;
|
||||
}
|
||||
|
||||
@@ -106,9 +84,9 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right):
|
||||
theStatusChange(fAlive),
|
||||
theSteppingControlFlag(NormalCondition),
|
||||
theLocalEnergyDeposit(0.0),
|
||||
verboseLevel(1),
|
||||
theParentWeight(1.0),
|
||||
fUseEB(false),
|
||||
verboseLevel(1)
|
||||
fSetSecondaryWeightByProcess(false)
|
||||
{
|
||||
debugFlag = false;
|
||||
#ifdef G4VERBOSE
|
||||
@@ -123,6 +101,7 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right):
|
||||
theTrueStepLength = right.theTrueStepLength;
|
||||
theLocalEnergyDeposit = right.theLocalEnergyDeposit;
|
||||
theSteppingControlFlag = right.theSteppingControlFlag;
|
||||
fSetParentWeightByProcess = right.fSetParentWeightByProcess;
|
||||
}
|
||||
|
||||
|
||||
@@ -142,6 +121,7 @@ G4VParticleChange & G4VParticleChange::operator=(const G4VParticleChange &right)
|
||||
theTrueStepLength = right.theTrueStepLength;
|
||||
theLocalEnergyDeposit = right.theLocalEnergyDeposit;
|
||||
theSteppingControlFlag = right.theSteppingControlFlag;
|
||||
fSetParentWeightByProcess = right.fSetParentWeightByProcess;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
@@ -212,12 +192,6 @@ void G4VParticleChange::DumpInfo() const
|
||||
G4cout << " Stepping Control : "
|
||||
<< G4std::setw(20) << theSteppingControlFlag
|
||||
<< G4endl;
|
||||
G4cout << " Event Biasing : ";
|
||||
if (fUseEB) {
|
||||
G4cout << G4std::setw(20) << theEBMechanism->GetName();
|
||||
} else {
|
||||
G4cout << " not used ";
|
||||
}
|
||||
G4cout << G4endl;
|
||||
}
|
||||
|
||||
@@ -226,7 +200,6 @@ G4bool G4VParticleChange::CheckIt(const G4Track& aTrack)
|
||||
|
||||
G4bool exitWithError = false;
|
||||
G4double accuracy;
|
||||
G4double newEnergyDeposit;
|
||||
|
||||
// Energy deposit should not be negative
|
||||
G4bool itsOKforEnergy = true;
|
||||
@@ -279,3 +252,13 @@ G4bool G4VParticleChange::CheckIt(const G4Track& aTrack)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user