Import Geant4 9.0.0 source tree
This commit is contained in:
+11
-1
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.93 2006/11/03 17:48:31 japost Exp $
|
||||
$Id: History,v 1.96 2007/03/30 01:04:36 kurasige Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -16,6 +16,16 @@ committal in the CVS repository !
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
Mar 30, 07 Hisaya Kurashige (track-V08-02-02)
|
||||
- Fix weight treatment in G4ParticleChange
|
||||
|
||||
Mar 26, 07 Hisaya Kurashige (track-V08-02-01)
|
||||
- Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange
|
||||
|
||||
Mar 11, 07 Hisaya Kurashige (track-V08-02-00)
|
||||
- Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00)
|
||||
- Fixed treatment of parent's weight in G4ParticleChange
|
||||
|
||||
Nov 3, 06 J.Apostolakis (track-V08-01-04)
|
||||
- New methods first/lastStepInVolume flag in G4Step, G4VParticleChange by Hisaya
|
||||
- Revised UpdateStepForPostStep by John Apostolakis
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4FieldTrackUpdator.hh,v 1.2 2006/12/13 15:49:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// M. Asai - first implementation Apr/28/2006
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ForceCondition.hh,v 1.5 2006/06/29 21:14:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4GPILSelection.hh,v 1.4 2006/06/29 21:14:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChange.hh,v 1.12 2006/06/29 21:14:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4ParticleChange.hh,v 1.13 2007/03/11 07:19:06 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -57,8 +57,11 @@
|
||||
// 8 June 1998 H.Kurashige
|
||||
// Add Track weight 12 Nov. 1998 H.Kurashige
|
||||
// Add Get/SetMomentumDirectionChange 6 Feb. 1999 H.Kurashige
|
||||
// Add get/SetDynamicMass 5 Oct. 1999 H.Kurashige
|
||||
// Add get/SetDynamicCharge 5 Oct. 1999 H.Kurashige
|
||||
// Add Get/SetDynamicMass 5 Oct. 1999 H.Kurashige
|
||||
// Add Get/SetDynamicCharge 5 Oct. 1999 H.Kurashige
|
||||
// Rename SetXXX methods to ProposeXXX DynamicCharge Oct. 2005 H.Kurashige
|
||||
// Add get/ProposeMagneticMoment Mar 2007 H.Kurashige
|
||||
// Fix treatment of weight Mar 2007 H.Kurashige
|
||||
// -------------------------------------------------------------
|
||||
|
||||
#ifndef G4ParticleChange_h
|
||||
@@ -161,11 +164,15 @@ class G4ParticleChange: public G4VParticleChange
|
||||
|
||||
G4double GetCharge() const;
|
||||
void ProposeCharge(G4double finalCharge);
|
||||
// Get/Propose the final dynamical Charge in G4DynamicParticl
|
||||
// Get/Propose the final dynamical Charge in G4DynamicParticle
|
||||
|
||||
G4double GetMagneticMoment() const;
|
||||
void ProposeMagneticMoment(G4double finalMagneticMoment);
|
||||
// Get/Propose the final MagneticMoment in G4DynamicParticle
|
||||
|
||||
G4double GetWeight() const;
|
||||
void ProposeWeight(G4double finalWeight);
|
||||
// Get/Propose the final Weight of the current particle
|
||||
// Get/Propose the final Weight of the parent particle
|
||||
|
||||
// -- Utility functions --
|
||||
G4ThreeVector GetGlobalPosition(const G4ThreeVector& displacement) const;
|
||||
@@ -230,7 +237,8 @@ class G4ParticleChange: public G4VParticleChange
|
||||
G4double theProperTimeChange;
|
||||
// The changed (final) proper time of a given track
|
||||
|
||||
G4double theWeightChange;
|
||||
// Obsolete Mar 2007
|
||||
// G4double theWeightChange;
|
||||
// The Changed (final) weight of a given track
|
||||
|
||||
G4double theMassChange;
|
||||
@@ -238,6 +246,9 @@ class G4ParticleChange: public G4VParticleChange
|
||||
|
||||
G4double theChargeChange;
|
||||
// The Changed (final) charge of a given track
|
||||
|
||||
G4double theMagneticMomentChange;
|
||||
// The Changed (final) MagneticMoment of a given track
|
||||
|
||||
const G4Track* theCurrentTrack;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChange.icc,v 1.13 2006/06/29 21:14:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4ParticleChange.icc,v 1.14 2007/03/11 07:19:06 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
inline
|
||||
@@ -175,17 +175,29 @@ inline
|
||||
theChargeChange = t;
|
||||
}
|
||||
|
||||
|
||||
inline
|
||||
G4double G4ParticleChange::GetMagneticMoment() const
|
||||
{
|
||||
return theMagneticMomentChange;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleChange::ProposeMagneticMoment(G4double finalMagneticMoment)
|
||||
{
|
||||
theMagneticMomentChange = finalMagneticMoment;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4ParticleChange::GetWeight() const
|
||||
{
|
||||
return theWeightChange;
|
||||
return G4VParticleChange::GetParentWeight();
|
||||
}
|
||||
|
||||
inline
|
||||
void G4ParticleChange::ProposeWeight(G4double w)
|
||||
{
|
||||
theWeightChange = w;
|
||||
theParentWeight = w;
|
||||
G4VParticleChange::ProposeParentWeight(w);
|
||||
}
|
||||
|
||||
inline
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForDecay.hh,v 1.9 2006/06/29 21:14:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
|
||||
//
|
||||
//
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForGamma.hh,v 1.8 2006/08/28 16:10:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForLoss.hh,v 1.19 2006/08/28 16:10:06 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForMSC.icc,v 1.7 2006/06/29 21:14:27 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForRadDecay.hh,v 1.7 2006/06/29 21:14:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForTransport.hh,v 1.16 2006/06/29 21:14:31 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForTransport.icc,v 1.13 2006/06/29 21:14:33 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
inline
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Step.hh,v 1.16 2006/10/30 09:50:13 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4Step.hh,v 1.17 2007/03/25 22:54:52 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -52,8 +52,9 @@
|
||||
// 12 May. 1998 H.Kurashige
|
||||
// ---------------------------------------------------------------
|
||||
// Separate implementation of inline functions inti G4Step.icc
|
||||
// Add updating mass/charge
|
||||
// 6 Oct. 1999 H.Kurashige
|
||||
// Add updating mass/charge 6 Oct. 1999 H.Kurashige
|
||||
// add nonIonizingEnergyLoss 26 Mar. 2007 H.Kurashige
|
||||
//
|
||||
// Repository test - Dennis Wright
|
||||
//
|
||||
#ifndef G4Step_h
|
||||
@@ -122,6 +123,10 @@ class G4Step
|
||||
void AddTotalEnergyDeposit(G4double value);
|
||||
void ResetTotalEnergyDeposit();
|
||||
|
||||
// manipulation of non-ionizng energy deposit
|
||||
void AddNonIonizingEnergyDeposit(G4double value);
|
||||
void ResetNonIonizingEnergyDeposit();
|
||||
|
||||
|
||||
// Get/Set/Clear flag for initial/last step
|
||||
G4bool IsFirstStepInVolume() const;
|
||||
@@ -153,6 +158,9 @@ class G4Step
|
||||
G4double fTotalEnergyDeposit;
|
||||
// Accummulated total energy desposit in the current Step
|
||||
|
||||
G4double fNonIonizingEnergyDeposit;
|
||||
// Accummulated non-ionizing energy desposit in the current Step
|
||||
|
||||
//---------
|
||||
private:
|
||||
//---------
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4Step.icc,v 1.15 2006/10/30 09:50:13 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4Step.icc,v 1.16 2007/03/25 22:54:52 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -123,6 +123,18 @@ inline
|
||||
fTotalEnergyDeposit = 0.;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4Step::AddNonIonizingEnergyDeposit(G4double value)
|
||||
{
|
||||
fNonIonizingEnergyDeposit += value;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4Step::ResetNonIonizingEnergyDeposit()
|
||||
{
|
||||
fNonIonizingEnergyDeposit = 0.;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4Step::SetControlFlag(G4SteppingControl value)
|
||||
{
|
||||
@@ -170,6 +182,7 @@ inline
|
||||
// Initialize G4Step attributes
|
||||
fStepLength = 0.;
|
||||
fTotalEnergyDeposit = 0.;
|
||||
fNonIonizingEnergyDeposit = 0.;
|
||||
fpTrack = aValue;
|
||||
fpTrack->SetStepLength(0.);
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StepPoint.hh,v 1.17 2006/10/31 10:01:43 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4StepPoint.hh,v 1.18 2007/03/11 07:19:06 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -39,12 +39,12 @@
|
||||
//
|
||||
// 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)
|
||||
// Hisaya Kurashige
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
// Added fpMaterial 16 FEb. 2000 H.Kurahige
|
||||
// Added fpMaterialCutsCouple 8 Oct. 2002 H.Kurahige
|
||||
// Added fMagneticMoment Mar 2007 H.Kurashige
|
||||
|
||||
#ifndef G4StepPoint_h
|
||||
#define G4StepPoint_h 1
|
||||
@@ -165,6 +165,9 @@ class G4StepPoint
|
||||
inline G4double GetCharge() const;
|
||||
inline void SetCharge(G4double value);
|
||||
|
||||
inline G4double GetMagneticMoment() const;
|
||||
inline void SetMagneticMoment(G4double value);
|
||||
|
||||
inline void SetWeight(G4double aValue);
|
||||
inline G4double GetWeight() const;
|
||||
|
||||
@@ -208,6 +211,8 @@ class G4StepPoint
|
||||
// Dynamical mass of the particle
|
||||
G4double fCharge;
|
||||
// Dynamical Charge of the particle
|
||||
G4double fMagneticMoment;
|
||||
// Dynamical MagneticMoment of the particle
|
||||
G4double fWeight;
|
||||
// Track Weight
|
||||
};
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StepPoint.icc,v 1.12 2006/10/31 10:01:43 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4StepPoint.icc,v 1.13 2007/03/11 07:19:06 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
|
||||
@@ -185,6 +185,15 @@
|
||||
inline void G4StepPoint::SetCharge(G4double value)
|
||||
{ fCharge = value; }
|
||||
|
||||
inline G4double G4StepPoint::GetMagneticMoment() const
|
||||
{
|
||||
return fMagneticMoment;
|
||||
}
|
||||
inline void G4StepPoint::SetMagneticMoment(G4double value)
|
||||
{
|
||||
fMagneticMoment = value;
|
||||
}
|
||||
|
||||
inline G4Material* G4StepPoint::GetMaterial() const
|
||||
{ return fpMaterial; }
|
||||
inline void G4StepPoint::SetMaterial(G4Material* material)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4StepStatus.hh,v 1.4 2006/06/29 21:14:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4SteppingControl.hh,v 1.4 2006/06/29 21:14:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Track.hh,v 1.18 2006/06/29 21:14:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Track.icc,v 1.14 2006/06/29 21:14:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//-----------------------------------------------------------------
|
||||
// Definitions of inline functions
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TrackFastVector.hh,v 1.5 2006/06/29 21:14:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TrackStatus.hh,v 1.4 2006/06/29 21:14:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4TrackVector.hh,v 1.2 2006/07/17 13:48:28 asaim Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VParticleChange.hh,v 1.15 2006/10/30 09:50:13 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VParticleChange.hh,v 1.16 2007/03/25 22:54:52 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// ------------------------------------------------------------
|
||||
@@ -72,6 +72,7 @@
|
||||
// add new methods of ProposeXXX 08 May, 04 H.Kurashige
|
||||
// remove obsolete methods of SetXXX 19 Sep, 04 H.Kurashige
|
||||
// add flag for first/last step in volume 30 Oct. 2006 H.Kurashige
|
||||
// add nonIonizingEnergyLoss 26 Mar 2007 H.Kurashige
|
||||
//
|
||||
|
||||
#ifndef G4VParticleChange_h
|
||||
@@ -149,6 +150,11 @@ class G4VParticleChange
|
||||
G4double GetLocalEnergyDeposit() const;
|
||||
void ProposeLocalEnergyDeposit(G4double anEnergyPart);
|
||||
// Get/Propose the locally deposited energy
|
||||
|
||||
//---- the following methods are for nonIonizingEnergyDeposit ----
|
||||
G4double GetNonIonizingEnergyDeposit() const;
|
||||
void ProposeNonIonizingEnergyDeposit(G4double anEnergyPart);
|
||||
// Get/Propose the non-ionizing deposited energy
|
||||
|
||||
//---- the following methods are for TrackStatus -----
|
||||
G4TrackStatus GetTrackStatus() const;
|
||||
@@ -242,7 +248,12 @@ class G4VParticleChange
|
||||
// coming from the continuous processes gives the
|
||||
// total energy loss localized in the current Step.
|
||||
|
||||
G4double theTrueStepLength;
|
||||
G4double theNonIonizingEnergyDeposit;
|
||||
// non-ionizing energu deposit is defined as
|
||||
// a part of local energy deposit, which does not cause
|
||||
// ionization of atoms
|
||||
|
||||
G4double theTrueStepLength;
|
||||
// The value of "True" Step Length
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VParticleChange.icc,v 1.15 2006/11/03 17:46:08 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VParticleChange.icc,v 1.16 2007/03/25 22:54:52 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// remove obsolete methods of SetXXX 19 Sep, 04 H.Kurashige
|
||||
//----------------------------------------------------------------
|
||||
@@ -37,6 +37,7 @@ inline G4Step* G4VParticleChange::UpdateStepInfo(G4Step* pStep)
|
||||
// Update the G4Step specific attributes
|
||||
pStep->SetStepLength( theTrueStepLength );
|
||||
pStep->AddTotalEnergyDeposit( theLocalEnergyDeposit );
|
||||
pStep->AddNonIonizingEnergyDeposit( theNonIonizingEnergyDeposit );
|
||||
pStep->SetControlFlag( theSteppingControlFlag );
|
||||
|
||||
if (theFirstStepInVolume) {pStep->SetFirstStepFlag();}
|
||||
@@ -154,6 +155,18 @@ inline
|
||||
theLocalEnergyDeposit = anEnergyPart;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VParticleChange::GetNonIonizingEnergyDeposit() const
|
||||
{
|
||||
return theNonIonizingEnergyDeposit;
|
||||
}
|
||||
|
||||
inline
|
||||
void G4VParticleChange::ProposeNonIonizingEnergyDeposit(G4double anEnergyPart)
|
||||
{
|
||||
theNonIonizingEnergyDeposit = anEnergyPart;
|
||||
}
|
||||
|
||||
inline
|
||||
G4double G4VParticleChange::GetTrueStepLength() const
|
||||
{
|
||||
@@ -194,6 +207,7 @@ inline
|
||||
{
|
||||
// clear theLocalEnergyDeposited
|
||||
theLocalEnergyDeposit = 0.0;
|
||||
theNonIonizingEnergyDeposit = 0.0;
|
||||
}
|
||||
|
||||
inline
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VUserTrackInformation.hh,v 1.6 2006/06/29 21:14:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4FieldTrackUpdator.cc,v 1.2 2006/12/13 15:49:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
// M. Asai - first implementation Apr/28/2006
|
||||
//
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChange.cc,v 1.28 2006/06/29 21:15:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4ParticleChange.cc,v 1.30 2007/03/30 01:03:53 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -39,6 +39,8 @@
|
||||
// Add Track weight 12 Nov. 1998 H.Kurashige
|
||||
// Activate CheckIt method for VERBOSE mode 14 Dec. 1998 H.Kurashige
|
||||
// Modified CheckIt method for time 9 Feb. 1999 H.Kurashige
|
||||
// Rename SetXXX methods to ProposeXXX DynamicCharge Oct. 2005 H.Kurashige
|
||||
// Add get/ProposeMagneticMoment Mar 2007 H.Kurashige
|
||||
// --------------------------------------------------------------
|
||||
|
||||
#include "G4ParticleChange.hh"
|
||||
@@ -51,6 +53,9 @@
|
||||
|
||||
G4ParticleChange::G4ParticleChange():G4VParticleChange()
|
||||
{
|
||||
G4VParticleChange::SetSecondaryWeightByProcess(false);
|
||||
G4VParticleChange::SetParentWeightByProcess(false);
|
||||
|
||||
}
|
||||
|
||||
G4ParticleChange::~G4ParticleChange()
|
||||
@@ -75,7 +80,8 @@ G4ParticleChange::G4ParticleChange(const G4ParticleChange &right): G4VParticleCh
|
||||
theEnergyChange = right.theEnergyChange;
|
||||
theMassChange = right.theMassChange;
|
||||
theChargeChange = right.theChargeChange;
|
||||
theWeightChange = right.theWeightChange;
|
||||
theMagneticMomentChange = right.theMagneticMomentChange;
|
||||
// theWeightChange = right.theWeightChange;
|
||||
theProperTimeChange = right.theProperTimeChange;
|
||||
}
|
||||
|
||||
@@ -99,7 +105,8 @@ G4ParticleChange & G4ParticleChange::operator=(const G4ParticleChange &right)
|
||||
theEnergyChange = right.theEnergyChange;
|
||||
theMassChange = right.theMassChange;
|
||||
theChargeChange = right.theChargeChange;
|
||||
theWeightChange = right.theWeightChange;
|
||||
theMagneticMomentChange = right.theMagneticMomentChange;
|
||||
// theWeightChange = right.theWeightChange;
|
||||
|
||||
theTrueStepLength = right.theTrueStepLength;
|
||||
theLocalEnergyDeposit = right.theLocalEnergyDeposit;
|
||||
@@ -196,15 +203,16 @@ void G4ParticleChange::Initialize(const G4Track& track)
|
||||
thePolarizationChange = pParticle->GetPolarization();
|
||||
theProperTimeChange = pParticle->GetProperTime();
|
||||
|
||||
// Set mass/charge of DynamicParticle
|
||||
// Set mass/charge/MagneticMoment of DynamicParticle
|
||||
theMassChange = pParticle->GetMass();
|
||||
theChargeChange = pParticle->GetCharge();
|
||||
theMagneticMomentChange = pParticle->GetMagneticMoment();
|
||||
|
||||
// set Position/Time etc. equal to those of the parent track
|
||||
thePositionChange = track.GetPosition();
|
||||
theTimeChange = track.GetGlobalTime();
|
||||
|
||||
theWeightChange = track.GetWeight();
|
||||
// theWeightChange = track.GetWeight();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
@@ -228,9 +236,10 @@ G4Step* G4ParticleChange::UpdateStepForAlongStep(G4Step* pStep)
|
||||
G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint();
|
||||
G4double mass = theMassChange;
|
||||
|
||||
// Set Mass/Charge
|
||||
// Set Mass/Charge/MagneticMoment
|
||||
pPostStepPoint->SetMass(theMassChange);
|
||||
pPostStepPoint->SetCharge(theChargeChange);
|
||||
pPostStepPoint->SetMagneticMoment(theMagneticMomentChange);
|
||||
|
||||
// calculate new kinetic energy
|
||||
G4double energy = pPostStepPoint->GetKineticEnergy()
|
||||
@@ -271,8 +280,11 @@ G4Step* G4ParticleChange::UpdateStepForAlongStep(G4Step* pStep)
|
||||
- pPreStepPoint->GetProperTime());
|
||||
|
||||
// update weight
|
||||
G4double newWeight= theWeightChange/(pPreStepPoint->GetWeight())*(pPostStepPoint->GetWeight());
|
||||
pPostStepPoint->SetWeight( newWeight );
|
||||
if (!fSetParentWeightByProcess){
|
||||
G4double newWeight= theParentWeight/(pPreStepPoint->GetWeight())
|
||||
* (pPostStepPoint->GetWeight());
|
||||
pPostStepPoint->SetWeight( newWeight );
|
||||
}
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
G4Track* aTrack = pStep->GetTrack();
|
||||
@@ -297,6 +309,7 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep)
|
||||
// Set Mass/Charge
|
||||
pPostStepPoint->SetMass(theMassChange);
|
||||
pPostStepPoint->SetCharge(theChargeChange);
|
||||
pPostStepPoint->SetMagneticMoment(theMagneticMomentChange);
|
||||
|
||||
// update kinetic energy and momentum direction
|
||||
pPostStepPoint->SetMomentumDirection(theMomentumDirectionChange);
|
||||
@@ -313,7 +326,10 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep)
|
||||
pPostStepPoint->SetProperTime( theProperTimeChange );
|
||||
|
||||
// update weight
|
||||
pPostStepPoint->SetWeight( theWeightChange );
|
||||
if (!fSetParentWeightByProcess){
|
||||
pPostStepPoint->SetWeight( theParentWeight );
|
||||
}
|
||||
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if (debugFlag) CheckIt(*aTrack);
|
||||
@@ -334,6 +350,7 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep)
|
||||
// Set Mass/Charge
|
||||
pPostStepPoint->SetMass(theMassChange);
|
||||
pPostStepPoint->SetCharge(theChargeChange);
|
||||
pPostStepPoint->SetMagneticMoment(theMagneticMomentChange);
|
||||
|
||||
// update kinetic energy and momentum direction
|
||||
pPostStepPoint->SetMomentumDirection(theMomentumDirectionChange);
|
||||
@@ -350,7 +367,9 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep)
|
||||
pPostStepPoint->SetProperTime( theProperTimeChange );
|
||||
|
||||
// update weight
|
||||
pPostStepPoint->SetWeight( theWeightChange );
|
||||
if (!fSetParentWeightByProcess){
|
||||
pPostStepPoint->SetWeight( theParentWeight );
|
||||
}
|
||||
|
||||
#ifdef G4VERBOSE
|
||||
if (debugFlag) CheckIt(*aTrack);
|
||||
@@ -377,6 +396,12 @@ void G4ParticleChange::DumpInfo() const
|
||||
G4cout << " Charge (eplus) : "
|
||||
<< std::setw(20) << theChargeChange/eplus
|
||||
<< G4endl;
|
||||
G4cout << " MagneticMoment : "
|
||||
<< std::setw(20) << theMagneticMomentChange << G4endl;
|
||||
G4cout << " : = " << std::setw(20)
|
||||
<< theMagneticMomentChange*2.*theMassChange/c_squared/eplus/hbar_Planck
|
||||
<< "*[e hbar]/[2 m]"
|
||||
<< G4endl;
|
||||
G4cout << " Position - x (mm) : "
|
||||
<< std::setw(20) << thePositionChange.x()/mm
|
||||
<< G4endl;
|
||||
@@ -413,9 +438,6 @@ void G4ParticleChange::DumpInfo() const
|
||||
G4cout << " Polarization - z : "
|
||||
<< std::setw(20) << thePolarizationChange.z()
|
||||
<< G4endl;
|
||||
G4cout << " Track Weight : "
|
||||
<< std::setw(20) << theWeightChange
|
||||
<< G4endl;
|
||||
}
|
||||
|
||||
G4bool G4ParticleChange::CheckIt(const G4Track& aTrack)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForDecay.cc,v 1.11 2006/06/29 21:15:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForGamma.cc,v 1.3 2006/08/28 16:10:29 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForLoss.cc,v 1.16 2006/08/28 16:10:29 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForMSC.cc,v 1.13 2006/06/29 21:15:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4ParticleChangeForTransport.cc,v 1.19 2006/11/03 17:45:04 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Step.cc,v 1.7 2006/10/30 09:50:13 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4StepPoint.cc,v 1.12 2006/10/31 10:01:43 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4StepPoint.cc,v 1.13 2007/03/11 07:19:06 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
@@ -39,8 +39,7 @@
|
||||
//
|
||||
// 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)
|
||||
// Hisaya Kurashige
|
||||
//
|
||||
// ---------------------------------------------------------------
|
||||
|
||||
@@ -74,5 +73,6 @@ G4StepPoint::G4StepPoint(const G4StepPoint &right):
|
||||
fpProcessDefinedStep(right.fpProcessDefinedStep),
|
||||
fMass(right.fMass),
|
||||
fCharge(right.fCharge),
|
||||
fMagneticMoment(right.fMagneticMoment),
|
||||
fWeight(right.fWeight)
|
||||
{}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4Track.cc,v 1.29 2006/06/29 21:15:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VParticleChange.cc,v 1.19 2006/10/30 09:50:13 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// $Id: G4VParticleChange.cc,v 1.20 2007/03/25 22:54:52 kurasige Exp $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
@@ -51,6 +51,7 @@ G4VParticleChange::G4VParticleChange():
|
||||
theStatusChange(fAlive),
|
||||
theSteppingControlFlag(NormalCondition),
|
||||
theLocalEnergyDeposit(0.0),
|
||||
theNonIonizingEnergyDeposit(0.0),
|
||||
theFirstStepInVolume(false),
|
||||
theLastStepInVolume(false),
|
||||
verboseLevel(1),
|
||||
@@ -89,6 +90,7 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right):
|
||||
theStatusChange(fAlive),
|
||||
theSteppingControlFlag(NormalCondition),
|
||||
theLocalEnergyDeposit(0.0),
|
||||
theNonIonizingEnergyDeposit(0.0),
|
||||
theFirstStepInVolume(false),
|
||||
theLastStepInVolume(false),
|
||||
verboseLevel(1),
|
||||
@@ -107,6 +109,7 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right):
|
||||
theStatusChange = right.theStatusChange;
|
||||
theTrueStepLength = right.theTrueStepLength;
|
||||
theLocalEnergyDeposit = right.theLocalEnergyDeposit;
|
||||
theNonIonizingEnergyDeposit = right.theNonIonizingEnergyDeposit;
|
||||
theSteppingControlFlag = right.theSteppingControlFlag;
|
||||
fSetParentWeightByProcess = right.fSetParentWeightByProcess;
|
||||
|
||||
@@ -130,6 +133,7 @@ G4VParticleChange & G4VParticleChange::operator=(const G4VParticleChange &right)
|
||||
theStatusChange = right.theStatusChange;
|
||||
theTrueStepLength = right.theTrueStepLength;
|
||||
theLocalEnergyDeposit = right.theLocalEnergyDeposit;
|
||||
theNonIonizingEnergyDeposit = right.theNonIonizingEnergyDeposit;
|
||||
theSteppingControlFlag = right.theSteppingControlFlag;
|
||||
fSetParentWeightByProcess = right.fSetParentWeightByProcess;
|
||||
|
||||
@@ -183,6 +187,10 @@ void G4VParticleChange::DumpInfo() const
|
||||
<< std::setw(20) << theLocalEnergyDeposit/MeV
|
||||
<< G4endl;
|
||||
|
||||
G4cout << " Non-ionizing Energy Deposit (MeV): "
|
||||
<< std::setw(20) << theNonIonizingEnergyDeposit/MeV
|
||||
<< G4endl;
|
||||
|
||||
G4cout << " Track Status : "
|
||||
<< std::setw(20);
|
||||
if( theStatusChange == fAlive ){
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4VUserTrackInformation.cc,v 1.2 2006/06/29 21:15:21 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-08-02 $
|
||||
// GEANT4 tag $Name: geant4-09-00 $
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user