Import Geant4 9.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:16:48 +02:00
parent 75c7fd177d
commit a8e9364cea
6592 changed files with 84274 additions and 69292 deletions
+6 -2
View File
@@ -1,4 +1,4 @@
# $Id: GNUmakefile,v 1.34 2006/12/05 15:54:43 gcosmo Exp $
# $Id: GNUmakefile,v 1.38 2007/05/31 08:12:53 gcosmo Exp $
# ----------------------------------------------------------------------
# GNUmakefile for processes library, Gabriele Cosmo 27-Jun-1998
# ----------------------------------------------------------------------
@@ -10,6 +10,7 @@ SUBDIRS += cuts
SUBDIRS += optical
SUBDIRS += decay
SUBDIRS += scoring
SUBDIRS += biasing
SUBDIRS += transportation
SUBDIRS += parameterisation
SUBDIRS += electromagnetic/muons
@@ -24,7 +25,8 @@ SUBLIBS = G4procman
SUBLIBS += G4cuts
SUBLIBS += G4optical
SUBLIBS += G4decay
SUBLIBS += G4scoring
SUBLIBS += G4scoring
SUBLIBS += G4biasing
SUBLIBS += G4transportation
SUBLIBS += G4parameterisation
SUBLIBS += G4muons
@@ -64,6 +66,7 @@ SUBDIRS += hadronic/models/high_energy
SUBDIRS += hadronic/models/im_r_matrix
SUBDIRS += hadronic/models/isotope_production
SUBDIRS += hadronic/models/leading_particle
SUBDIRS += hadronic/models/lll_fission
SUBDIRS += hadronic/models/low_energy
SUBDIRS += hadronic/models/management
SUBDIRS += hadronic/models/neutron_hp
@@ -93,6 +96,7 @@ SUBLIBS += G4had_im_r_matrix
SUBLIBS += G4hadronic_iso
SUBLIBS += G4hadronic_leading_particle
SUBLIBS += G4hadronic_LE
SUBLIBS += G4had_lll_fis
SUBLIBS += G4had_mod_man
SUBLIBS += G4had_neu_hp
SUBLIBS += G4hadronic_radioactivedecay
+35
View File
@@ -0,0 +1,35 @@
# $Id: GNUmakefile,v 1.2 2007/05/30 17:58:37 ahoward Exp $
# ------------------------------------------------------------
# GNUmakefile for biasing process library.
# ------------------------------------------------------------
name := G4biasing
ifndef G4INSTALL
G4INSTALL = ../../..
endif
include $(G4INSTALL)/config/architecture.gmk
CPPFLAGS += \
-I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPGeometry/include \
-I$(G4BASE)/geometry/management/include \
-I$(G4BASE)/geometry/volumes/include \
-I$(G4BASE)/geometry/navigation/include \
-I$(G4BASE)/geometry/magneticfield/include \
-I$(G4BASE)/geometry/biasing/include \
-I$(G4BASE)/track/include \
-I$(G4BASE)/processes/management/include \
-I$(G4BASE)/processes/electromagnetic/utils/include \
-I$(G4BASE)/processes/cuts/include \
-I$(G4BASE)/particles/management/include \
-I$(G4BASE)/materials/include \
-I$(G4BASE)/intercoms/include \
-I$(G4BASE)/digits_hits/detector/include \
-I$(G4BASE)/digits_hits/hits/include \
-I$(G4BASE)/processes/transportation/include
include $(G4INSTALL)/config/common.gmk
+60
View File
@@ -0,0 +1,60 @@
$Id: History,v 1.15 2007/06/25 06:59:17 ahoward Exp $
-------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
Category History file
---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
June 22nd, 2007 Alex Howard (procbiasing-V08-03-08)
- Added missing member function to G4VSampler base class
June 12th, 2007 Alex Howard (procbiasing-V08-03-05)
- Added CoupledTransportation name to G4ProcessPlacer
June 1st, 2007 Alex Howard (procbiasing-V08-03-04)
- Added missing source file G4VProcessPlacer.cc previously resident in
processes/transportation
- Removed scoring inheritance in G4VSampler
- HEAD maintains inheritance for backward comparisons/testing
June 1st, 2007 Alex Howard (procbiasing-V08-03-03)
- Renamed New classes back to normal classes, simultaneously
processes/transportation old biasing classes renamed with
suffix 8 to avoid clashes.
- includes modified G4GeometrySampler (without scoring)
- HEAD contains un-modifier G4GeometrySampler and depends on old scoring scheme
in geometry/biasing.
May 31st, 2007 Alex Howard (procbiasing-V08-03-02)
- removed dependency on old biasing within transportation and on old scoring
within geometry
- G4GeometrySampler is modified to remove scoring dependency
- HEAD of G4GeometrySampler is the old file
- HEAD contains a different version of G4GeometrySampler that includes the old
biasing scoring for the purpose of testing
May 30th, 2007 Alex Howard (procbiasing-V08-03-01)
- added missing includes to GNUmakefile
May 30th, 2007 Alex Howard (procbiasing-V08-03-00)
- migrated classes and tests from processes/scoring
May 25th, 2007 Jane Tinslay
- Add tests for physics biasing under test/physics_biasing
March 21st, 2007 G.Cosmo
- Module and history file created.
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GCellFinder.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4GCellFinder.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ParallelGCellFinder
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GeometrySampler.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4GeometrySampler.hh,v 1.9 2007/06/01 09:52:23 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometrySampler
@@ -47,8 +47,8 @@
class G4ImportanceConfigurator;
class G4WeightWindowConfigurator;
class G4ScoreConfigurator;
class G4NewWeightCutOffConfigurator;
//class G4ScoreConfigurator;
class G4WeightCutOffConfigurator;
class G4VGCellFinder;
class G4GeometrySampler : public G4VSampler
@@ -59,7 +59,7 @@ public: // with description
explicit G4GeometrySampler(G4VPhysicalVolume *worldvolume, const G4String &particlename);
virtual ~G4GeometrySampler();
virtual void PrepareScoring(G4VScorer *Scorer);
// virtual void PrepareScoring(G4VScorer *Scorer);
virtual void PrepareImportanceSampling(G4VIStore *istore,
const G4VImportanceAlgorithm
*ialg);
@@ -90,9 +90,9 @@ private:
G4String fParticleName;
G4VPhysicalVolume* fWorld;
G4ImportanceConfigurator *fImportanceConfigurator;
G4ScoreConfigurator *fScoreConfigurator;
// G4ScoreConfigurator *fScoreConfigurator;
G4VGCellFinder *fGCellFinder;
G4NewWeightCutOffConfigurator *fNewWeightCutOffConfigurator;
G4WeightCutOffConfigurator *fWeightCutOffConfigurator;
G4VIStore *fIStore;
G4WeightWindowConfigurator *fWeightWindowConfigurator;
G4VWeightWindowStore *fWWStore;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ImportanceConfigurator.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ImportanceConfigurator.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ImportanceConfigurator
@@ -42,7 +42,7 @@
#define G4ImportanceConfigurator_hh G4ImportanceConfigurator_hh
#include "G4Types.hh"
#include "G4NewProcessPlacer.hh"
#include "G4ProcessPlacer.hh"
#include "G4VSamplerConfigurator.hh"
class G4ImportanceProcess;
@@ -72,7 +72,7 @@ private:
operator=(const G4ImportanceConfigurator &);
G4VPhysicalVolume* fWorld;
G4NewProcessPlacer fPlacer;
G4ProcessPlacer fPlacer;
G4VIStore &fIStore;
G4bool fDeleteIalg;
const G4VImportanceAlgorithm *fIalgorithm;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ImportanceProcess.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ImportanceProcess.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ImportanceProcess
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4PlaceOfAction.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4PlaceOfAction.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4PlaceOfAction
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ProcessPlacer.hh,v 1.8 2006/06/29 21:10:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ProcessPlacer.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ProcessPlacer
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SamplingPostStepAction.hh,v 1.2 2006/06/29 21:10:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4SamplingPostStepAction.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4SamplingPostStepAction
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4TrackTerminator.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4TrackTerminator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4TrackTerminator
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VProcessPlacer.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VProcessPlacer.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VProcessPlacer
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VSampler.hh,v 1.10 2006/06/29 21:10:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VSampler.hh,v 1.8 2007/06/25 06:57:22 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VSampler
@@ -50,7 +50,7 @@ class G4VImportanceAlgorithm;
class G4VIStore;
class G4VWeightWindowAlgorithm;
class G4VWeightWindowStore;
class G4VScorer;
//class G4VScorer;
class G4VSampler
{
@@ -60,7 +60,8 @@ public: // with description
G4VSampler();
virtual ~G4VSampler();
virtual void PrepareScoring(G4VScorer *Scorer) = 0;
// virtual void PrepareScoring(G4VScorer *Scorer) = 0;
// virtual void PrepareScoring() = 0;
virtual void PrepareImportanceSampling(G4VIStore *istore,
const G4VImportanceAlgorithm
@@ -83,6 +84,9 @@ public: // with description
virtual G4bool IsConfigured() const = 0;
// check if some initialization hase already been done
virtual void SetParallel(G4bool paraflag) = 0;
};
#endif
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VSamplerConfigurator.hh,v 1.7 2006/06/29 21:10:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VSamplerConfigurator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4VSamplerConfigurator
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightCutOffConfigurator.hh,v 1.5 2006/06/29 21:10:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightCutOffConfigurator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightCutOffConfigurator
@@ -47,18 +47,20 @@
class G4WeightCutOffProcess;
class G4VGCellFinder;
class G4VIStore;
class G4VPhysicalVolume;
class G4WeightCutOffConfigurator : public G4VSamplerConfigurator
{
public: // with description
G4WeightCutOffConfigurator(const G4String &particlename,
G4WeightCutOffConfigurator(G4VPhysicalVolume* worldvolume,
const G4String &particlename,
G4double wsurvival,
G4double wlimit,
G4double isource,
G4VIStore *istore,
const G4VGCellFinder &aGCellFinder);
const G4VGCellFinder &aGCellFinder,G4bool paraflag);
virtual ~G4WeightCutOffConfigurator();
virtual void Configure(G4VSamplerConfigurator *preConf);
@@ -69,9 +71,14 @@ private:
G4WeightCutOffConfigurator(const G4WeightCutOffConfigurator&);
G4WeightCutOffConfigurator &
operator=(const G4WeightCutOffConfigurator&);
G4VPhysicalVolume* fWorld;
G4ProcessPlacer fPlacer;
G4WeightCutOffProcess *fWeightCutOffProcess;
G4bool fPlaced;
G4bool paraflag;
};
#endif
@@ -24,11 +24,11 @@
// ********************************************************************
//
//
// $Id: G4NewWeightCutOffProcess.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightCutOffProcess.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4NewWeightCutOffProcess
// Class G4WeightCutOffProcess
//
// Class description:
//
@@ -36,8 +36,8 @@
// Author: Michael Dressel (Michael.Dressel@cern.ch)
// ----------------------------------------------------------------------
#ifndef G4NewWeightCutOffProcess_hh
#define G4NewWeightCutOffProcess_hh G4NewWeightCutOffProcess_hh
#ifndef G4WeightCutOffProcess_hh
#define G4WeightCutOffProcess_hh G4WeightCutOffProcess_hh
#include "G4VProcess.hh"
#include "G4VTrackTerminator.hh"
@@ -57,20 +57,20 @@ class G4VTouchable;
class G4NewWeightCutOffProcess : public G4VProcess
class G4WeightCutOffProcess : public G4VProcess
{
public: // with description
G4NewWeightCutOffProcess(G4double wsurvival,
G4WeightCutOffProcess(G4double wsurvival,
G4double wlimit,
G4double isource,
G4VIStore *istore,
const G4VGCellFinder &aGCellFinder,
const G4String &aName = "NewWeightCutOffProcess", G4bool para = false);
const G4String &aName = "WeightCutOffProcess", G4bool para = false);
// create a G4ParticleChange
virtual ~G4NewWeightCutOffProcess();
virtual ~G4WeightCutOffProcess();
// delete the G4ParticleChange
@@ -125,8 +125,8 @@ private:
G4StepPoint * fGhostPreStepPoint;
G4StepPoint * fGhostPostStepPoint;
G4NewWeightCutOffProcess(const G4NewWeightCutOffProcess &);
G4NewWeightCutOffProcess &operator=(const G4NewWeightCutOffProcess &);
G4WeightCutOffProcess(const G4WeightCutOffProcess &);
G4WeightCutOffProcess &operator=(const G4WeightCutOffProcess &);
G4ParticleChange *fParticleChange;
G4double fWeightSurvival;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightWindowConfigurator.hh,v 1.1 2006/11/20 10:02:07 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightWindowConfigurator.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightWindowConfigurator
@@ -40,7 +40,7 @@
#define G4WeightWindowConfigurator_hh G4WeightWindowConfigurator_hh
#include "G4Types.hh"
#include "G4NewProcessPlacer.hh"
#include "G4ProcessPlacer.hh"
#include "G4VSamplerConfigurator.hh"
#include "G4PlaceOfAction.hh"
@@ -72,7 +72,7 @@ private:
operator=(const G4WeightWindowConfigurator &);
G4VPhysicalVolume* fWorld;
G4NewProcessPlacer fPlacer;
G4ProcessPlacer fPlacer;
G4VWeightWindowStore &fWeightWindowStore;
G4bool fDeleteWWalg;
const G4VWeightWindowAlgorithm *fWWalgorithm;
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightWindowProcess.hh,v 1.1 2006/11/20 10:02:07 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightWindowProcess.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4MassWeioghtWindowProcess
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GCellFinder.cc,v 1.1 2006/11/20 10:02:15 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4GCellFinder.cc,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4GeometrySampler.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4GeometrySampler.cc,v 1.8 2007/06/01 09:52:23 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -38,13 +38,13 @@
#include "G4VIStore.hh"
#include "G4WeightWindowStore.hh"
#include "G4VScorer.hh"
//#include "G4VScorer.hh"
#include "G4VPhysicalVolume.hh"
#include "G4ScoreConfigurator.hh"
//#include "G4ScoreConfigurator.hh"
#include "G4ImportanceConfigurator.hh"
#include "G4WeightWindowConfigurator.hh"
#include "G4NewWeightCutOffConfigurator.hh"
#include "G4WeightCutOffConfigurator.hh"
#include "G4GCellFinder.hh"
G4GeometrySampler::
@@ -52,9 +52,9 @@
: fParticleName(particlename),
fWorld(parallelworld),
fImportanceConfigurator(0),
fScoreConfigurator(0),
// fScoreConfigurator(0),
fGCellFinder(0),
fNewWeightCutOffConfigurator(0),
fWeightCutOffConfigurator(0),
fIStore(0),
fWeightWindowConfigurator(0),
fWWStore(0),
@@ -80,15 +80,15 @@ void G4GeometrySampler::ClearSampling()
delete fWeightWindowConfigurator;
fWeightWindowConfigurator = 0;
}
if (fScoreConfigurator)
// if (fScoreConfigurator)
// {
// delete fScoreConfigurator;
// fScoreConfigurator = 0;
// }
if (fWeightCutOffConfigurator)
{
delete fScoreConfigurator;
fScoreConfigurator = 0;
}
if (fNewWeightCutOffConfigurator)
{
delete fNewWeightCutOffConfigurator;
fNewWeightCutOffConfigurator = 0;
delete fWeightCutOffConfigurator;
fWeightCutOffConfigurator = 0;
}
if (fGCellFinder)
{
@@ -113,25 +113,25 @@ G4bool G4GeometrySampler::IsConfigured() const
return isconf;
}
void G4GeometrySampler::PrepareScoring(G4VScorer *scorer)
{
G4cout << " preparing scoring configurator " << G4endl;
G4cout << G4endl;
G4cout << G4endl;
G4cout << G4endl;
G4cout << " new fWorld Name: " << fWorld->GetName() << G4endl;
G4cout << G4endl;
G4cout << G4endl;
G4cout << G4endl;
fScoreConfigurator = new G4ScoreConfigurator(fWorld, fParticleName, *scorer, paraflag);
G4cout << " configured scoring " << G4endl;
if (!fScoreConfigurator)
{
G4Exception("G4GeometrySampler::PrepareScoring()",
"FatalError", FatalException,
"Failed allocation of G4ScoreConfigurator !");
}
}
// void G4GeometrySampler::PrepareScoring(G4VScorer *scorer)
// {
// G4cout << " preparing scoring configurator " << G4endl;
// G4cout << G4endl;
// G4cout << G4endl;
// G4cout << G4endl;
// G4cout << " new fWorld Name: " << fWorld->GetName() << G4endl;
// G4cout << G4endl;
// G4cout << G4endl;
// G4cout << G4endl;
// fScoreConfigurator = new G4ScoreConfigurator(fWorld, fParticleName, *scorer, paraflag);
// G4cout << " configured scoring " << G4endl;
// if (!fScoreConfigurator)
// {
// G4Exception("G4GeometrySampler::PrepareScoring()",
// "FatalError", FatalException,
// "Failed allocation of G4ScoreConfigurator !");
// }
// }
void
G4GeometrySampler::PrepareImportanceSampling(G4VIStore *istore,
@@ -169,18 +169,18 @@ G4GeometrySampler::PrepareWeightRoulett(G4double wsurvive,
"Failed allocation of G4GCellFinder !");
}
fNewWeightCutOffConfigurator =
new G4NewWeightCutOffConfigurator(fWorld, fParticleName,
fWeightCutOffConfigurator =
new G4WeightCutOffConfigurator(fWorld, fParticleName,
wsurvive,
wlimit,
isource,
fIStore,
*fGCellFinder, paraflag);
if (!fNewWeightCutOffConfigurator)
if (!fWeightCutOffConfigurator)
{
G4Exception("G4GeometrySampler::PrepareWeightRoulett()",
"FatalError", FatalException,
"Failed allocation of G4NewWeightCutOffConfigurator !");
"Failed allocation of G4WeightCutOffConfigurator !");
}
}
@@ -208,12 +208,12 @@ void G4GeometrySampler::Configure()
{
fIsConfigured = true;
if (fScoreConfigurator)
{
G4cout << " score configurator push_back " << G4endl;
fConfigurators.push_back(fScoreConfigurator);
G4cout << " pushed " << G4endl;
}
// if (fScoreConfigurator)
// {
// G4cout << " score configurator push_back " << G4endl;
// fConfigurators.push_back(fScoreConfigurator);
// G4cout << " pushed " << G4endl;
// }
if (fImportanceConfigurator)
{
G4cout << " importance configurator push_back " << G4endl;
@@ -241,10 +241,10 @@ void G4GeometrySampler::Configure()
G4cout << " configure preconf " << G4endl;
preConf = *it;
}
if (fNewWeightCutOffConfigurator)
if (fWeightCutOffConfigurator)
{
G4cout << " NEW weight window configure " << G4endl;
fNewWeightCutOffConfigurator->Configure(0);
fWeightCutOffConfigurator->Configure(0);
G4cout << " configured " << G4endl;
}
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ImportanceConfigurator.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ImportanceConfigurator.cc,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4ImportanceConfigurator
@@ -36,7 +36,7 @@
#include "G4ImportanceConfigurator.hh"
#include "G4ImportanceProcess.hh"
#include "G4NewProcessPlacer.hh"
#include "G4ProcessPlacer.hh"
#include "G4ImportanceAlgorithm.hh"
G4ImportanceConfigurator::
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ImportanceProcess.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ImportanceProcess.cc,v 1.3 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ProcessPlacer.cc,v 1.16 2006/11/14 09:11:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4ProcessPlacer.cc,v 1.3 2007/06/12 17:24:39 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -90,8 +90,9 @@ void G4ProcessPlacer::AddProcessAs(G4VProcess *process, SecondOrLast sol)
{
G4Exception(" G4ProcessPlacer:: could not get process id=0");
}
if (transportation->GetProcessName() != "Transportation")
if (transportation->GetProcessName() != "Transportation" && transportation->GetProcessName() != "Transportation8" && transportation->GetProcessName() != "CoupledTransportation")
{
// G4cout << " GOT HERE CoupledTransportation" << G4endl;
G4cout << transportation->GetProcessName() << G4endl;
G4Exception(" G4ProcessPlacer:: process id=0 is not Transportation");
}
@@ -100,6 +101,10 @@ void G4ProcessPlacer::AddProcessAs(G4VProcess *process, SecondOrLast sol)
GetProcessManager()->AddProcess(process);
GetProcessManager()->SetProcessOrderingToFirst(process,
idxPostStep);
// xx test
// if(process->GetProcessName() == "ImportanceProcess")
GetProcessManager()->SetProcessOrdering(process,
idxAlongStep, 1);
// place transportation first again
GetProcessManager()->SetProcessOrderingToFirst(transportation,
idxPostStep);
@@ -151,7 +156,7 @@ G4ProcessManager *G4ProcessPlacer::GetProcessManager()
if (!processmanager)
{
G4Exception("G4ProcessPlacer::GetProcessManager()", "InvalidSetup",
FatalException, "NULL pointer to Process Manager !");
FatalException, "NULL pointer to Process Manager ! Sampler.Configure() must be after PhysicsList instantiation");
}
return processmanager;
}
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4SamplingPostStepAction.cc,v 1.4 2006/06/29 21:12:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4SamplingPostStepAction.cc,v 1.2 2007/06/01 09:16:33 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VProcessPlacer.cc,v 1.4 2006/11/14 09:11:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VProcessPlacer.cc,v 1.1 2007/06/01 14:57:03 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VSampler.cc,v 1.4 2006/10/16 18:19:53 japost Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VSampler.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VSamplerConfigurator.cc,v 1.4 2006/11/14 09:11:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VSamplerConfigurator.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightCutOffConfigurator.cc,v 1.7 2006/11/14 09:11:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightCutOffConfigurator.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightCutOffConfigurator
@@ -37,17 +37,20 @@
#include "G4WeightCutOffProcess.hh"
G4WeightCutOffConfigurator::
G4WeightCutOffConfigurator(const G4String &particlename,
G4WeightCutOffConfigurator(G4VPhysicalVolume* worldvolume,
const G4String &particlename,
G4double wsurvival,
G4double wlimit,
G4double isource,
G4VIStore *istore,
const G4VGCellFinder &aGCellfinder)
: fPlacer(particlename),
fPlaced(false)
const G4VGCellFinder &aGCellfinder, G4bool para)
: fWorld(worldvolume),
fPlacer(particlename),
fPlaced(false),
paraflag(para)
{
fWeightCutOffProcess =
new G4WeightCutOffProcess(wsurvival,wlimit,isource,istore,aGCellfinder);
new G4WeightCutOffProcess(wsurvival,wlimit,isource,istore,aGCellfinder,"WeightCutOffProcess",paraflag);
if (!fWeightCutOffProcess)
{
G4Exception("G4WeightCutOffConfigurator::G4WeightCutOffConfigurator()",
@@ -67,6 +70,10 @@ G4WeightCutOffConfigurator::~G4WeightCutOffConfigurator()
void G4WeightCutOffConfigurator::Configure(G4VSamplerConfigurator *)
{
G4cout << " entering new weight window configure " << G4endl;
if(paraflag) fWeightCutOffProcess->SetParallelWorld(fWorld);
fPlacer.AddProcessAsLastDoIt(fWeightCutOffProcess);
fPlaced = true;
}
@@ -24,18 +24,18 @@
// ********************************************************************
//
//
// $Id: G4NewWeightCutOffProcess.cc,v 1.1 2006/11/20 10:02:17 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightCutOffProcess.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
//
// G4NewWeightCutOffProcess.cc
// G4WeightCutOffProcess.cc
//
// ----------------------------------------------------------------------
#include "G4NewWeightCutOffProcess.hh"
#include "G4VScorer.hh"
#include "G4WeightCutOffProcess.hh"
//#include "G4VScorer.hh"
#include "G4GeometryCellStep.hh"
#include "G4GCellFinder.hh"
#include "G4TouchableHandle.hh"
@@ -52,8 +52,8 @@
#include "G4FieldTrackUpdator.hh"
G4NewWeightCutOffProcess::
G4NewWeightCutOffProcess(G4double wsurvival,
G4WeightCutOffProcess::
G4WeightCutOffProcess(G4double wsurvival,
G4double wlimit,
G4double isource,
G4VIStore *istore,
@@ -70,7 +70,7 @@ G4NewWeightCutOffProcess(G4double wsurvival,
{
if (!fParticleChange)
{
G4Exception("G4NewWeightCutOffProcess::G4NewWeightCutOffProcess()",
G4Exception("G4WeightCutOffProcess::G4WeightCutOffProcess()",
"FatalError", FatalException,
"Failed to allocate G4ParticleChange !");
}
@@ -93,7 +93,7 @@ G4NewWeightCutOffProcess(G4double wsurvival,
}
G4NewWeightCutOffProcess::~G4NewWeightCutOffProcess()
G4WeightCutOffProcess::~G4WeightCutOffProcess()
{
delete fParticleChange;
delete fGhostStep;
@@ -105,7 +105,7 @@ G4NewWeightCutOffProcess::~G4NewWeightCutOffProcess()
// SetParallelWorld
//
//------------------------------------------------------
void G4NewWeightCutOffProcess::
void G4WeightCutOffProcess::
SetParallelWorld(G4String parallelWorldName)
{
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -117,7 +117,7 @@ SetParallelWorld(G4String parallelWorldName)
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
}
void G4NewWeightCutOffProcess::
void G4WeightCutOffProcess::
SetParallelWorld(G4VPhysicalVolume* parallelWorld)
{
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -134,7 +134,7 @@ SetParallelWorld(G4VPhysicalVolume* parallelWorld)
// StartTracking
//
//------------------------------------------------------
void G4NewWeightCutOffProcess::StartTracking(G4Track* trk)
void G4WeightCutOffProcess::StartTracking(G4Track* trk)
{
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Activate navigator and get the navigator ID
@@ -146,9 +146,9 @@ void G4NewWeightCutOffProcess::StartTracking(G4Track* trk)
{ fNavigatorID = fTransportationManager->ActivateNavigator(fGhostNavigator); }
else
{
G4Exception("G4NewWeightCutOffProcess::StartTracking",
G4Exception("G4WeightCutOffProcess::StartTracking",
"ProcParaWorld000",FatalException,
"G4NewWeightCutOffProcess is used for tracking without having a parallel world assigned");
"G4WeightCutOffProcess is used for tracking without having a parallel world assigned");
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -174,7 +174,7 @@ void G4NewWeightCutOffProcess::StartTracking(G4Track* trk)
}
G4double G4NewWeightCutOffProcess::
G4double G4WeightCutOffProcess::
PostStepGetPhysicalInteractionLength(const G4Track &,
G4double, G4ForceCondition* condition)
{
@@ -187,7 +187,7 @@ PostStepGetPhysicalInteractionLength(const G4Track &,
}
G4VParticleChange *
G4NewWeightCutOffProcess::PostStepDoIt(const G4Track& aTrack,
G4WeightCutOffProcess::PostStepDoIt(const G4Track& aTrack,
const G4Step &aStep)
{
fParticleChange->Initialize(aTrack);
@@ -252,12 +252,12 @@ G4NewWeightCutOffProcess::PostStepDoIt(const G4Track& aTrack,
return fParticleChange;
}
const G4String &G4NewWeightCutOffProcess::GetName() const
const G4String &G4WeightCutOffProcess::GetName() const
{
return theProcessName;
}
G4double G4NewWeightCutOffProcess::
G4double G4WeightCutOffProcess::
AlongStepGetPhysicalInteractionLength(
const G4Track& track, G4double previousStepSize, G4double currentMinimumStep,
G4double& proposedSafety, G4GPILSelection* selection)
@@ -333,7 +333,7 @@ AlongStepGetPhysicalInteractionLength(
}
G4double G4NewWeightCutOffProcess::
G4double G4WeightCutOffProcess::
AtRestGetPhysicalInteractionLength(const G4Track& ,
G4ForceCondition*)
{
@@ -341,13 +341,13 @@ AtRestGetPhysicalInteractionLength(const G4Track& ,
}
G4VParticleChange*
G4NewWeightCutOffProcess::AtRestDoIt(const G4Track&, const G4Step&)
G4WeightCutOffProcess::AtRestDoIt(const G4Track&, const G4Step&)
{
return 0;
}
G4VParticleChange*
G4NewWeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&)
G4WeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&)
{
// Dummy ParticleChange ie: does nothing
// Expecting G4Transportation to move the track
@@ -357,7 +357,7 @@ G4NewWeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&)
// return 0;
}
void G4NewWeightCutOffProcess::CopyStep(const G4Step & step)
void G4WeightCutOffProcess::CopyStep(const G4Step & step)
{
fGhostStep->SetTrack(step.GetTrack());
fGhostStep->SetStepLength(step.GetStepLength());
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightWindowConfigurator.cc,v 1.1 2006/11/20 10:02:19 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightWindowConfigurator.cc,v 1.3 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// Class G4WeightWindowConfigurator
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4WeightWindowProcess.cc,v 1.1 2006/11/20 10:02:19 ahoward Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4WeightWindowProcess.cc,v 1.3 2007/06/01 09:16:34 ahoward Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// ----------------------------------------------------------------------
// GEANT 4 class source file
+13 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.19 2007/03/15 04:06:40 kurasige Exp $
$Id: History,v 1.21 2007/06/06 14:50:38 gcosmo Exp $
-------------------------------------------------------------------
=========================================================
@@ -16,6 +16,18 @@ committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
June 6th, 2007 - L.Urban (procuts-V08-03-01)
- Fix in G4VRangeToEnergyConverter::convert(), range-energu conversion,
correcting artifact observed in the visible energy plot over range-cut,
where a jump in the distribution was evident.
The correction can influence the result only for the tests, where
the e+/e- energy cuts are below 30 keV and even in this case the change
in results should be small.
May 30th, 2007 - H.Kurashige (procuts-V08-03-00)
- Fix G4ProductionCutsTable::CheckMaterialCutsCoupleInfo
March 15th, 2007 - H.Kurashige (procuts-V08-02-00)
- Add G4ProductionCutsTable::ConvertRangeToEnergy
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4MCCIndexConversionTable.hh,v 1.3 2006/06/29 19:29:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialCutsCouple.hh,v 1.3 2006/06/29 19:29:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4PhysicsTableHelper.hh,v 1.3 2006/06/29 19:29:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ProductionCuts.hh,v 1.4 2006/06/29 19:29:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ProductionCutsTable.hh,v 1.8 2007/03/15 04:06:40 kurasige Exp $
// GEANT4 tag $Name: geant4-08-03 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForAntiNeutron.hh,v 1.2 2006/06/29 19:29:52 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForAntiProton.hh,v 1.2 2006/06/29 19:29:54 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForElectron.hh,v 1.2 2006/06/29 19:29:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForGamma.hh,v 1.2 2006/06/29 19:29:58 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForNeutron.hh,v 1.2 2006/06/29 19:30:00 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForPositron.hh,v 1.2 2006/06/29 19:30:02 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForProton.hh,v 1.2 2006/06/29 19:30:04 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VRangeToEnergyConverter.hh,v 1.4 2006/06/29 19:30:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4MCCIndexConversionTable.cc,v 1.3 2006/06/29 19:30:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4MaterialCutsCouple.cc,v 1.3 2006/06/29 19:30:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PhysicsTableHelper.cc,v 1.5 2006/06/29 19:30:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4ProductionCuts.cc,v 1.5 2006/06/29 19:30:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4ProductionCutsTable.cc,v 1.16 2007/03/15 04:06:40 kurasige Exp $
// GEANT4 tag $Name: geant4-08-03 $
// $Id: G4ProductionCutsTable.cc,v 1.17 2007/05/30 08:22:20 kurasige Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -880,10 +880,11 @@ G4ProductionCutsTable::CheckMaterialCutsCoupleInfo(const G4String& directory,
// debug information
if (verboseLevel >1) {
if (fOK) {
G4String regionname(region_name);
G4Region* fRegion = 0;
if ( region_name != "NONE" ) fRegion = fG4RegionStore->GetRegion(region_name);
if ( (( region_name == "NONE" ) && (aCouple->IsUsed()) ) ||
(( region_name != "NONE" ) && (fRegion==0) ) ||
if ( regionname != "NONE" ) fRegion = fG4RegionStore->GetRegion(region_name);
if ( (( regionname == "NONE" ) && (aCouple->IsUsed()) ) ||
(( regionname != "NONE" ) && (fRegion==0) ) ||
!IsCoupleUsedInTheRegion(aCouple, fRegion) ) {
G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo ";
G4cout << "A Couple is used differnt region in the current setup ";
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForAntiNeutron.cc,v 1.3 2006/06/29 19:30:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForAntiProton.cc,v 1.3 2006/06/29 19:30:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForElectron.cc,v 1.5 2006/06/29 19:30:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForGamma.cc,v 1.4 2006/06/29 19:30:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForNeutron.cc,v 1.3 2006/06/29 19:30:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForPositron.cc,v 1.5 2006/06/29 19:30:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4RToEConvForProton.cc,v 1.3 2006/06/29 19:30:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4VRangeToEnergyConverter.cc,v 1.7 2006/06/29 19:30:32 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4VRangeToEnergyConverter.cc,v 1.8 2007/06/06 05:13:34 urban Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -131,7 +131,10 @@ G4double G4VRangeToEnergyConverter::Convert(G4double rangeCut,
if( ((theParticle->GetParticleName()=="e-")||(theParticle->GetParticleName()=="e+"))
&& (theKineticEnergyCuts < lowen) )
{ theKineticEnergyCuts /= (1.+tune/(rangeCut*density)); }
// corr. should be switched on smoothly
{ theKineticEnergyCuts /= (1.+(1.-theKineticEnergyCuts/lowen)*
tune/(rangeCut*density)); }
if(theKineticEnergyCuts < LowestEnergy) {
theKineticEnergyCuts = LowestEnergy ;
}
+4 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.22 2005/04/29 05:09:24 kurasige Exp $
$Id: History,v 1.23 2007/05/07 10:17:36 kurasige Exp $
-------------------------------------------------------------------
=========================================================
@@ -16,6 +16,9 @@ committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
- May 07, 07 H.Kurashige (decay-V08-02-00)
- Add protection for "TotalEnergy < Mass"
- Apr. 29, 05 H.Kurashige (decay-V07-00-00)
- Fixed bug in GPILAtRest.
+1 -1
View File
@@ -25,7 +25,7 @@
//
//
// $Id: G4Decay.hh,v 1.15 2006/06/29 19:30:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4UnknownDecay.hh,v 1.3 2006/06/29 19:30:56 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
@@ -25,7 +25,7 @@
//
//
// $Id: G4VExtDecayer.hh,v 1.4 2006/06/29 19:31:11 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// ------------------------------------------------------------
+16 -2
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4Decay.cc,v 1.22 2006/06/29 19:31:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4Decay.cc,v 1.24 2007/05/07 12:05:45 kurasige Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -252,6 +252,20 @@ G4VParticleChange* G4Decay::DecayIt(const G4Track& aTrack, const G4Step& )
// get parent particle information ...................................
G4double ParentEnergy = aParticle->GetTotalEnergy();
G4double ParentMass = aParticle->GetMass();
if (ParentEnergy < ParentMass) {
ParentEnergy = ParentMass;
#ifdef G4VERBOSE
if (GetVerboseLevel()>0) {
G4cerr << "G4Decay::DoIt : Total Energy is less than its mass" << G4endl;
G4cerr << " Particle: " << aParticle->GetDefinition()->GetParticleName();
G4cerr << " Energy:" << ParentEnergy/MeV << "[MeV]";
G4cerr << " Mass:" << ParentMass/MeV << "[MeV]";
G4cerr << G4endl;
}
#endif
}
G4ThreeVector ParentDirection(aParticle->GetMomentumDirection());
//boost all decay products to laboratory frame
+15 -23
View File
@@ -24,8 +24,8 @@
// ********************************************************************
//
//
// $Id: G4UnknownDecay.cc,v 1.3 2006/06/29 19:31:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4UnknownDecay.cc,v 1.4 2007/05/07 10:16:08 kurasige Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
//
// --------------------------------------------------------------
@@ -66,27 +66,6 @@ G4bool G4UnknownDecay::IsApplicable(const G4ParticleDefinition& aParticleType)
G4double G4UnknownDecay::GetMeanFreePath(const G4Track& /*aTrack*/,G4double, G4ForceCondition*)
{
// // get particle
// const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle();
//
// // returns the mean free path in GEANT4 internal units
// G4double pathlength;
// G4double pTime = aParticle->GetPreAssignedDecayProperTime();
// if(pTime<0.) pTime = DBL_MIN;
// G4double aCtau = c_light * pTime;
// G4double aMass = aParticle->GetMass();
//
// G4double rKineticEnergy = aParticle->GetKineticEnergy()/aMass;
// if ( rKineticEnergy > HighestValue) {
// // gamma >> 1
// pathlength = ( rKineticEnergy + 1.0)* aCtau;
// } else if ( rKineticEnergy < DBL_MIN ) {
// // too slow particle
// pathlength = DBL_MIN;
// } else {
// pathlength = (aParticle->GetTotalMomentum())/aMass*aCtau ;
// }
// return pathlength;
return DBL_MIN;
}
@@ -128,6 +107,19 @@ G4VParticleChange* G4UnknownDecay::DecayIt(const G4Track& aTrack, const G4Step&
// get parent particle information ...................................
G4double ParentEnergy = aParticle->GetTotalEnergy();
G4double ParentMass = aParticle->GetMass();
if (ParentEnergy < ParentMass) {
ParentEnergy = ParentMass;
#ifdef G4VERBOSE
if (GetVerboseLevel()>1) {
G4cerr << "G4UnknownDecay::DoIt : Total Energy is less than its mass" << G4endl;
G4cerr << " Particle: " << aParticle->GetDefinition()->GetParticleName();
G4cerr << " Energy:" << ParentEnergy/MeV << "[MeV]";
G4cerr << " Mass:" << ParentMass/MeV << "[MeV]";
G4cerr << G4endl;
}
#endif
}
G4ThreeVector ParentDirection(aParticle->GetMomentumDirection());
G4double energyDeposit = 0.0;
@@ -1,4 +1,4 @@
$Id: History,v 1.16 2006/10/27 14:11:12 vnivanch Exp $
$Id: History,v 1.19 2007/05/31 11:13:31 vnivanch Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,19 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
31 May 07: V.Ivanchenko (emhighenergy-V08-03-02)
- G4mplIonisation - fixed destruction of monopole ionisation model
23 May 07: V.Ivanchenko (emhighenergy-V08-03-01)
- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess
remove method SecondaryPostStep;
22 May 07: V.Ivanchenko (emhighenergy-V08-03-00)
- G4VEmModel - changed interface of SampleSecondary method, it become
void, extra parameter std::vector<G4DynamicParticle*>*, all
classes using or inhereting this interface are modified.
About 5% speadup of EM shower simulation
25 October 06: V.Ivant (emhighenergy-V08-01-00)
- added G4mplIonisation and G4mplIonisationModel - ionisation for
classic magnetic monopole
@@ -25,7 +25,7 @@
//
//
// $Id: G4AnnihiToMuPair.hh,v 1.2 2006/06/29 19:32:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ------------ G4AnnihiToMuPair physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BetheBlochNoDeltaModel.hh,v 1.7 2006/06/29 19:32:14 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BraggNoDeltaModel.hh,v 1.6 2006/06/29 19:32:16 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GammaConversionToMuons.hh,v 1.2 2006/06/29 19:32:18 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ------------ G4GammaConversionToMuons physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4Vee2hadrons.hh,v 1.2 2006/06/29 19:32:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4Vee2hadrons.hh,v 1.3 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -74,7 +74,7 @@ public:
virtual G4PhysicsVector* PhysicsVector(G4double, G4double) const = 0;
virtual std::vector<G4DynamicParticle*>* SampleSecondaries(
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&) const = 0;
private:
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4eeCrossSections.hh,v 1.2 2006/06/29 19:32:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadrons.hh,v 1.6 2006/06/29 19:32:24 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToHadrons.hh,v 1.8 2007/05/23 08:50:41 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -78,11 +78,6 @@ protected:
void InitialiseProcess(const G4ParticleDefinition*);
std::vector<G4DynamicParticle*>* SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*);
private:
std::vector<G4DynamicParticle*>* GenerateSecondaries(const G4DynamicParticle*);
@@ -104,18 +99,6 @@ inline G4bool G4eeToHadrons::IsApplicable(const G4ParticleDefinition& p)
return (&p == G4Positron::Positron());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline std::vector<G4DynamicParticle*>* G4eeToHadrons::SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple* couple,
const G4DynamicParticle* dp)
{
std::vector<G4DynamicParticle*>* newp = multimodel->SampleSecondaries(couple, dp);
if(newp) fParticleChange.ProposeTrackStatus(fStopAndKill);
return newp;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsModel.hh,v 1.5 2006/06/29 19:32:26 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToHadronsModel.hh,v 1.6 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -90,11 +90,11 @@ public:
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
virtual std::vector<G4DynamicParticle*>* SampleSecondaries(
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
G4DynamicParticle* GenerateCMPhoton(G4double);
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsMultiModel.hh,v 1.3 2006/06/29 19:32:28 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToHadronsMultiModel.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -52,6 +52,8 @@
#include "G4VEmModel.hh"
#include "G4eeToHadronsModel.hh"
#include "G4ParticleChangeForGamma.hh"
#include "G4TrackStatus.hh"
#include "Randomize.hh"
#include <vector>
@@ -87,11 +89,11 @@ public:
G4double cutEnergy = 0.0,
G4double maxEnergy = DBL_MAX);
virtual std::vector<G4DynamicParticle*>* SampleSecondaries(
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin = 0.0,
G4double maxEnergy = DBL_MAX);
void PrintInfo();
@@ -105,6 +107,7 @@ private:
G4eeToHadronsMultiModel(const G4eeToHadronsMultiModel&);
G4eeCrossSections* cross;
G4ParticleChangeForGamma* fParticleChange;
std::vector<G4eeToHadronsModel*> models;
@@ -165,23 +168,23 @@ inline G4double G4eeToHadronsMultiModel::ComputeCrossSectionPerElectron(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline std::vector<G4DynamicParticle*>* G4eeToHadronsMultiModel::SampleSecondaries(
const G4MaterialCutsCouple* couple,
const G4DynamicParticle* dp,
G4double, G4double)
inline
void G4eeToHadronsMultiModel::SampleSecondaries(std::vector<G4DynamicParticle*>* newp,
const G4MaterialCutsCouple* couple,
const G4DynamicParticle* dp,
G4double, G4double)
{
std::vector<G4DynamicParticle*>* newp = 0;
G4double kinEnergy = dp->GetKineticEnergy();
if (kinEnergy > thKineticEnergy) {
G4double q = cumSum[nModels-1]*G4UniformRand();
for(G4int i=0; i<nModels; i++) {
if(q <= cumSum[i]) {
newp = (models[i])->SampleSecondaries(couple,dp);
(models[i])->SampleSecondaries(newp, couple,dp);
if(newp->size() > 0) fParticleChange->ProposeTrackStatus(fStopAndKill);
break;
}
}
}
return newp;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToTwoPiModel.hh,v 1.2 2006/06/29 19:32:30 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToTwoPiModel.hh,v 1.3 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -74,7 +74,7 @@ public:
G4PhysicsVector* PhysicsVector(G4double, G4double) const;
virtual std::vector<G4DynamicParticle*>* SampleSecondaries(
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
G4double, const G4ThreeVector&) const;
private:
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hhIonisation.hh,v 1.3 2006/10/27 14:11:12 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4hhIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -78,12 +78,6 @@ public:
protected:
std::vector<G4DynamicParticle*>* SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double&);
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
@@ -131,15 +125,4 @@ inline G4double G4hhIonisation::MinPrimaryEnergy(const G4ParticleDefinition*,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline std::vector<G4DynamicParticle*>* G4hhIonisation::SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double&)
{
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisation.hh,v 1.3 2006/12/13 15:44:20 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4mplIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -78,12 +78,6 @@ public:
protected:
std::vector<G4DynamicParticle*>* SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double&);
virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*,
const G4ParticleDefinition*);
@@ -106,18 +100,6 @@ inline G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p)
return (p.GetParticleName() == "monopole");
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline std::vector<G4DynamicParticle*>* G4mplIonisation::SecondariesPostStep(
G4VEmModel*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double&)
{
return 0;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisationModel.hh,v 1.3 2006/12/13 15:44:22 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4mplIonisationModel.hh,v 1.4 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -71,11 +71,11 @@ public:
G4double kineticEnergy,
G4double cutEnergy);
virtual std::vector<G4DynamicParticle*>* SampleSecondaries(
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy);
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy);
virtual G4double SampleFluctuations(const G4Material*,
@@ -115,14 +115,12 @@ private:
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline std::vector<G4DynamicParticle*>* G4mplIonisationModel::SampleSecondaries(
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double,
G4double)
{
return 0;
}
inline void G4mplIonisationModel::SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double,
G4double)
{}
inline G4double G4mplIonisationModel::Dispersion(
const G4Material* material,
@@ -25,7 +25,7 @@
//
//
// $Id: G4AnnihiToMuPair.cc,v 1.3 2006/06/29 19:32:34 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ------------ G4AnnihiToMuPair physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BetheBlochNoDeltaModel.cc,v 1.3 2006/06/29 19:32:36 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4BraggNoDeltaModel.cc,v 1.3 2006/06/29 19:32:38 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4GammaConversionToMuons.cc,v 1.4 2006/06/29 19:32:40 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// ------------ G4GammaConversionToMuons physics process ------
// by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4eeCrossSections.cc,v 1.6 2006/06/29 19:32:42 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4eeToHadrons.cc,v 1.7 2006/06/29 19:32:44 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsModel.cc,v 1.7 2006/06/29 19:32:46 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToHadronsModel.cc,v 1.8 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -169,13 +169,12 @@ G4double G4eeToHadronsModel::ComputeCrossSectionPerElectron(
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
std::vector<G4DynamicParticle*>* G4eeToHadronsModel::SampleSecondaries(
const G4MaterialCutsCouple*,
const G4DynamicParticle* dParticle,
G4double,
G4double)
void G4eeToHadronsModel::SampleSecondaries(std::vector<G4DynamicParticle*>* newp,
const G4MaterialCutsCouple*,
const G4DynamicParticle* dParticle,
G4double,
G4double)
{
std::vector<G4DynamicParticle*>* newp = 0;
if(crossPerElectron) {
G4double t = dParticle->GetKineticEnergy();
G4double e = 2.0*electron_mass_c2*sqrt(1.0 + 0.5*t/electron_mass_c2);
@@ -189,25 +188,20 @@ std::vector<G4DynamicParticle*>* G4eeToHadronsModel::SampleSecondaries(
G4double m = lv.m();
G4ThreeVector boost = lv.boostVector();
const G4ThreeVector dir = gamma->GetMomentumDirection();
newp = model->SampleSecondaries(m, dir);
if(newp) {
G4int np = newp->size();
for(G4int j=0; j<np; j++) {
G4DynamicParticle* dp = (*newp)[j];
G4LorentzVector v = dp->Get4Momentum();
v.boost(boost);
v.boost(inBoost);
dp->Set4Momentum(v);
}
} else {
newp = new std::vector<G4DynamicParticle*>;
model->SampleSecondaries(newp, m, dir);
G4int np = newp->size();
for(G4int j=0; j<np; j++) {
G4DynamicParticle* dp = (*newp)[j];
G4LorentzVector v = dp->Get4Momentum();
v.boost(boost);
v.boost(inBoost);
dp->Set4Momentum(v);
}
gLv.boost(inBoost);
gamma->Set4Momentum(gLv);
newp->push_back(gamma);
}
}
return newp;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToHadronsMultiModel.cc,v 1.3 2006/06/29 19:32:48 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToHadronsMultiModel.cc,v 1.4 2007/05/23 08:50:41 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -88,7 +88,8 @@ void G4eeToHadronsMultiModel::Initialise(const G4ParticleDefinition* p, const G4
maxKineticEnergy = HighEnergyLimit();
cross = new G4eeCrossSections();
G4eeToHadronsModel* model = new G4eeToHadronsModel(new G4eeToTwoPiModel(cross), verbose);
G4eeToHadronsModel* model =
new G4eeToHadronsModel(new G4eeToTwoPiModel(cross), verbose);
models.push_back(model);
model->SetHighEnergyLimit(maxKineticEnergy);
model->Initialise(p, v);
@@ -99,6 +100,12 @@ void G4eeToHadronsMultiModel::Initialise(const G4ParticleDefinition* p, const G4
ekinPeak.push_back(model->PeakEnergy());
cumSum.push_back(0.0);
nModels = 1;
if(pParticleChange)
fParticleChange =
reinterpret_cast<G4ParticleChangeForGamma*>(pParticleChange);
else
fParticleChange = new G4ParticleChangeForGamma();
}
}
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4eeToTwoPiModel.cc,v 1.4 2006/06/29 19:32:50 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4eeToTwoPiModel.cc,v 1.5 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -95,10 +95,10 @@ G4PhysicsVector* G4eeToTwoPiModel::PhysicsVector(G4double emin,
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
vector<G4DynamicParticle*>* G4eeToTwoPiModel::SampleSecondaries(
void G4eeToTwoPiModel::SampleSecondaries(std::vector<G4DynamicParticle*>* newp,
G4double e, const G4ThreeVector& direction) const
{
vector<G4DynamicParticle*>* newp = new vector<G4DynamicParticle*>;
G4double tkin = 0.5*e - massPi;
if(tkin < 0.0) tkin = 0.0;
G4double cost;
@@ -119,7 +119,6 @@ vector<G4DynamicParticle*>* G4eeToTwoPiModel::SampleSecondaries(
new G4DynamicParticle(G4PionMinus::PionMinus(),-dir,tkin);
newp->push_back(pip);
newp->push_back(pin);
return newp;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4hhIonisation.cc,v 1.5 2006/10/27 14:11:12 vnivanch Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4hhIonisation.cc,v 1.6 2007/05/22 17:37:30 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -66,7 +66,6 @@ G4hhIonisation::G4hhIonisation(const G4String& name)
minKinEnergy = 0.1*keV;
maxKinEnergy = 100.*TeV;
SetDEDXBinning(120);
SetLambdaBinning(120);
SetMinKinEnergy(minKinEnergy);
SetMaxKinEnergy(maxKinEnergy);
SetStepFunction(0.1, 0.1*mm);
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4mplIonisation.cc,v 1.3 2006/12/13 15:44:25 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// $Id: G4mplIonisation.cc,v 1.5 2007/05/31 11:13:31 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -62,10 +62,6 @@ G4mplIonisation::G4mplIonisation(G4double mCharge, const G4String& name)
// By default classical magnetic charge is used
if(magneticCharge == 0.0) magneticCharge = eplus*0.5/fine_structure_const;
SetDEDXBinning(120);
SetLambdaBinning(120);
SetMinKinEnergy(0.1*keV);
SetMaxKinEnergy(100.0*TeV);
SetVerboseLevel(0);
}
@@ -84,7 +80,7 @@ void G4mplIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition*,
SetBaseParticle(0);
SetSecondaryParticle(G4Electron::Electron());
G4mplIonisationModel* ion = new G4mplIonisationModel(magneticCharge);
G4mplIonisationModel* ion = new G4mplIonisationModel(magneticCharge,"PAI");
ion->SetLowEnergyLimit(0.1*keV);
ion->SetHighEnergyLimit(100.*TeV);
AddEmModel(0,ion,ion);
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4mplIonisationModel.cc,v 1.3 2006/12/13 15:44:27 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// -------------------------------------------------------------------
//
@@ -1,4 +1,4 @@
$Id: History,v 1.254 2006/10/19 11:19:50 pia Exp $
$Id: History,v 1.258 2007/06/07 13:57:26 pia Exp $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,37 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
04.06.2007 MGP, tag emlowen-V08-03-03
Tag on top of emlowen-V08-03-00a
Updated license information in G4DNACrossSectionDataSet.cc
04.06.2007 G.Cosmo, tag emlowen-V08-03-00a
Archived obsolete class G4LowEnergyBraggModel
30.05.2007 MGP, tag emlowen-V08-03-02
Removed from CVS unused class G4LowEnergyBraggModel,
which introduced never agreed dependency on standard
G4VreEmModel
Attempt to fix issue identified by VALGRIND related to
PIXE model
25.05.2007 MGP, tag emlowen-V08-03-01
Initialized static variables in G4hLowEnergyLoss;
not sure whether this is correct, since this is old
code moved from utils/, deprived of any documentation
and with an evident fortran look. A design review
is planned to take care of this domain in a proper way.
Also included an updated version of G4BraggModel
provided by V.I. due to an interface change: however
this class is not used anywhere in the package, and is
retained only for historical reasons; it is candidate to be
trashed in the next design review.
16.05.2007 MGP, tag emlowen-V08-03-00
First set of Geant4-DNA processes compliant with design
documented in draft publication
19.10.2006 MGP, tag emlowen-V08-01-02
Bug fixes in G4FluoData.cc
@@ -25,7 +25,7 @@
//
//
// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
@@ -25,7 +25,7 @@
//
//
// $Id: G4AtomicShell.hh,v 1.2 ????
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
@@ -25,7 +25,7 @@
//
//
// $Id: G4AtomicTransitionManager.hh,v 1.2 ????
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it)
// Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4AugerData.hh
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it)
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4BremsstrahlungParameters.hh,v 1.10 2006/06/29 19:33:06 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
// V. Ivanchenko (Vladimir.Ivantchenko@cern.ch)
@@ -25,7 +25,7 @@
//
//
// $Id: G4CompositeEMDataSet.hh,v 1.8 2006/06/29 19:33:08 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4CrossSectionHandler.hh,v 1.9 2006/06/29 19:33:10 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
// Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch)
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4DNAAlphaPlusChargeDecrease.hh,v 1.2 2006/06/29 19:33:12 gunter Exp $
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
#ifndef G4DNAALPHAPLUSCHARGEDECREASE_HH
#define G4DNAALPHAPLUSCHARGEDECREASE_HH 1
@@ -25,7 +25,7 @@
//
//
// $Id: G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis
// GEANT4 tag $Name: geant4-08-02 $
// GEANT4 tag $Name: geant4-09-00 $
//
#ifdef G4DNAALPHAPLUSCHARGEDECREASEFINALSTATESPOLICY_HH

Some files were not shown because too many files have changed in this diff Show More