Import Geant4 7.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 12:11:21 +02:00
parent 516dbf1a58
commit d93e1e39a9
5384 changed files with 125662 additions and 82444 deletions
+46 -3
View File
@@ -1,4 +1,47 @@
This directory contains the code re-implementing the gflash package
in C++ for geant4. At the time of first release, the homogenous shower parametrization
part is included.
$Id: History,v 1.5 2005/06/22 14:08:29 gcosmo 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 *
----------------------------------------------------------
Jun 22nd, 2005 G.Cosmo (gflash-V07-00-04)
----------------------
- Corrected signature for IntegrateNspLongitudinal() to remove
const qualifier. Problem detected on SUN-CC.
Jun 9th, 2005 G.Cosmo (gflash-V07-00-03)
---------------------
- Fixed compilation warnings on SUN-CC for hiding of class attributes.
Apr 22nd, 2005 G.Cosmo (gflash-V07-00-02)
----------------------
- GFlashShowerModel.cc: fixed problem of possible undefined operation on
'NlateralInside' and 'NSpotDeposited'. Compilation warning on gcc-4.0.
Jan 13th, 2005 H.P.Wellisch (gflash-V07-00-01)
---------------------------
- Fix in GFlashHitMaker for treatment of detector sensitivity.
Dec 7th, 2004 G.Cosmo
---------------------
- Implemented migration to <cmath>.
Nov 26th, 2004 H.P.Wellisch
---------------------------
- New 'gflash' submodule, contribution of CMS and ATLAS.
- Moved original TRD classes to 'trd_models' submodule.
- Created History file
+3
View File
@@ -0,0 +1,3 @@
This directory contains the code re-implementation of the GFLASH package
in C++ for Geant4. At the time of the first release, the homogenous shower
parameterisation part is included.
@@ -85,7 +85,10 @@ void GFlashHitMaker::make(GFlashEnergySpot * aSpot, const G4FastTrack * aT)
{
gflashSensitive->Hit(&theSpot);
}
else if ( (!gflashSensitive) && ( pCurrentVolume->GetLogicalVolume()->GetFastSimulationManager() ) ) // Using gflash without implementing the
else if ( (!gflashSensitive ) &&
( pSensitive ) &&
( pCurrentVolume->GetLogicalVolume()->GetFastSimulationManager() )
) // Using gflash without implementing the
// gflashSensitive detector interface -> not allowed!
{
@@ -124,57 +124,57 @@
// PrintMaterial();
}
G4double GFlashHomoShowerParamterisation::GetEffZ(const G4Material * material )
G4double GFlashHomoShowerParamterisation::GetEffZ(const G4Material * mat )
{
// Returns Z or effective Z=sum(pi*Zi) (if compound/mixture)
// of given material.
// ---
G4double z = 0.;
G4int nofElements = material->GetNumberOfElements();
G4int nofElements = mat->GetNumberOfElements();
if (nofElements > 1)
{
// G4String text = "Effective Z for material mixture (";
// text = text + material->GetName();
// text = text + mat->GetName();
// text = text + ") is used.";
// cout << text <<endl;
for (G4int i=0; i<nofElements; i++) {
G4double zOfElement = material->GetElement(i)->GetZ();
G4double massFraction = material->GetFractionVector()[i];
// cout << material->GetElement(i)->GetName() <<" Z= "<<zOfElement << " , Fraction= "<<massFraction <<endl;
G4double zOfElement = mat->GetElement(i)->GetZ();
G4double massFraction = mat->GetFractionVector()[i];
// cout << mat->GetElement(i)->GetName() <<" Z= "<<zOfElement << " , Fraction= "<<massFraction <<endl;
z += zOfElement*massFraction;
}
}
else {
z = material->GetZ();
z = mat->GetZ();
}
return z;
}
G4double GFlashHomoShowerParamterisation::GetEffA (const G4Material * material )
G4double GFlashHomoShowerParamterisation::GetEffA (const G4Material * mat )
{
// Returns A or effective A=sum(pi*Ai) (if compound/mixture)
// of given material.
// ---
G4double a = 0.;
G4int nofElements = material->GetNumberOfElements();
G4int nofElements = mat->GetNumberOfElements();
if (nofElements > 1)
{
// G4String text = "Effective A for material mixture (";
// text = text + material->GetName();
// text = text + mat->GetName();
// text = text + ") is used."
// cout << text <<endl;
for (G4int i=0; i<nofElements; i++)
{
G4double aOfElement = material->GetElement(i)->GetA()/(g/mole);
G4double massFraction = material->GetFractionVector()[i];
// cout << material->GetElement(i)->GetName() <<" A= "<<aOfElement << " g/mole, Fraction= "<< massFraction <<endl;
G4double aOfElement = mat->GetElement(i)->GetA()/(g/mole);
G4double massFraction = mat->GetFractionVector()[i];
// cout << mat->GetElement(i)->GetName() <<" A= "<<aOfElement << " g/mole, Fraction= "<< massFraction <<endl;
a += aOfElement*massFraction;
}
}
else
{
a = material->GetA()/(g/mole);
a = mat->GetA()/(g/mole);
}
return a;
}
@@ -252,7 +252,7 @@
return DEne;
}
G4double GFlashHomoShowerParamterisation::IntegrateNspLongitudinal(const G4double LongitudinalStep)
G4double GFlashHomoShowerParamterisation::IntegrateNspLongitudinal(G4double LongitudinalStep)
{
G4double LongitudinalStepInX0 = LongitudinalStep / X0;
G4float x1 = BetaNSpot*LongitudinalStepInX0;
@@ -148,7 +148,7 @@ G4bool GFlashShowerModel::CheckContainment(const G4FastTrack& fastTrack)
R*SinPhi[i]*CrossShower ;
if(SolidCalo->Inside(Position) != kOutside)
NlateralInside=NlateralInside++;
NlateralInside++;
}
//chose to parametrise or flag when all inetc...
@@ -266,7 +266,7 @@ void GFlashShowerModel::ElectronDoIt(const G4FastTrack& fastTrack, G4FastStep&
//generate spots & hits:
for (int i = 0; i < DNsp; i++)
{
NSpotDeposited=NSpotDeposited++;
NSpotDeposited++;
GFlashEnergySpot Spot;
//Spot energy: the same for all spots
@@ -39,11 +39,11 @@
GFlashShowerModelMessenger::GFlashShowerModelMessenger(GFlashShowerModel * myModel)
GFlashShowerModelMessenger::GFlashShowerModelMessenger(GFlashShowerModel * aModel)
{
myParaDir = new G4UIdirectory("/GFlash/");
myParaDir->SetGuidance("Parametrisation control.");
this->myModel= myModel;
myModel= aModel;
FlagCmd = new G4UIcmdWithAnInteger("/GFlash/flag",this);
FlagCmd->SetGuidance("Defines if GFlash is activated");
+1 -1
View File
@@ -21,7 +21,7 @@
// ********************************************************************
//
#include <math.h>
#include <cmath>
#include <string.h>
#include "Gamma.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4FoamXTRdEdx.hh,v 1.1 2004/11/09 09:20:31 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4FoamXrayTRmodel.hh,v 1.1 2004/11/09 09:20:31 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4GamDistrXTRdEdx.hh,v 1.2 2004/12/07 09:00:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4GamDistrXrayTRmodel.hh,v 1.2 2004/12/07 09:00:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4IrregularXTRdEdx.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4IrregularXrayTRmodel.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4PAIclusterModel.hh,v 1.2 2004/11/10 10:03:12 grichine Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4PhotoClusterModel.hh,v 1.2 2004/11/30 10:27:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4PlateIrrGasXTRdEdx.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4RegularXTRdEdx.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4RegularXrayTRmodel.hh,v 1.1 2004/11/09 09:20:32 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4VClusterModel.hh,v 1.2 2004/11/30 10:27:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXTRdEdx.hh,v 1.1 2004/11/09 09:20:33 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXrayTRadModel.hh,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXrayTRmodel.hh,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
//
///////////////////////////////////////////////////////////////////////////
@@ -22,7 +22,7 @@
//
//
// $Id: G4FoamXTRdEdx.cc,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4FoamXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4GamDistrXTRdEdx.cc,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4GamDistrXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4IrregularXTRdEdx.cc,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4IrregularXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
@@ -22,7 +22,7 @@
//
//
// $Id: G4PAIclusterModel.cc,v 1.2 2004/11/10 10:03:12 grichine Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4PhotoClusterModel.cc,v 1.1 2004/11/09 09:20:34 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4PlateIrrGasXTRdEdx.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4PlateIrrGasXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4RegularXTRdEdx.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4RegularXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include <complex>
@@ -22,7 +22,7 @@
//
//
// $Id: G4VClusterModel.cc,v 1.1 2004/11/09 09:20:35 hpw Exp $
// GEANT4 tag $Name: geant4-07-00-cand-01 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXTRdEdx.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXrayTRadModel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"
@@ -22,7 +22,7 @@
//
//
// $Id: G4VXrayTRmodel.cc,v 1.2 2004/12/07 09:00:05 gcosmo Exp $
// GEANT4 tag $Name: geant4-07-00-cand-03 $
// GEANT4 tag $Name: geant4-07-01 $
//
#include "G4Timer.hh"