Import Geant4 7.0.0 source tree
This commit is contained in:
+47
-1
@@ -1,4 +1,4 @@
|
||||
$Id: History,v 1.84 2004/06/23 16:15:45 gcosmo Exp $
|
||||
$Id: History,v 1.91 2004/12/16 19:01:04 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -17,6 +17,52 @@ committal in the CVS repository !
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
16th December 2004 Gabriele Cosmo (examples-V06-02-06)
|
||||
- Updated reference outputs according to reference tag geant4-07-00-ref-00
|
||||
- Includes tags: air_shower-V06-02-02, brachy-V06-02-01, ccal-V06-02-02,
|
||||
cosmicray_charging-V06-02-03, gammaraytel-V06-02-01, hadrontherapy-V06-02-01,
|
||||
lAr_calorimeter-V06-02-02, medical_linac-V06-02-00, purtag-V06-02-01,
|
||||
radioprotection-V06-02-00, Rich-V06-02-02, Tiara-V06-02-02, DMX-V06-02-02,
|
||||
XrayFluo-V06-02-01, exampleA01-V06-02-03, testem1-V06-02-07,
|
||||
testem2-V06-02-05, testem3-V06-02-06, exgps-V06-02-01, fieldex-V06-02-00,
|
||||
exgdml-V06-02-00, DICOM-V06-02-02, gtherapy-V06-02-07, exparallel-V06-02-00,
|
||||
exrdm-V06-02-02, exampleRE01-V06-02-02, exampleN04-V06-02-03,
|
||||
exampleN05-V06-02-02.
|
||||
|
||||
26th November 2004 Gabriele Cosmo (examples-V06-02-05)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-05
|
||||
- Includes tags: muonprocesses-V06-02-07, testem1-V06-02-05, testem5-V06-02-05,
|
||||
exgps-V06-02-00, exrdm-V06-02-00, exampleN03-V06-02-00,
|
||||
exampleN07-V06-02-00.
|
||||
|
||||
29th October 2004 Gabriele Cosmo (examples-V06-02-04)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-04
|
||||
- Includes tags: muonprocesses-V06-02-05, photonprocesses-V06-02-02,
|
||||
testem3-V06-02-02, testem7-V06-02-03, exampleN05-V06-02-00.
|
||||
|
||||
25th October 2004 Sergei Sadilov (examples-V06-02-03)
|
||||
- Tag for 6.2.patch-02. Updated reference outputs.
|
||||
|
||||
29th September 2004 Gabriele Cosmo (examples-V06-02-02)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-03.
|
||||
- Includes tags: cosmicray_charging-V06-02-01, muonprocesses-V06-02-03,
|
||||
photonprocesses-V06-02-01, testem1-V06-02-03,
|
||||
testem2-V06-02-01, testem4-V06-02-00, testem5-V06-02-04,
|
||||
testem6-V06-02-00, testem10-V06-02-00, fieldex01-V06-02-00,
|
||||
fieldex02-V06-02-00, fieldex03-V06-02-00, gtherapy-V06-02-01,
|
||||
LXe-V06-02-00, exampleN02-V06-02-01.
|
||||
|
||||
27th August 2004 Gabriele Cosmo (examples-V06-02-01)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-02.
|
||||
- Includes tags: testem1-V06-02-01, testem5-V06-02-00, testem7-V06-02-02.
|
||||
|
||||
28th July 2004 Gabriele Cosmo (examples-V06-02-00)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-01.
|
||||
- Includes tags: ccal-V06-02-00, lAr_calorimeter-V06-02-00, Rich-V06-02-00,
|
||||
xraytel-V06-02-00, exampleA01-V06-02-00,
|
||||
muonprocesses-V06-02-00, photonprocesses-V06-02-00,
|
||||
testem3-V06-02-00, testem7-V06-02-00, olapex-V06-02-00.
|
||||
|
||||
24th June 2004 Gabriele Cosmo (examples-V06-01-02)
|
||||
- Updated reference outputs according to reference tag geant4-06-02-ref-00.
|
||||
- Includes tags: cosmicray_charging-V06-01-02, GammaRayTel-V06-01-01,
|
||||
|
||||
+27
-6
@@ -1,4 +1,4 @@
|
||||
$Id: README,v 1.5 2003/06/06 14:56:31 gcosmo Exp $
|
||||
$Id: README,v 1.6 2004/09/29 10:00:30 gcosmo Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -71,6 +71,10 @@ Extended level examples
|
||||
geometry
|
||||
- Specific geometry examples and tools: binding to CAD systems,
|
||||
OLAP tool for detection of overlapping geometries
|
||||
medical
|
||||
- Specific examples for medical physics applications
|
||||
optical
|
||||
- Examples of generic optical processes simulation setups
|
||||
parallel
|
||||
- Examples of event-level parallelism in Geant4 using the
|
||||
TOP-C distribution
|
||||
@@ -82,18 +86,35 @@ Advanced level examples
|
||||
- Setup for brachytherapy Ir-192 HDR source
|
||||
composite_calorimeter
|
||||
- Test-beam simulation used in CMS against real data taken
|
||||
in 1996 in a CMS Hadron calorimeter test-beam at LHC.
|
||||
in 1996 in a CMS Hadron calorimeter test-beam at LHC
|
||||
cosmicray_charging
|
||||
- Simulation of electrostatic charging in the LISA mission by
|
||||
galactic cosmic ray protons and helium nuclei
|
||||
gammaray_telescope
|
||||
- Simulation of a typical telescope for gamma ray analysis
|
||||
hadrontherapy
|
||||
- Simulation of a hadron therapy beam line
|
||||
lAr_calorimeter
|
||||
- Simulation of the Liquid Argon Calorimeter of the ATLAS
|
||||
Detector at LHC.
|
||||
Detector at LHC
|
||||
medical_linac
|
||||
- Simulation of energy deposit in a Phantom filled with water
|
||||
for a typical linac used for intensity modulated radiation therapy
|
||||
purging_magnet
|
||||
- Simulation of electrons traveling through a 3D magnetic field of a
|
||||
strong purging magnet used for treatment head in a medical environment
|
||||
radioprotection
|
||||
- Application for the evaluation of dose in astronauts, vehicle concepts
|
||||
and Moon surface habitat configurations, in a space radiation environment
|
||||
Rich
|
||||
- Rich Test Beam Simulation.
|
||||
- Rich Test Beam Simulation
|
||||
Tiara
|
||||
- Simulation of the TIARA experiment using importance sampling
|
||||
underground_physics
|
||||
- Setup of an underground dark matter experiment.
|
||||
- Setup of an underground dark matter experiment
|
||||
xray_fluorescence
|
||||
- Test beam to characterize the response function of an
|
||||
HPGe detector used to measure fluorescence emissions.
|
||||
HPGe detector used to measure fluorescence emissions
|
||||
xray_telescope
|
||||
- Realistic simulation of an X-ray Telescope
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-------------------------------------------------------------------
|
||||
$Id: History,v 1.3 2004/05/28 11:19:18 ribon Exp $
|
||||
$Id: History,v 1.6 2004/12/02 10:58:10 ribon Exp $
|
||||
-------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -9,6 +9,16 @@ $Id: History,v 1.3 2004/05/28 11:19:18 ribon Exp $
|
||||
Category History file
|
||||
---------------------
|
||||
|
||||
02.12.2004 - A.Ribon (Rich-V06-02-02)
|
||||
Interface change to the class G4VParticleChange.
|
||||
|
||||
29.11.2004 - A.Ribon (Rich-V06-02-01)
|
||||
Migration to cmath.
|
||||
|
||||
15.07.2004 - J.Allison, tag Rich-V06-02-00
|
||||
Changed /vis/viewer/viewpointThetaPhi ->
|
||||
/vis/viewer/set/viewpointThetaPhi.
|
||||
|
||||
18.05.2004 - A.Ribon (Rich-V06-01-00)
|
||||
Ported to PI light. No changes of the code.
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ extern void InitializeRichTbGeometry();
|
||||
extern G4double GetCurAerogelLength(G4int);
|
||||
//
|
||||
//
|
||||
static const G4double sqroot3=pow(3.0,0.5);
|
||||
static const G4double sqroot3=std::pow(3.0,0.5);
|
||||
|
||||
//Size of the LHCb Rich Testbeam Hall.
|
||||
static const G4double ExpHallHalfX=4000.0*mm;
|
||||
@@ -235,7 +235,7 @@ static const G4double HpdPhCathodeStartPhi=0.0*rad;
|
||||
// Z locations of the various parts.
|
||||
static const G4double HpdQuartzPartFromEndZ=4.0*mm;
|
||||
//static const G4double HpdEnvelopePartFromEndZ=18.0*mm;
|
||||
// The following obtained by requiring 100-sqrt(100*100-63.5*63.5)=22.75
|
||||
// The following obtained by requiring 100-std::sqrt(100*100-63.5*63.5)=22.75
|
||||
// for the quartz region in Z. The total is 22.75+4+4=30.75.
|
||||
static const G4double HpdEnvelopePartFromEndZ=30.75*mm;
|
||||
static const G4double HpdPhotoCathodeSiZdist=100.0*mm;
|
||||
@@ -250,12 +250,12 @@ static const G4int NumberOfSiDetSectors=16;
|
||||
static const G4double SiSectAngSize=(22.5*pi/180)*rad;
|
||||
static const G4double SiSectAngHalfSize=SiSectAngSize/2.0;
|
||||
static const G4double SiSectHeight=25.0*mm;
|
||||
static const G4double SiSectSide= SiSectHeight/cos(SiSectAngHalfSize);
|
||||
static const G4double SiSectSide= SiSectHeight/std::cos(SiSectAngHalfSize);
|
||||
static const G4double SiSectHalfMoonGap=0.0*mm;
|
||||
static const G4double SiSectTrapHalfY1=0.15*mm; // halfthickness of Si.
|
||||
static const G4double SiSectTrapHalfY2= SiSectTrapHalfY1;
|
||||
static const G4double SiSectTrapHalfX1=0.0001*mm;
|
||||
static const G4double SiSectTrapHalfX2 = SiSectHeight*tan(SiSectAngHalfSize);
|
||||
static const G4double SiSectTrapHalfX2 = SiSectHeight*std::tan(SiSectAngHalfSize);
|
||||
static const G4double SiSectTrapHalfZ = SiSectHeight/2.0 ;
|
||||
static const G4double SiSectRotX=(90*pi/180)*rad;
|
||||
static const G4double SiSectAngStart=(pi/2.0)*rad-SiSectAngSize/2.0;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: run1.mac,v 1.2 2003/06/12 08:50:50 pmendez Exp $
|
||||
# $Id: run1.mac,v 1.3 2004/07/15 19:10:02 johna Exp $
|
||||
#
|
||||
# Macro file for "LHCbRichSim.cc"
|
||||
#
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/vis/viewer/update
|
||||
|
||||
/vis/viewer/viewpointThetaPhi -90. -90.
|
||||
/vis/viewer/set/viewpointThetaPhi -90. -90.
|
||||
/hits/list
|
||||
/hits/activate
|
||||
/hits/verbose 4
|
||||
|
||||
@@ -102,8 +102,8 @@ G4double FilterTrData::GetCurrentFilTrans(G4double trnData) {
|
||||
G4double trn = trnData/100.0;
|
||||
// G4double na= FilterRefIndexNominal;
|
||||
// G4double nb= CurNeighbourRefIndexNominal;
|
||||
// G4double LossAtFEntrance=pow(((na-nb)/(na+nb)),2.0);
|
||||
// G4double LossAtFExit = pow(((nb-na)/(nb+na)),2.0);
|
||||
// G4double LossAtFEntrance=std::pow(((na-nb)/(na+nb)),2.0);
|
||||
// G4double LossAtFExit = std::pow(((nb-na)/(nb+na)),2.0);
|
||||
|
||||
if(trn > 1.0 ) trn=1.0;
|
||||
return trn;
|
||||
|
||||
@@ -130,7 +130,7 @@ G4VParticleChange* HpdSiEnergyLoss::AlongStepDoIt(const G4Track& aTrack,
|
||||
G4double Effs = 1.0 - backscaprob * bckratio;
|
||||
G4double Randbsk = G4UniformRand();
|
||||
if(Randbsk <= Effs && Eloss > 0.0 ) {
|
||||
aParticleChange.SetLocalEnergyDeposit(Eloss);
|
||||
aParticleChange.ProposeLocalEnergyDeposit(Eloss);
|
||||
|
||||
#ifdef G4ANALYSIS_USE
|
||||
|
||||
@@ -143,10 +143,10 @@ G4VParticleChange* HpdSiEnergyLoss::AlongStepDoIt(const G4Track& aTrack,
|
||||
// G4int tpreVP = pPreStepPoint -> GetPhysicalVolume()->GetCopyNo();
|
||||
}
|
||||
if (aKinEnergyFinal <= MinKineticEnergy ) {
|
||||
aParticleChange.SetStatusChange(fStopAndKill);
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill);
|
||||
|
||||
}else {
|
||||
aParticleChange.SetEnergyChange(aKinEnergyFinal);
|
||||
aParticleChange.ProposeEnergy(aKinEnergyFinal);
|
||||
|
||||
}
|
||||
return &aParticleChange;
|
||||
|
||||
@@ -197,8 +197,8 @@ G4VParticleChange* PadHpdPhotoElectricEffect::PostStepDoIt(const G4Track& aTrack
|
||||
// coord system.
|
||||
G4double GLx=GlobalElectronOrigin.x();
|
||||
G4double GLy=GlobalElectronOrigin.y();
|
||||
// G4double PhotCkvRad = pow((pow(GLx,2)+pow(GLy,2)),0.5);
|
||||
G4double PhotCkvPhi = atan2(GLy,GLx)*180.0/pi;
|
||||
// G4double PhotCkvRad = std::pow((std::pow(GLx,2)+std::pow(GLy,2)),0.5);
|
||||
G4double PhotCkvPhi = std::atan2(GLy,GLx)*180.0/pi;
|
||||
|
||||
if( PhotCkvPhi < - 180.0 )PhotCkvPhi+= 360.0;
|
||||
|
||||
@@ -212,8 +212,8 @@ G4VParticleChange* PadHpdPhotoElectricEffect::PostStepDoIt(const G4Track& aTrack
|
||||
|
||||
G4double PsfRandomAzimuth = twopi*G4UniformRand();
|
||||
G4double PsfRandomRad= G4RandGauss::shoot(0.0,PSFsigma);
|
||||
G4double PsfX= PsfRandomRad*cos( PsfRandomAzimuth);
|
||||
G4double PsfY= PsfRandomRad*sin( PsfRandomAzimuth);
|
||||
G4double PsfX= PsfRandomRad*std::cos( PsfRandomAzimuth);
|
||||
G4double PsfY= PsfRandomRad*std::sin( PsfRandomAzimuth);
|
||||
|
||||
|
||||
G4ThreeVector LocalElectronDirection(
|
||||
@@ -241,9 +241,9 @@ G4VParticleChange* PadHpdPhotoElectricEffect::PostStepDoIt(const G4Track& aTrack
|
||||
|
||||
// Kill the incident photon when it has converted to photoelectron.
|
||||
|
||||
aParticleChange.SetLocalEnergyDeposit(PhotonEnergy);
|
||||
aParticleChange.SetEnergyChange(0.);
|
||||
aParticleChange.SetStatusChange(fStopAndKill);
|
||||
aParticleChange.ProposeLocalEnergyDeposit(PhotonEnergy);
|
||||
aParticleChange.ProposeEnergy(0.);
|
||||
aParticleChange.ProposeTrackStatus(fStopAndKill);
|
||||
}
|
||||
//photon is not killed if it is not converted to photoelectron
|
||||
//SE 26-09-01.
|
||||
|
||||
@@ -112,9 +112,9 @@ RichTbComponent::RichTbComponent(RichTbMaterial* RMaterial,
|
||||
|
||||
}
|
||||
//Mirror
|
||||
G4double MirrThetaSize=2.0*asin(MirrorHorizontalChord/(MirrorRInner*2.0));
|
||||
G4double MirrThetaSize=2.0*std::asin(MirrorHorizontalChord/(MirrorRInner*2.0));
|
||||
G4double MirrThetaStart=halfpi*rad-MirrThetaSize/2.0;
|
||||
G4double MirrPhiSize=2.0*asin(MirrorVerticalChord/(MirrorRInner*2.0));
|
||||
G4double MirrPhiSize=2.0*std::asin(MirrorVerticalChord/(MirrorRInner*2.0));
|
||||
G4double MirrPhiStart=-MirrPhiSize/2.0;
|
||||
|
||||
G4Sphere* MirrorSphe= new G4Sphere("MirrorSphe",MirrorRInner,
|
||||
@@ -151,10 +151,10 @@ RichTbComponent::RichTbComponent(RichTbMaterial* RMaterial,
|
||||
G4double MirrorPosX, MirrorPosY, MirrorPosZ;
|
||||
|
||||
if( MirrorTotRotX !=0.0 || MirrorTotRotY != 0.0 ) {
|
||||
MirrorPosX =-VesselPosX-MirrorRInner*sin(MirrorTotRotY);
|
||||
MirrorPosY =-VesselPosY+MirrorRInner*sin(MirrorTotRotX);
|
||||
MirrorPosX =-VesselPosX-MirrorRInner*std::sin(MirrorTotRotY);
|
||||
MirrorPosY =-VesselPosY+MirrorRInner*std::sin(MirrorTotRotX);
|
||||
MirrorPosZ =MirrorShiftFromEnd-VesselHalfZ
|
||||
-MirrorRInner*(cos(MirrorTotRotY)+cos(MirrorTotRotX)-1.0);
|
||||
-MirrorRInner*(std::cos(MirrorTotRotY)+std::cos(MirrorTotRotX)-1.0);
|
||||
}else {
|
||||
MirrorPosX =-VesselPosX;
|
||||
MirrorPosY =-VesselPosY;
|
||||
|
||||
@@ -403,7 +403,7 @@ RichTbMaterial::RichTbMaterial(RichTbRunConfig* RConfig):
|
||||
|
||||
GlassD263Rindex[ibin]=RefIndexGlassD263;
|
||||
if(ibin > 0 && ibin < NumPhotBinGlassD263Trans+1 ){
|
||||
//now using the formula trans=exp(-thickness/absorplength).
|
||||
//now using the formula trans=std::exp(-thickness/absorplength).
|
||||
G4int ibina=ibin-1;
|
||||
|
||||
if(GlassD263TransWL[ibina] > 0.0 ) {
|
||||
@@ -436,7 +436,7 @@ RichTbMaterial::RichTbMaterial(RichTbRunConfig* RConfig):
|
||||
if(currBulkTransFilter[ibin] > 0.0 &&
|
||||
currBulkTransFilter[ibin] < 0.9995 ) {
|
||||
GlassD263AbsorpLength[ibin]=
|
||||
-(2.0*FilterHalfZ)/(log(currBulkTransFilter[ibin]));
|
||||
-(2.0*FilterHalfZ)/(std::log(currBulkTransFilter[ibin]));
|
||||
}else if (currBulkTransFilter[ibin]== 0.0 ) {
|
||||
GlassD263AbsorpLength[ibin]=FilterHalfZ/1.0E32;
|
||||
}else {
|
||||
@@ -525,12 +525,12 @@ RichTbMaterial::RichTbMaterial(RichTbRunConfig* RConfig):
|
||||
currentAgelTrans[ibin]=
|
||||
GetCurrentBulkTrans( currentAgelRefIndex,
|
||||
currentNeighbourRefIndex,MaxTotTransmission);
|
||||
//now using the formula trans=exp(-thickness/absorplength)
|
||||
//now using the formula trans=std::exp(-thickness/absorplength)
|
||||
// to get the absorplength.
|
||||
|
||||
if( currentAgelTrans[ibin] > 0.0 && currentAgelTrans[ibin] < 0.9995) {
|
||||
AerogTypeAAbsorpLength[ibin]=
|
||||
-(AerogelLength)/(log( currentAgelTrans[ibin]));
|
||||
-(AerogelLength)/(std::log( currentAgelTrans[ibin]));
|
||||
}else if (currentAgelTrans[ibin] == 0.0) {
|
||||
|
||||
AerogTypeAAbsorpLength[ibin]=AerogelLength/1.0E32;
|
||||
@@ -604,7 +604,7 @@ RichTbMaterial::RichTbMaterial(RichTbRunConfig* RConfig):
|
||||
G4double CathTrans=PhCathodeNominalTransmission;
|
||||
G4double CathAbsorpLen;
|
||||
if(CathTrans > 0.0 && CathTrans < 0.9995 ) {
|
||||
CathAbsorpLen = -(CathLen)/(log(CathTrans));
|
||||
CathAbsorpLen = -(CathLen)/(std::log(CathTrans));
|
||||
}else if (CathTrans > 0.0) {
|
||||
CathAbsorpLen = CathLen/1.0E32;
|
||||
}else {
|
||||
|
||||
@@ -64,7 +64,7 @@ std::vector<G4double> InitN2RefIndex(G4double pressure, G4double temperature){
|
||||
pfe = SellN2F1/(SellN2E1*SellN2E1 - epho*epho ) +
|
||||
SellN2F2/(SellN2E2*SellN2E2 - epho*epho );
|
||||
cpfe=0.3738*(GasRhoN2Cur/GasMolWeightN2)*pfe;
|
||||
RefN2[ibinwn]=pow((1.0+2*cpfe)/(1.0-cpfe),0.5);
|
||||
RefN2[ibinwn]=std::pow((1.0+2*cpfe)/(1.0-cpfe),0.5);
|
||||
}
|
||||
return RefN2;
|
||||
}
|
||||
@@ -144,7 +144,7 @@ void HistoRichTbMaterialProperties(RichTbRunConfig* RConfig) {
|
||||
for(G4int Iabin=0; Iabin<100; Iabin ++ ) {
|
||||
|
||||
// G4double waLInmu = waL/1000.0;
|
||||
// G4double Aetr = Aparam* exp(-Cparam * thickness / pow(waLInmu,4) );
|
||||
// G4double Aetr = Aparam* std::exp(-Cparam * thickness / std::pow(waLInmu,4) );
|
||||
|
||||
waL += stepsize;
|
||||
}
|
||||
@@ -203,7 +203,7 @@ std::vector<G4double>GetAerogelRScatLength(AerogelType CurrentAerogelType) {
|
||||
G4double ephoton=AgelPhotW[ibinw]/eV;
|
||||
//In the following the 1000 is to convert form nm to micrometer
|
||||
G4double wphoton=(PhotMomWaveConv/ephoton)/1000.0;
|
||||
AgelRayleighScatLength[ibinw]=(pow(wphoton,4))/aClarity;
|
||||
AgelRayleighScatLength[ibinw]=(std::pow(wphoton,4))/aClarity;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -219,8 +219,8 @@ G4double GetCurrentBulkTrans(G4double currentMatRefIndex,
|
||||
// it is only an approximate calulation.
|
||||
G4double na= currentMatRefIndex;
|
||||
G4double nb= currentNeighbourRefIndex;
|
||||
G4double LossAtEntrance=pow(((na-nb)/(na+nb)),2.0);
|
||||
G4double LossAtExit=pow(((nb-na)/(nb+na)),2.0);
|
||||
G4double LossAtEntrance=std::pow(((na-nb)/(na+nb)),2.0);
|
||||
G4double LossAtExit=std::pow(((nb-na)/(nb+na)),2.0);
|
||||
|
||||
G4double LightLossAtExternalSurface= LossAtEntrance+ LossAtExit;
|
||||
|
||||
|
||||
@@ -69,12 +69,12 @@ RichTbSiDet::RichTbSiDet(RichTbMaterial* RMaterial,
|
||||
SiSectRotationX.rotateX(SiSectRotX);
|
||||
SiSectRotZ = SiSectAngStart-isec*SiSectAngSize;
|
||||
SiSectRotationZ.rotateZ(SiSectRotZ);
|
||||
SiSectPosX=SiSectTrapHalfZ*cos(SiSectRotZ-pi/2.0);
|
||||
SiSectPosX=SiSectTrapHalfZ*std::cos(SiSectRotZ-pi/2.0);
|
||||
//
|
||||
if(isec < NumberOfSiDetSectors/2 ) {
|
||||
SiSectPosY=SiSectTrapHalfZ*sin(SiSectRotZ-pi/2.0)-SiSectHalfMoonGap/2.0;
|
||||
SiSectPosY=SiSectTrapHalfZ*std::sin(SiSectRotZ-pi/2.0)-SiSectHalfMoonGap/2.0;
|
||||
}else{
|
||||
SiSectPosY=SiSectTrapHalfZ*sin(SiSectRotZ-pi/2.0)+SiSectHalfMoonGap/2.0;
|
||||
SiSectPosY=SiSectTrapHalfZ*std::sin(SiSectRotZ-pi/2.0)+SiSectHalfMoonGap/2.0;
|
||||
}
|
||||
|
||||
G4ThreeVector SiSectTrapPos(SiSectPosX,SiSectPosY,SiSectPosZ);
|
||||
|
||||
@@ -176,7 +176,7 @@ void RichTbSteppingAction::RichTbGenericHisto(const G4Step* aStep)
|
||||
// G4double ZatAgelExit=postPos.z();
|
||||
const G4ThreeVector PhotCurMom =
|
||||
aPhotTrack->GetMomentumDirection();
|
||||
// G4double CurExitangle= acos(PhotCurMom.z());
|
||||
// G4double CurExitangle= std::acos(PhotCurMom.z());
|
||||
|
||||
// Plot the Angle of emission of the photon.
|
||||
// When there is no Raylegh scattering this is the
|
||||
@@ -191,7 +191,7 @@ void RichTbSteppingAction::RichTbGenericHisto(const G4Step* aStep)
|
||||
|
||||
const G4ThreeVector PhotOrgUnitMom =
|
||||
aPhotTrack->GetVertexMomentumDirection();
|
||||
G4double Ckv_angle= acos(PhotOrgUnitMom.z());
|
||||
G4double Ckv_angle= std::acos(PhotOrgUnitMom.z());
|
||||
|
||||
analysis->getfhistoCkvProdSmall()->fill(Ckv_angle);
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# $Id: GNUmakefile,v 1.6 2004/06/09 15:04:34 daquinog Exp $
|
||||
# $Id: GNUmakefile,v 1.7 2004/12/08 15:37:13 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# --------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
TIARA_SRC_DIRS = tiaraPhysicsPackaging tiaraPhysicsLists tiara
|
||||
TIARA_SRC_DIRS = tiara
|
||||
TIARA_SRC_SWIG_DIRS = CLHEPWrapper G4KernelWrapper TiaraWrapper
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: History,v 1.19 2004/06/09 15:04:34 daquinog Exp $
|
||||
# $Id: History,v 1.24 2004/12/14 13:12:55 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-05 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
=========================================================
|
||||
@@ -18,6 +18,24 @@ committal in the CVS repository !
|
||||
----------------------------------------------------------
|
||||
* Reverse chronological order (last date on top), please *
|
||||
----------------------------------------------------------
|
||||
|
||||
Dec 14th, 2004 G.Daquino - Tiara-V06-02-02
|
||||
- update of GNUmakefiles to the new phys_lists structure
|
||||
|
||||
Dec 13th, 2004 G.Cosmo - Tiara-V06-02-01
|
||||
- Use new phys-lists structure.
|
||||
|
||||
Dec 8th, 2004 G.Daquino - Tiara-V06-02-00
|
||||
- Corrected link to the centralized hadronic physics lists. Eliminated all the old
|
||||
links to the tiara-dedicated shared libraries for the Packaging and the physics lists
|
||||
SWIG wraps based on the templated physics list classes
|
||||
Migration to the <cmath> completed
|
||||
runSim.py still needs to be modified in order to obtain the plotting through PI
|
||||
|
||||
Jun 18th, 2004 G.Daquino - Tiara-V06-01-03
|
||||
- Corrected some errors in the README and in the script envCommon.csh. Besides, the file
|
||||
hadronic_list.gmk in the subdirectory source was not correct.
|
||||
|
||||
Jun 9th, 2004 G.Daquino - Tiara-V06-01-00
|
||||
- Passing from Anaphe to PI, Tiara has been partly fixed. Still problems
|
||||
are present on the compatibility between the PI and Anaphe pointers for hf.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: README,v 1.18 2004/06/13 13:35:12 daquinog Exp $
|
||||
# $Id: README,v 1.20 2004/12/08 15:37:13 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
Simulation of the TIARA experiment using importance sampling
|
||||
@@ -34,7 +34,6 @@ Note for system testing without analysis: see points 1.1, 1.3 and 3.2.
|
||||
|
||||
|
||||
|
||||
|
||||
1) Setting the environment
|
||||
==========================
|
||||
|
||||
@@ -75,7 +74,7 @@ in the three cases:
|
||||
1.3) No afs, no PI and no SWIG (e.g. for system testing):
|
||||
-------------------------------------------------------------
|
||||
You don't want to use PI and SWIG and you don't have afs access.
|
||||
Make sure "G4ANALYSIS_USE" is unset (e.g. unsetenv G4ANALYSIS_USE)
|
||||
Make sure "G4ANALYSIS_USE" is unset (e.g. unsetenv G4ANALYSIS_USE or setenv G4ANALYSIS_USE 0)
|
||||
|
||||
Note 1: python must be built against a "libc".
|
||||
You may do this by creating a shared library by a command
|
||||
@@ -92,10 +91,10 @@ in the three cases:
|
||||
Finally source the script envCommon.csh from the directory where
|
||||
you have Tiara installed, e.g. ${G4INSTALL}/examples/advanced/Tiara
|
||||
|
||||
Note 2: Passing from a simulation WITH to another WITHOUT analysis implies
|
||||
NOTE 2: Passing from a simulation WITH to another WITHOUT analysis implies
|
||||
that the G4ANALYSIS_use should be unset and that the SWIG-wrapper scripts
|
||||
in the directory TiaraWrapper should be deleted. Normally, the whole code
|
||||
should be compiled again using gmake tiaraClean and, afterwards, gmake.
|
||||
should be compiled again using gmake clean_all and, afterwards, gmake.
|
||||
The same procedure should be followed also passing from a simulation WITHOUT
|
||||
to another WITH analysis.
|
||||
|
||||
@@ -122,6 +121,8 @@ To remove the files created by swig ( *_wrap.cc, the corresponding
|
||||
.py files) use "gmake swigClean".
|
||||
To remove the directories of compiled code related to this example under
|
||||
$G4WORKDIR/tmp/$G4SYSTEM/ use "gmake tiaraClean".
|
||||
To remove all the files created during the previous compilation, use
|
||||
"gmake clean_all".
|
||||
|
||||
|
||||
3) Running the example:
|
||||
@@ -169,7 +170,7 @@ placed in source/py_modules in files named after the module ending with
|
||||
|
||||
Since the simulation time used by "runSim.py" is only 5 minutes the
|
||||
calculated results have large errors. If you want to see a better result
|
||||
do the following changes in "naSim.py".
|
||||
do the following changes in "runSim.py".
|
||||
Extend the total run time to e,g, 2 hours by setting:
|
||||
"totalTime = 2 * myUtils.hour",
|
||||
set the print out period to 30 minutes by setting:
|
||||
@@ -212,11 +213,6 @@ source / - directory containing the source code
|
||||
|
||||
tiara - C++ source code
|
||||
|
||||
tiaraPhysicsLists - C++ source code of physics lists
|
||||
|
||||
tiaraPhysicsPackaging - C++ source cod with common
|
||||
classes for the physics lists
|
||||
|
||||
CLHEPWrapper - wrapper classes for usage in python
|
||||
\include\CLHEP.i - specification file for swig
|
||||
\src\CLHEP_wrap.cc - wrapper created with swig
|
||||
@@ -262,3 +258,13 @@ take care of the procedure of setting up the simulation, the run sequence
|
||||
and the analysis after the simulation has been ran.
|
||||
The script runSim.py is an commented example of using the python modules
|
||||
to run a simulation.
|
||||
|
||||
|
||||
6) Note about how to call the hadronic physics lists in runSim.py and runSimNoAnalysis.py
|
||||
=========================================================================================
|
||||
|
||||
It is only necessary to change the physList value in runSim.py or runSimNoAnalysis.py. In the example, there are 4 available physics lists, but of course the user can use whatever physics lists he/she likes and present in the Geant4-7.0 repository. In such a case, the user should also modify the
|
||||
/source/TiaraWrapper/include/Tiara.i file in order to create an instantiation of the
|
||||
physics list class. In particular, just follow the same lines already used for the six
|
||||
available physics lists.
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# $Id: envCommon.csh,v 1.9 2004/06/09 15:04:34 daquinog Exp $
|
||||
# $Id: envCommon.csh,v 1.12 2004/12/08 17:25:34 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
# Before sourcing this script make sure you have set the
|
||||
# environment variables according to the description in README.
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# setup in case Anaphe is used --------------------------------------
|
||||
# setup in case PI is used --------------------------------------
|
||||
|
||||
if (${?PI_BASE_DIR} == 1 && ${?SWIG_BASE_DIR} == 1) then
|
||||
|
||||
@@ -36,7 +36,7 @@ endif
|
||||
setenv SWIG_INCDIRS "-I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION} -I${SWIG_BASE_DIR}/lib/swig-${SWIG_VERSION}/python"
|
||||
setenv SWIG ${SWIG_BASE_DIR}/bin/swig-${SWIG_VERSION}
|
||||
|
||||
else # not using Anaphe
|
||||
else # not using PI
|
||||
|
||||
echo "-- WARNING: histograms are not activated !"
|
||||
echo " Either PI_BASE_DIR or SWIG_BASE_DIR are not set."
|
||||
@@ -45,7 +45,7 @@ else # not using Anaphe
|
||||
${?PYTHON_BASE_DIR} == 1 && \
|
||||
${?SWIG_BASE_DIR} == 1 && \
|
||||
${?SWIG_VERSION} == 1 && \
|
||||
${?CLHEP_BASE_DIR} == 1) then # settings without Anaphe
|
||||
${?CLHEP_BASE_DIR} == 1) then # settings without PI
|
||||
setenv PYTHON_LIB_DIR ${PYTHON_BASE_DIR}/lib/python${PYTHONVERSION}/config
|
||||
setenv PYTHON_INCLUDE_DIR ${PYTHON_BASE_DIR}/include/python${PYTHONVERSION}
|
||||
#
|
||||
@@ -64,7 +64,7 @@ else # not using Anaphe
|
||||
else
|
||||
echo -- ERROR: could not find swig executable !
|
||||
endif
|
||||
else # environment not completed in case no Anaphe is used
|
||||
else # environment not completed in case no PI is used
|
||||
echo "-- ERROR: PYTHONVERSION or PYTHON_BASE_DIR or SWIG_BASE_DIR or SWIG_VERSION or CLHEP_BASE_DIR not set!"
|
||||
exit
|
||||
endif
|
||||
@@ -82,8 +82,6 @@ setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/TiaraWrap
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/G4KernelWrapper
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/CLHEPWrapper
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/tiara
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/tiaraPhysicsPackaging
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/tiaraPhysicsLists
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/lib/${G4SYSTEM}
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PYTHON_LIB_DIR}
|
||||
setenv LD_LIBRARY_PATH ${PI_BASE_DIR}/${PI_VER}/app/releases/SEAL/SEAL_1_3_4/rh73_gcc32/lib:$LD_LIBRARY_PATH
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python2.2
|
||||
#
|
||||
# $Id: runSim.py,v 1.8 2004/06/09 15:04:35 daquinog Exp $
|
||||
# $Id: runSim.py,v 1.10 2004/12/08 17:25:34 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
# importing python libraries
|
||||
@@ -35,11 +35,6 @@ Tiara.setRandomSeed(891011);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# experiment and simulation specific data
|
||||
##########################################################################
|
||||
@@ -69,9 +64,13 @@ timeForOneRun = 2 * myUtils.min
|
||||
# Idle> /run/beamOn 10
|
||||
|
||||
|
||||
# available physics lists: TiaraPhysicsList, LHEP_LEAD_HP, LHEP_PRECO_HP
|
||||
# CASCADE_HP LHEP_BIC LHEP_BIC_BIC
|
||||
physList = Tiara.LHEP_BIC_HP()
|
||||
# available physics lists: LHEP_LEAD, LHEP_PRECO_HP
|
||||
# LHEP_BIC LHEP_BIC_HP LHEP_PRECO LHEP
|
||||
#3physList = Tiara.LHEP()
|
||||
##physList = Tiara.LHEP_PRECO()
|
||||
##physList = Tiara.LHEP_PRECO_HP()
|
||||
physList = Tiara.LHEP_LEAD()
|
||||
|
||||
|
||||
# specify the detectors
|
||||
scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors()
|
||||
@@ -83,14 +82,6 @@ comment = ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# Create a Specification object of the configuaration data
|
||||
##########################################################################
|
||||
@@ -109,11 +100,6 @@ tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# definition of the importance geometry importance values and a scorer
|
||||
##########################################################################
|
||||
@@ -148,10 +134,6 @@ impScorer = G4Kernel.G4Scorer()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# Creation of a TiaraApplet to define the run mode, physics list,
|
||||
# detector type and the primary generator
|
||||
@@ -160,6 +142,7 @@ impScorer = G4Kernel.G4Scorer()
|
||||
# this and the remaining part should be fine for most settings
|
||||
tApp = tiaraApplication.TiaraApplet(tiaraSpecs,
|
||||
Tiara.TiaraSim_GetTiaraSim())
|
||||
|
||||
if totalTime == 0:
|
||||
tApp.visMode()
|
||||
else:
|
||||
@@ -178,17 +161,19 @@ primGenBuilder = tiaraGenerators.\
|
||||
"/data/expDataConverted/dpsSource.xml")
|
||||
#primGenBuilder = tiaraGenerators.TiaraPrimaryGenerator(tiaraSpecs)
|
||||
#primGenBuilder = tiaraGenerators.FixedEnergyPrimaryGenerator(tiaraSpecs)
|
||||
tApp.setPrimaryGenerator(primGenBuilder.primGen)
|
||||
|
||||
tApp.setPrimaryGenerator(primGenBuilder.primGen)
|
||||
|
||||
tApp.noComponents = 0
|
||||
tApp.config()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## The following lines should be probably moved here after release Geant4-7.0
|
||||
##physList = Tiara.LHEP()
|
||||
##physList = Tiara.LHEP_PRECO()
|
||||
##physList = Tiara.LHEP_PRECO_HP()
|
||||
##physList = Tiara.LHEP_LEAD()
|
||||
##tApp.specifyPhysicsList(physList, particleCut)
|
||||
##tApp.setPrimaryGenerator(primGenBuilder.primGen)
|
||||
|
||||
|
||||
|
||||
@@ -200,14 +185,6 @@ parallelSampler = myUtils.createParallelSampler(impGeo,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# create a run config object, a run sequence and run the simulation
|
||||
##########################################################################
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python2.2
|
||||
#
|
||||
# $Id: runSimNoAnalysis.py,v 1.4 2004/06/09 15:04:35 daquinog Exp $
|
||||
# $Id: runSimNoAnalysis.py,v 1.5 2004/12/08 15:37:14 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -50,9 +50,12 @@ shieldWidth = 150 * CLHEP.cm
|
||||
totalTime = 3 * myUtils.min
|
||||
timeForOneRun = 1 * myUtils.min
|
||||
|
||||
# available physics lists: TiaraPhysicsList, LHEP_LEAD_HP, LHEP_PRECO_HP
|
||||
# CASCADE_HP LHEP_BIC LHEP_BIC_BIC
|
||||
physList = Tiara.LHEP_BIC_HP()
|
||||
# available physics lists: LHEP_LEAD, LHEP_PRECO_HP
|
||||
# LHEP_PRECO, LHEP
|
||||
##physList = Tiara.LHEP()
|
||||
##physList = Tiara.LHEP_PRECO()
|
||||
physList = Tiara.LHEP_LEAD()
|
||||
##physList = Tiara.LHEP_PRECO_HP()
|
||||
|
||||
# specify the detectors
|
||||
scoreDetectorCreator = tiaraDetectors.ThreeZylindricDetectors()
|
||||
@@ -63,15 +66,6 @@ comment = ""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# Create a Specification object of the configuaration data
|
||||
##########################################################################
|
||||
@@ -87,12 +81,6 @@ tiaraSpecs = tiaraSpecifications.Specifications(Tiara.TiaraDimensions(),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# definition of the importance geometry and a scorer
|
||||
##########################################################################
|
||||
@@ -114,10 +102,6 @@ impScorer = G4Kernel.G4Scorer()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# Creation of a TiaraApplet to define the run mode, physics list,
|
||||
# detector type and the primary generator
|
||||
@@ -151,16 +135,20 @@ tApp.setPrimaryGenerator(primGenBuilder.primGen)
|
||||
|
||||
|
||||
tApp.noComponents = 0
|
||||
|
||||
## The following lines should be probably moved here after release Geant4-7.0
|
||||
##physList = Tiara.LHEP()
|
||||
##physList = Tiara.LHEP_PRECO()
|
||||
##physList = Tiara.LHEP_PRECO_HP()
|
||||
##physList = Tiara.LHEP_LEAD()
|
||||
##tApp.specifyPhysicsList(physList, particleCut)
|
||||
##tApp.setPrimaryGenerator(primGenBuilder.primGen)
|
||||
|
||||
tApp.config()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# creating of the sampler
|
||||
##########################################################################
|
||||
@@ -170,13 +158,6 @@ parallelSampler = myUtils.createParallelSampler(impGeo,
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##########################################################################
|
||||
# create a run config object, a run sequence and run the simulation
|
||||
##########################################################################
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# $Id: runVisMode.py,v 1.4 2004/06/09 15:04:35 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: vis.mac,v 1.2 2003/06/16 17:06:44 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: CLHEP.i,v 1.3 2003/06/20 12:41:06 dressel Exp $
|
||||
# $Id: CLHEP.i,v 1.4 2004/12/08 15:37:14 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: G4String.i,v 1.1 2003/06/17 15:25:01 mdressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
// coppied from std_string.i
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: G4Kernel.i,v 1.5 2003/06/20 12:41:06 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
%module G4Kernel
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.7 2004/06/09 15:04:35 daquinog Exp $
|
||||
# $Id: GNUmakefile,v 1.9 2004/12/14 13:11:06 daquinog Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile Michael Dressel
|
||||
# --------------------------------------------------------------
|
||||
@@ -19,12 +19,18 @@ SWIGFLAGS = -I../G4KernelWrapper \
|
||||
-I$(G4INSTALL)/source/event/include \
|
||||
-I$(G4INSTALL)/source/processes/transportation/include \
|
||||
-I$(TIARA_BASE)/source/tiara/include \
|
||||
-I$(TIARA_BASE)/source/tiaraPhysicsLists/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC_HP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_LEAD/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO_HP/include \
|
||||
-I$(TIARA_BASE)/source/CLHEPWrapper/include \
|
||||
-I$(TIARA_BASE)/source/G4KernelWrapper/include \
|
||||
-I${CLHEP_BASE_DIR}/include
|
||||
|
||||
#include $(TIARA_BASE)/source/hadronic_lists.gmk
|
||||
|
||||
include $(TIARA_BASE)/source/hadronic_lists.gmk
|
||||
#SWIGFLAGS += ${LSTFLAGS}
|
||||
|
||||
libdirTiara = $(G4WORKDIR)/tmp/$(G4SYSTEM)/tiara
|
||||
@@ -46,23 +52,25 @@ all: $(copyDeps) $(SWIGSO)
|
||||
include $(G4INSTALL)/config/binmake.gmk
|
||||
|
||||
ifdef G4ANALYSIS_USE
|
||||
CPPFLAGS += `aida-config --include`
|
||||
CPPFLAGS += `aida-config --include`
|
||||
# LDFLAGS += `aida-config --lib`
|
||||
endif
|
||||
|
||||
CPPFLAGS += -I$(TIARA_BASE)/source/tiara/include\
|
||||
-I$(PYTHON_INCLUDE_DIR) \
|
||||
-I$(TIARA_BASE)/source/tiaraPhysicsPackaging/include \
|
||||
-I$(TIARA_BASE)/source/tiaraPhysicsLists/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC_HP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_LEAD/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO_HP/include \
|
||||
-I$(TIARA_BASE)/source/G4KernelWrapper/include
|
||||
|
||||
LDFLAGS += -L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiara \
|
||||
-L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiaraPhysicsPackaging \
|
||||
-L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiaraPhysicsLists \
|
||||
-L$(PYTHON_LIB_DIR)
|
||||
|
||||
LDLIBS1 += -ltiaraPhysicsLists \
|
||||
-ltiaraPhysicsPackaging-handMade
|
||||
LDFLAGS += -L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiara \
|
||||
-L$(G4WORKDIR)/lib/plists/$(G4SYSTEM) \
|
||||
-L$(PYTHON_LIB_DIR)
|
||||
|
||||
|
||||
ifdef G4ANALYSIS_USE
|
||||
LDLIBS += `aida-config --lib`
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: Tiara.i,v 1.7 2003/12/08 17:53:26 gcosmo Exp $
|
||||
# $Id: Tiara.i,v 1.8 2004/12/08 15:37:14 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
%module Tiara
|
||||
@@ -20,12 +20,12 @@
|
||||
#include "TiaraCellScorer.hh"
|
||||
#include "TiaraCellScorerStore.hh"
|
||||
#include "TiaraPhysicsList.hh"
|
||||
#include "Physics_LHEP_PRECO.hh"
|
||||
#include "Physics_LHEP_PRECO_HP.hh"
|
||||
#include "Physics_LHEP_LEAD_HP.hh"
|
||||
#include "Physics_CASCADE_HP.hh"
|
||||
#include "LHEP_BIC.hh"
|
||||
#include "LHEP_BIC_HP.hh"
|
||||
#include "LHEP_BIC.hh"
|
||||
#include "LHEP.hh"
|
||||
#include "LHEP_PRECO.hh"
|
||||
#include "LHEP_LEAD.hh"
|
||||
#include "LHEP_PRECO_HP.hh"
|
||||
#include "TiaraVisEventAction.hh"
|
||||
#include "TiaraTimedEventAction.hh"
|
||||
#include "TiaraMeasure.hh"
|
||||
@@ -87,53 +87,50 @@
|
||||
|
||||
%include TiaraRandom.hh
|
||||
|
||||
%include TiaraPhysicsList.hh
|
||||
%extend TiaraPhysicsList {
|
||||
std::string getName() const {
|
||||
return std::string("Test12");
|
||||
}
|
||||
}
|
||||
|
||||
%include Physics_LHEP_PRECO.hh
|
||||
%extend Physics_LHEP_PRECO {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_PRECO");
|
||||
}
|
||||
}
|
||||
|
||||
%include Physics_LHEP_PRECO_HP.hh
|
||||
%extend Physics_LHEP_PRECO_HP {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_PRECO_HP");
|
||||
}
|
||||
}
|
||||
|
||||
%include Physics_LHEP_LEAD_HP.hh
|
||||
%extend Physics_LHEP_LEAD_HP {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_LEAD_HP");
|
||||
}
|
||||
}
|
||||
|
||||
%include Physics_CASCADE_HP.hh
|
||||
%extend Physics_CASCADE_HP {
|
||||
std::string getName() const {
|
||||
return std::string("CASCADE_HP");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_BIC.hh
|
||||
%extend LHEP_BIC {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_BIC");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_BIC_HP.hh
|
||||
%extend LHEP_BIC_HP {
|
||||
%template(LHEP_BIC_HP) TLHEP_BIC_HP<G4VModularPhysicsList>;
|
||||
%extend TLHEP_BIC_HP<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_BIC_HP");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_BIC.hh
|
||||
%template(LHEP_BIC) TLHEP_BIC<G4VModularPhysicsList>;
|
||||
%extend TLHEP_BIC<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_BIC");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP.hh
|
||||
%template(LHEP) TLHEP<G4VModularPhysicsList>;
|
||||
%extend TLHEP<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_PRECO.hh
|
||||
%template(LHEP_PRECO) TLHEP_PRECO<G4VModularPhysicsList>;
|
||||
%extend TLHEP_PRECO<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_PRECO");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_LEAD.hh
|
||||
%template(LHEP_LEAD) TLHEP_LEAD<G4VModularPhysicsList>;
|
||||
%extend TLHEP_LEAD<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_LEAD");
|
||||
}
|
||||
}
|
||||
|
||||
%include LHEP_PRECO_HP.hh
|
||||
%template(LHEP_PRECO_HP) TLHEP_PRECO_HP<G4VModularPhysicsList>;
|
||||
%extend TLHEP_PRECO_HP<G4VModularPhysicsList> {
|
||||
std::string getName() const {
|
||||
return std::string("LHEP_PRECO_HP");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
# $Id: hadronic_lists.gmk,v 1.4 2003/12/08 17:53:26 gcosmo Exp $
|
||||
# $Id: hadronic_lists.gmk,v 1.8 2004/12/13 15:55:02 gcosmo Exp $
|
||||
# --------------------------------------------------------------
|
||||
# hadronic physics-lists setup - H.P.Wellisch
|
||||
# --------------------------------------------------------------
|
||||
|
||||
ifndef G4LISTS_BASE
|
||||
EXTRALIBS += -L$(G4LIB)/.lists_build/$(G4SYSTEM)
|
||||
G4LISTS_BASE = $(G4INSTALL)/hadronic_lists
|
||||
EXTRALIBS += -L$(G4LIB)/plists/$(G4SYSTEM)
|
||||
G4LISTS_BASE = $(G4INSTALL)/physics_lists
|
||||
else
|
||||
EXTRALIBS += -L$(G4LISTS_BASE)/lists/.lists_build/lib/$(G4SYSTEM)
|
||||
EXTRALIBS += -L$(G4LISTS_BASE)/hadronic/plists/lib/$(G4SYSTEM)
|
||||
endif
|
||||
|
||||
EXTRALIBS += -lFTFC
|
||||
EXTRALIBS += -lFTFP
|
||||
EXTRALIBS += -lLBE
|
||||
@@ -29,6 +28,7 @@ EXTRALIBS += -lQGSP_GN
|
||||
EXTRALIBS += -lQGSP_HP
|
||||
EXTRALIBS += -lLHEP_BERT
|
||||
EXTRALIBS += -lLHEP_BIC
|
||||
EXTRALIBS += -lLHEP_BIC_HP
|
||||
EXTRALIBS += -lQGSP_BIC
|
||||
EXTRALIBS += -lPackaging
|
||||
|
||||
@@ -75,29 +75,29 @@ EXTRALIBS += -lG4hadronic_util
|
||||
|
||||
EXTRALIBS += -lG4shortlived
|
||||
|
||||
LSTFLAGS := -I$(G4LISTS_BASE)/lists/FTFC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/FTFP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LBE/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_BERT/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_BIC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_GN/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_BERT_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_BIC_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_LEAD/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_LEAD_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_PRECO/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/LHEP_PRECO_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/Packaging/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSC_LEAD/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSC_LEAD_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP_BERT/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP_BIC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP_GN/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/lists/QGSP_Model/include
|
||||
LSTFLAGS := -I$(G4LISTS_BASE)/hadronic/FTFC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/FTFP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LBE/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_GN/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BERT_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_BIC_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_LEAD_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/LHEP_PRECO_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/Packaging/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSC_LEAD_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BERT/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_BIC/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_GN/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_HP/include
|
||||
LSTFLAGS += -I$(G4LISTS_BASE)/hadronic/QGSP_Model/include
|
||||
|
||||
CPPFLAGS += ${LSTFLAGS}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: dataAcess.py,v 1.3 2003/06/26 11:54:13 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import os
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: detector.py,v 1.3 2003/06/26 11:54:13 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: dpsManip.py,v 1.2 2003/06/16 17:06:44 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import math
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: extractShelve.py,v 1.3 2003/07/04 13:26:31 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import string
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: myPI.py,v 1.1 2004/06/09 15:04:36 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import sys
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: myUtils.py,v 1.5 2004/06/09 15:04:36 daquinog Exp $
|
||||
# $Id: myUtils.py,v 1.6 2004/12/08 15:37:14 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import CLHEP
|
||||
@@ -114,13 +114,12 @@ def getStoreName():
|
||||
def getConfigurationInfo(impGeo, experiment, physicsList, totalTime,
|
||||
comment):
|
||||
configInfo = {}
|
||||
|
||||
|
||||
|
||||
configInfo["energy"] = experiment.energy
|
||||
|
||||
configInfo["shieldMaterial"] = experiment.shieldMaterial
|
||||
|
||||
|
||||
width = experiment.shieldWidth / CLHEP.cm
|
||||
s_width = "%(width)d" % vars()
|
||||
configInfo["shieldWidth"] = s_width
|
||||
@@ -134,10 +133,8 @@ def getConfigurationInfo(impGeo, experiment, physicsList, totalTime,
|
||||
|
||||
configInfo["biasing"] = simp
|
||||
|
||||
|
||||
configInfo["physListName"] = physicsList.getName()
|
||||
|
||||
|
||||
particles = ""
|
||||
|
||||
configInfo["minEnergyCut"] = experiment.particleCut
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: parallelHall.py,v 1.4 2003/06/20 12:41:06 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import G4Kernel
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: posLog.py,v 1.2 2003/06/16 17:06:44 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: runSequence.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import Tiara
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: slabGeometry.py,v 1.3 2003/06/20 12:41:07 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import math
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: tallyData.py,v 1.2 2003/06/16 17:06:44 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: tiaraApplication.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $
|
||||
# $Id: tiaraApplication.py,v 1.5 2004/12/08 15:37:14 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import string
|
||||
@@ -62,6 +62,10 @@ class TiaraApplet(object):
|
||||
self.createdDPS = 0
|
||||
self.tiaraSim.SetGeometry(self.tiaraHall)
|
||||
|
||||
def specifyPhysicsList(self, pl, particleCut):
|
||||
self.particleCut = particleCut
|
||||
self.physicsList = pl
|
||||
|
||||
def setScoreDetectorCreator(self, creator):
|
||||
self.scoreDetectorCreator=creator
|
||||
|
||||
@@ -84,11 +88,7 @@ class TiaraApplet(object):
|
||||
self.tiaraSim.AddTiaraEventAction(self.eventAction)
|
||||
return
|
||||
|
||||
|
||||
def specifyPhysicsList(self, pl, particleCut):
|
||||
self.particleCut = particleCut
|
||||
self.physicsList = pl
|
||||
|
||||
|
||||
def buildColimator(self):
|
||||
posColi = \
|
||||
CLHEP.Hep3Vector(0,0, self.tiaraSpecs.
|
||||
@@ -223,11 +223,9 @@ class TiaraApplet(object):
|
||||
def config(self):
|
||||
|
||||
self.tiaraSim.SetPhysicsList(self.physicsList)
|
||||
|
||||
self.buildDetectors()
|
||||
|
||||
|
||||
self.tiaraSim.initialize()
|
||||
|
||||
if len(self.particleCut) > 0:
|
||||
for p in self.particleCut:
|
||||
self.tiaraSim.AddParticleCut(p, self.particleCut[p]);
|
||||
@@ -235,4 +233,4 @@ class TiaraApplet(object):
|
||||
self.sampler.PrepareScoring(self.scorer)
|
||||
self.sampler.Configure()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: tiaraDetectors.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import CLHEP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: tiaraGenerators.py,v 1.3 2004/06/09 15:04:36 daquinog Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-06-02 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import string
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: tiaraSpecifications.py,v 1.3 2003/06/20 12:41:07 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import CLHEP
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# $Id: variableGeometry.py,v 1.2 2003/06/16 17:06:45 dressel Exp $
|
||||
# -------------------------------------------------------------------
|
||||
# GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
# GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
# -------------------------------------------------------------------
|
||||
#
|
||||
import G4Kernel
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# $Id: GNUmakefile,v 1.6 2004/06/09 15:04:37 daquinog Exp $
|
||||
# $Id: GNUmakefile,v 1.8 2004/12/14 13:11:07 daquinog Exp $
|
||||
# --------------------------------------------------------------
|
||||
# GNUmakefile Michael Dressel
|
||||
# --------------------------------------------------------------
|
||||
@@ -13,11 +13,6 @@ endif
|
||||
|
||||
include $(G4INSTALL)/config/architecture.gmk
|
||||
|
||||
EXTRALIBS += -L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiaraPhysicsPackaging \
|
||||
-L$(G4WORKDIR)/tmp/$(G4SYSTEM)/tiaraPhysicsLists \
|
||||
-ltiaraPhysicsLists \
|
||||
-ltiaraPhysicsPackaging-handMade
|
||||
|
||||
include $(TIARA_BASE)/source/hadronic_lists.gmk
|
||||
|
||||
.PHONY: all tiaraClean
|
||||
@@ -33,8 +28,12 @@ endif
|
||||
|
||||
|
||||
CPPFLAGS += -I$(PYTHON_INCLUDE_DIR) \
|
||||
-I$(TIARA_BASE)/source/tiaraPhysicsPackaging/include \
|
||||
-I$(TIARA_BASE)/source/tiaraPhysicsLists/include
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_BIC_HP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_LEAD/include \
|
||||
-I$(G4INSTALL)/physics_lists/hadronic/LHEP_PRECO_HP/include
|
||||
|
||||
LDFLAGS += -L$(PYTHON_LIB_DIR)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraCellScorer.hh,v 1.3 2003/06/18 16:40:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraCellScorer
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraCellScorerStore.hh,v 1.2 2003/06/18 16:40:23 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraCellScorerStore
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraConcreteShieldA.hh,v 1.3 2003/06/25 09:12:35 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraConcreteShieldB.hh,v 1.3 2003/06/25 09:12:36 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraDPSSampledEnergy.hh,v 1.6 2004/06/09 15:04:37 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraDimensions.hh,v 1.3 2003/06/25 09:12:38 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraEnergyCutProcess.hh,v 1.3 2003/06/25 09:12:39 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraFileAcess.hh,v 1.3 2003/06/25 09:12:40 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraFixedEnergyGenerator.hh,v 1.3 2003/06/25 09:12:41 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraGeometry.hh,v 1.4 2003/06/25 09:12:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIronShieldA.hh,v 1.3 2003/06/25 09:12:43 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIronShieldB.hh,v 1.3 2003/06/25 09:12:44 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIsotropicDirections.hh,v 1.3 2003/06/25 09:12:45 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraMaterials.hh,v 1.4 2003/06/25 09:12:46 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraMeasure.hh,v 1.3 2003/06/25 09:12:47 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraPart.hh,v 1.3 2003/06/25 09:12:48 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraPhysicsList.hh,v 1.1.1.1 2003/06/12 13:08:24 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraPhysicsList
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraPrimaryGeneratorAction.hh,v 1.1.1.1 2003/06/12 13:08:24 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#ifndef TiaraPrimaryGeneratorAction_hh
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraRandom.hh,v 1.3 2003/06/25 09:12:49 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraSampledEnergy.hh,v 1.4 2003/06/25 09:12:50 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraSim.hh,v 1.4 2003/06/25 09:12:51 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraTally.hh,v 1.4 2003/06/25 09:12:52 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraTimedEventAction.hh,v 1.1.1.1 2003/06/12 13:08:24 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraTimedEventAction
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraVComponent.hh,v 1.4 2003/06/25 09:12:53 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraVDirectionGenerator.hh,v 1.3 2003/06/25 09:12:54 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraVSourceEnergyGenerator.hh,v 1.3 2003/06/25 09:12:55 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
//
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraVisEventAction.hh,v 1.1.1.1 2003/06/12 13:08:25 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraVisEventAction
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraVisManager.hh,v 1.1.1.1 2003/06/12 13:08:25 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraVisRunAction.hh,v 1.1.1.1 2003/06/12 13:08:25 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// Class TiaraVisRunAction
|
||||
|
||||
@@ -1,490 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4LElastic.cc-alt,v 1.2 2003/06/18 16:40:26 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// Physics model class G4LElastic
|
||||
//
|
||||
//
|
||||
// G4 Model: Low-energy Elastic scattering
|
||||
// F.W. Jones, TRIUMF, 04-JUN-96
|
||||
//
|
||||
// use -scheme for elastic scattering: HPW, 20th June 1997
|
||||
// most of the code comes from the old Low-energy Elastic class
|
||||
//
|
||||
// 25-JUN-98 FWJ: replaced missing Initialize for ParticleChange.
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4LElastic.hh"
|
||||
#include "Randomize.hh"
|
||||
#include "G4ParticleTable.hh"
|
||||
|
||||
G4VParticleChange*
|
||||
G4LElastic::ApplyYourself(const G4Track& aTrack, G4Nucleus& targetNucleus)
|
||||
{
|
||||
theParticleChange.Initialize(aTrack);
|
||||
|
||||
const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle();
|
||||
G4double atno2 = targetNucleus.GetN();
|
||||
|
||||
// Elastic scattering off Hydrogen
|
||||
|
||||
G4DynamicParticle* aSecondary = 0;
|
||||
if (atno2 < 1.5) {
|
||||
G4ParticleDefinition* aParticleType = aParticle->GetDefinition();
|
||||
if (aParticleType == G4PionPlus::PionPlus())
|
||||
aSecondary = LightMedia.PionPlusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4PionMinus::PionMinus())
|
||||
aSecondary = LightMedia.PionMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4KaonPlus::KaonPlus())
|
||||
aSecondary = LightMedia.KaonPlusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4KaonZeroShort::KaonZeroShort())
|
||||
aSecondary = LightMedia.KaonZeroShortExchange(aParticle,targetNucleus);
|
||||
else if (aParticleType == G4KaonZeroLong::KaonZeroLong())
|
||||
aSecondary = LightMedia.KaonZeroLongExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4KaonMinus::KaonMinus())
|
||||
aSecondary = LightMedia.KaonMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4Proton::Proton())
|
||||
aSecondary = LightMedia.ProtonExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiProton::AntiProton())
|
||||
aSecondary = LightMedia.AntiProtonExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4Neutron::Neutron())
|
||||
aSecondary = LightMedia.NeutronExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiNeutron::AntiNeutron())
|
||||
aSecondary = LightMedia.AntiNeutronExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4Lambda::Lambda())
|
||||
aSecondary = LightMedia.LambdaExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiLambda::AntiLambda())
|
||||
aSecondary = LightMedia.AntiLambdaExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4SigmaPlus::SigmaPlus())
|
||||
aSecondary = LightMedia.SigmaPlusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4SigmaMinus::SigmaMinus())
|
||||
aSecondary = LightMedia.SigmaMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiSigmaPlus::AntiSigmaPlus())
|
||||
aSecondary = LightMedia.AntiSigmaPlusExchange(aParticle,targetNucleus);
|
||||
else if (aParticleType == G4AntiSigmaMinus::AntiSigmaMinus())
|
||||
aSecondary= LightMedia.AntiSigmaMinusExchange(aParticle,targetNucleus);
|
||||
else if (aParticleType == G4XiZero::XiZero())
|
||||
aSecondary = LightMedia.XiZeroExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4XiMinus::XiMinus())
|
||||
aSecondary = LightMedia.XiMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiXiZero::AntiXiZero())
|
||||
aSecondary = LightMedia.AntiXiZeroExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiXiMinus::AntiXiMinus())
|
||||
aSecondary = LightMedia.AntiXiMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4OmegaMinus::OmegaMinus())
|
||||
aSecondary = LightMedia.OmegaMinusExchange(aParticle, targetNucleus);
|
||||
else if (aParticleType == G4AntiOmegaMinus::AntiOmegaMinus())
|
||||
aSecondary= LightMedia.AntiOmegaMinusExchange(aParticle,targetNucleus);
|
||||
else if (aParticleType == G4KaonPlus::KaonPlus())
|
||||
aSecondary = LightMedia.KaonPlusExchange(aParticle, targetNucleus);
|
||||
}
|
||||
|
||||
// Has a charge or strangeness exchange occurred?
|
||||
if (aSecondary) {
|
||||
aSecondary->SetMomentum(aParticle->GetMomentum());
|
||||
theParticleChange.SetStatusChange(fStopAndKill);
|
||||
theParticleChange.AddSecondary(aSecondary);
|
||||
}
|
||||
|
||||
G4double p = aParticle->GetTotalMomentum()/GeV;
|
||||
if (verboseLevel > 1)
|
||||
G4cout << "G4LElastic::DoIt: Incident particle p=" << p << " GeV" << G4endl;
|
||||
|
||||
if (p < 0.01) return &theParticleChange;
|
||||
|
||||
// Compute the direction of elastic scattering.
|
||||
// It is planned to replace this code with a method based on
|
||||
// parameterized functions and a Monte Carlo method to invert the CDF.
|
||||
|
||||
G4double ran = G4UniformRand();
|
||||
G4double aa, bb, cc, dd, rr;
|
||||
if (atno2 <= 62.) {
|
||||
aa = pow(atno2, 1.63);
|
||||
bb = 14.5*pow(atno2, 0.66);
|
||||
cc = 1.4*pow(atno2, 0.33);
|
||||
dd = 10.;
|
||||
}
|
||||
else {
|
||||
aa = pow(atno2, 1.33);
|
||||
bb = 60.*pow(atno2, 0.33);
|
||||
cc = 0.4*pow(atno2, 0.40);
|
||||
dd = 10.;
|
||||
}
|
||||
aa = aa/bb;
|
||||
cc = cc/dd;
|
||||
rr = (aa + cc)*ran;
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "DoIt: aa,bb,cc,dd,rr" << G4endl;
|
||||
G4cout << aa << " " << bb << " " << cc << " " << dd << " " << rr << G4endl;
|
||||
}
|
||||
G4double t1 = -log(ran)/bb;
|
||||
G4double t2 = -log(ran)/dd;
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "log(FLT_MAX)=" << log(FLT_MAX) << G4endl;
|
||||
G4cout << "t1,Fctcos " << t1 << " " << Fctcos(t1, aa, bb, cc, dd, rr) <<
|
||||
G4endl;
|
||||
G4cout << "t2,Fctcos " << t2 << " " << Fctcos(t2, aa, bb, cc, dd, rr) <<
|
||||
G4endl;
|
||||
}
|
||||
G4double eps = 0.001;
|
||||
G4int ind1 = 10;
|
||||
G4double t;
|
||||
G4int ier1;
|
||||
ier1 = Rtmi(&t, t1, t2, eps, ind1,
|
||||
aa, bb, cc, dd, rr);
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "From Rtmi, ier1=" << ier1 << G4endl;
|
||||
G4cout << "t, Fctcos " << t << " " << Fctcos(t, aa, bb, cc, dd, rr) <<
|
||||
G4endl;
|
||||
}
|
||||
if (ier1 != 0) t = 0.25*(3.*t1 + t2);
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "t, Fctcos " << t << " " << Fctcos(t, aa, bb, cc, dd, rr) <<
|
||||
G4endl;
|
||||
}
|
||||
G4double phi = G4UniformRand()*twopi;
|
||||
rr = 0.5*t/(p*p);
|
||||
if (rr > 1.) rr = 0.;
|
||||
if (verboseLevel > 1)
|
||||
G4cout << "rr=" << rr << G4endl;
|
||||
G4double cost = 1. - rr;
|
||||
G4double sint = sqrt(std::max(rr*(2. - rr), 0.));
|
||||
if (!(sint > 0.)) return &theParticleChange;
|
||||
if (verboseLevel > 1)
|
||||
G4cout << "cos(t)=" << cost << " sin(t)=" << sint << G4endl;
|
||||
// Scattered particle referred to axis of incident particle
|
||||
G4double px = p*sint*sin(phi);
|
||||
G4double py = p*sint*cos(phi);
|
||||
G4double pz = p*cost;
|
||||
|
||||
/// added by Laurent Desorgher
|
||||
|
||||
|
||||
|
||||
|
||||
G4int Z = (int) targetNucleus.GetZ();
|
||||
G4int A = (int) targetNucleus.GetN();
|
||||
G4ParticleTable* aTable =G4ParticleTable::GetParticleTable();
|
||||
G4ParticleDefinition* aIon = aTable->GetIon( Z, A, 0.);
|
||||
G4DynamicParticle* IonDyn = new G4DynamicParticle;
|
||||
G4double m0_ion=aIon->GetPDGMass();
|
||||
|
||||
IonDyn->SetDefinition( aIon );
|
||||
G4double ct2=cost*cost;
|
||||
|
||||
G4double mA(aParticle->GetMass());
|
||||
G4double eA(aParticle->GetTotalEnergy());
|
||||
G4double mB(m0_ion);
|
||||
G4double pA(aParticle->GetTotalMomentum());
|
||||
G4double st2(sint*sint);
|
||||
|
||||
G4cout << "mA " << mA << G4endl;
|
||||
G4cout << "eA " << eA << G4endl;
|
||||
G4cout << "mB " << mB << G4endl;
|
||||
G4cout << "pA " << pA << G4endl;
|
||||
G4cout << "st2 " << st2 << G4endl;
|
||||
|
||||
G4double mA2(mA*mA);
|
||||
G4double mB2minusmA2st2(mB*mB-mA2*st2);
|
||||
G4double sqrtmB2minusmA2st2(0.);
|
||||
if (mB2minusmA2st2 >0. ) {
|
||||
sqrtmB2minusmA2st2 = sqrt(mB2minusmA2st2);
|
||||
}
|
||||
else {
|
||||
G4cout << "G4LElastic::ApplyYourself: mB2minusmA2st2 < 0: set mB = mA" << G4endl;
|
||||
mB = mA;
|
||||
}
|
||||
G4double mBeA(mB*eA);
|
||||
G4double eAplusmB(eA+mB);
|
||||
G4double pA2(pA*pA);
|
||||
|
||||
G4cout << "mB2minusmA2st2 " << mB2minusmA2st2 << G4endl;
|
||||
G4cout << "sqrtmB2minusmA2st2 " << sqrtmB2minusmA2st2 << G4endl;
|
||||
G4cout << "mBeA " << mBeA << G4endl;
|
||||
G4cout << "mA2 " << mA2 << G4endl;
|
||||
G4cout << "eAplusmB " << eAplusmB << G4endl;
|
||||
G4cout << "pA2 " << pA2 << G4endl;
|
||||
|
||||
|
||||
G4double term1(
|
||||
eAplusmB * (mBeA+mA2)
|
||||
);
|
||||
G4double term2(
|
||||
pA2 *cost * sqrtmB2minusmA2st2
|
||||
);
|
||||
G4double term3(eAplusmB*eAplusmB - pA2*ct2);
|
||||
G4cout << "term1 " << term1 << G4endl;
|
||||
G4cout << "term2 " << term2 << G4endl;
|
||||
G4cout << "term3 " << term3 << G4endl;
|
||||
|
||||
|
||||
G4double Eplus((term1+term2)/term3);
|
||||
G4cout << "Eplus " << Eplus << G4endl;
|
||||
|
||||
G4double p1=aParticle->GetTotalMomentum();
|
||||
G4double m1=aParticle->GetTotalEnergy();
|
||||
G4double p12=p1*p1;
|
||||
G4double p14=p12*p12;
|
||||
G4double m01=sqrt(m1*m1-p12);
|
||||
if (verboseLevel > 1) G4cout<<m01<<"m01"<<m0_ion<<"m0_ion"<<endl;
|
||||
G4double Etot=m1+m0_ion;
|
||||
G4double Etot2=Etot*Etot;
|
||||
G4double apar=Etot2-p12*ct2;
|
||||
G4double bpar=2.*p12*(m1*ct2 -Etot);
|
||||
G4double cpar=p14*(1-ct2);
|
||||
G4double rhopar=sqrt(bpar*bpar -4.*apar*cpar);
|
||||
G4double deltaE1=(-bpar+rhopar)/(2.*apar);
|
||||
G4double deltaE2=(-bpar-rhopar)/(2.*apar);
|
||||
if (verboseLevel > 1) G4cout<<deltaE1/MeV<<" "<<deltaE2/MeV<<endl;
|
||||
G4double m11=m1-deltaE2;
|
||||
G4double p11=sqrt(m11*m11-m01*m01);
|
||||
G4cout << "m11 " << m11 << G4endl;
|
||||
|
||||
|
||||
// Incident particle
|
||||
G4double pxinc = p*(aParticle->GetMomentumDirection().x());
|
||||
G4double pyinc = p*(aParticle->GetMomentumDirection().y());
|
||||
G4double pzinc = p*(aParticle->GetMomentumDirection().z());
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "NOM SCAT " << px << " " << py << " " << pz << G4endl;
|
||||
G4cout << "INCIDENT " << pxinc << " " << pyinc << " " << pzinc << G4endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Transform scattered particle to reflect direction of incident particle
|
||||
G4double pxnew, pynew, pznew;
|
||||
Defs1(p, px, py, pz, pxinc, pyinc, pzinc, &pxnew, &pynew, &pznew);
|
||||
// Normalize:
|
||||
pxnew = pxnew/p;
|
||||
pynew = pynew/p;
|
||||
pznew = pznew/p;
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "DoIt: returning new momentum vector" << G4endl;
|
||||
G4cout << pxnew << " " << pynew << " " << pznew << G4endl;
|
||||
}
|
||||
|
||||
|
||||
if (aSecondary) {
|
||||
if (Eplus < m01) {
|
||||
G4Exception("ERROR: G4LElastic::ApplyYourself: Eplus < m01");
|
||||
}
|
||||
G4double pAout(sqrt(Eplus*Eplus - m01 * m01));
|
||||
G4cout << "pAout " << pAout << G4endl;
|
||||
G4cout << "p11 " << p11 << G4endl;
|
||||
if (pAout == pAout) {
|
||||
}
|
||||
else {
|
||||
G4Exception("! (pAout == pAout)");
|
||||
}
|
||||
aSecondary->SetMomentum(G4ThreeVector(pxnew*pAout, pynew*pAout, pznew*pAout));
|
||||
}
|
||||
else {
|
||||
G4double Ekin(Eplus-m01);
|
||||
G4cout << "Ekin " << Ekin << G4endl;
|
||||
G4cout << "m11-m01 " << m11-m01<< G4endl;
|
||||
if (Ekin == Ekin) {
|
||||
}
|
||||
else {
|
||||
G4Exception("! (Ekin == Ekin)");
|
||||
}
|
||||
theParticleChange.SetMomentumChange(pxnew, pynew, pznew);
|
||||
theParticleChange.SetEnergyChange(Ekin);
|
||||
}
|
||||
return &theParticleChange;
|
||||
}
|
||||
|
||||
|
||||
// The following is a "translation" of a root-finding routine
|
||||
// from GEANT3.21/GHEISHA. Some of the labelled block structure has
|
||||
// been retained for clarity. This routine will not be needed after
|
||||
// the planned revisions to DoIt().
|
||||
|
||||
G4int
|
||||
G4LElastic::Rtmi(G4double* x, G4double xli, G4double xri, G4double eps,
|
||||
G4int iend,
|
||||
G4double aa, G4double bb, G4double cc, G4double dd,
|
||||
G4double rr)
|
||||
{
|
||||
G4int ier = 0;
|
||||
G4double xl = xli;
|
||||
G4double xr = xri;
|
||||
*x = xl;
|
||||
G4double tol = *x;
|
||||
G4double f = Fctcos(tol, aa, bb, cc, dd, rr);
|
||||
if (f == 0.) return ier;
|
||||
G4double fl, fr;
|
||||
fl = f;
|
||||
*x = xr;
|
||||
tol = *x;
|
||||
f = Fctcos(tol, aa, bb, cc, dd, rr);
|
||||
if (f == 0.) return ier;
|
||||
fr = f;
|
||||
|
||||
// Error return in case of wrong input data
|
||||
if (fl*fr >= 0.) {
|
||||
ier = 2;
|
||||
return ier;
|
||||
}
|
||||
|
||||
// Basic assumption fl*fr less than 0 is satisfied.
|
||||
// Generate tolerance for function values.
|
||||
G4int i = 0;
|
||||
G4double tolf = 100.*eps;
|
||||
|
||||
// Start iteration loop
|
||||
label4:
|
||||
i++;
|
||||
|
||||
// Start bisection loop
|
||||
for (G4int k = 1; k <= iend; k++) {
|
||||
*x = 0.5*(xl + xr);
|
||||
tol = *x;
|
||||
f = Fctcos(tol, aa, bb, cc, dd, rr);
|
||||
if (f == 0.) return 0;
|
||||
if (f*fr < 0.) { // Interchange xl and xr in order to get the
|
||||
tol = xl; // same Sign in f and fr
|
||||
xl = xr;
|
||||
xr = tol;
|
||||
tol = fl;
|
||||
fl = fr;
|
||||
fr = tol;
|
||||
}
|
||||
tol = f - fl;
|
||||
G4double a = f*tol;
|
||||
a = a + a;
|
||||
if (a < fr*(fr - fl) && i <= iend) goto label17;
|
||||
xr = *x;
|
||||
fr = f;
|
||||
|
||||
// Test on satisfactory accuracy in bisection loop
|
||||
tol = eps;
|
||||
a = abs(xr);
|
||||
if (a > 1.) tol = tol*a;
|
||||
if (abs(xr - xl) <= tol && abs(fr - fl) <= tolf) goto label14;
|
||||
}
|
||||
// End of bisection loop
|
||||
|
||||
// No convergence after iend iteration steps followed by iend
|
||||
// successive steps of bisection or steadily increasing function
|
||||
// values at right bounds. Error return.
|
||||
ier = 1;
|
||||
|
||||
label14:
|
||||
if (abs(fr) > abs(fl)) {
|
||||
*x = xl;
|
||||
f = fl;
|
||||
}
|
||||
return ier;
|
||||
|
||||
// Computation of iterated x-value by inverse parabolic interp
|
||||
label17:
|
||||
G4double a = fr - f;
|
||||
G4double dx = (*x - xl)*fl*(1. + f*(a - tol)/(a*(fr - fl)))/tol;
|
||||
G4double xm = *x;
|
||||
G4double fm = f;
|
||||
*x = xl - dx;
|
||||
tol = *x;
|
||||
f = Fctcos(tol, aa, bb, cc, dd, rr);
|
||||
if (f == 0.) return ier;
|
||||
|
||||
// Test on satisfactory accuracy in iteration loop
|
||||
tol = eps;
|
||||
a = abs(*x);
|
||||
if (a > 1) tol = tol*a;
|
||||
if (abs(dx) <= tol && abs(f) <= tolf) return ier;
|
||||
|
||||
// Preparation of next bisection loop
|
||||
if (f*fl < 0.) {
|
||||
xr = *x;
|
||||
fr = f;
|
||||
}
|
||||
else {
|
||||
xl = *x;
|
||||
fl = f;
|
||||
xr = xm;
|
||||
fr = fm;
|
||||
}
|
||||
goto label4;
|
||||
}
|
||||
|
||||
|
||||
// Test function for root-finder
|
||||
|
||||
G4double
|
||||
G4LElastic::Fctcos(G4double t,
|
||||
G4double aa, G4double bb, G4double cc, G4double dd,
|
||||
G4double rr)
|
||||
{
|
||||
const G4double expxl = -82.;
|
||||
const G4double expxu = 82.;
|
||||
|
||||
G4double test1 = -bb*t;
|
||||
if (test1 > expxu) test1 = expxu;
|
||||
if (test1 < expxl) test1 = expxl;
|
||||
|
||||
G4double test2 = -dd*t;
|
||||
if (test2 > expxu) test2 = expxu;
|
||||
if (test2 < expxl) test2 = expxl;
|
||||
|
||||
return aa*exp(test1) + cc*exp(test2) - rr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
G4LElastic::Defs1(G4double p, G4double px, G4double py, G4double pz,
|
||||
G4double pxinc, G4double pyinc, G4double pzinc,
|
||||
G4double* pxnew, G4double* pynew, G4double* pznew)
|
||||
{
|
||||
// Transform scattered particle to reflect direction of incident particle
|
||||
G4double pt2 = pxinc*pxinc + pyinc*pyinc;
|
||||
if (pt2 > 0.) {
|
||||
G4double cost = pzinc/p;
|
||||
G4double sint1 = sqrt(abs((1. - cost )*(1.+cost)));
|
||||
G4double sint2 = sqrt(pt2)/p;
|
||||
G4double sint = 0.5*(sint1 + sint2);
|
||||
G4double ph = pi*0.5;
|
||||
if (pyinc < 0.) ph = pi*1.5;
|
||||
if (abs(pxinc) > 1.e-6) ph = atan2(pyinc, pxinc);
|
||||
G4double cosp = cos(ph);
|
||||
G4double sinp = sin(ph);
|
||||
if (verboseLevel > 1) {
|
||||
G4cout << "cost sint " << cost << " " << sint << G4endl;
|
||||
G4cout << "cosp sinp " << cosp << " " << sinp << G4endl;
|
||||
}
|
||||
*pxnew = cost*cosp*px - sinp*py + sint*cosp*pz;
|
||||
*pynew = cost*sinp*px + cosp*py + sint*sinp*pz;
|
||||
*pznew = -sint*px +cost*pz;
|
||||
}
|
||||
else {
|
||||
G4double cost=pzinc/p;
|
||||
*pxnew = cost*px;
|
||||
*pynew = py;
|
||||
*pznew = cost*pz;
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraCellScorer.cc,v 1.4 2004/06/09 15:04:37 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class source file
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: TiaraCellScorer.cc-Smeared,v 1.2 2003/06/18 16:40:28 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class source file
|
||||
//
|
||||
// TiaraCellScorer.cc
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
#include <cmath>
|
||||
#include "TiaraCellScorer.hh"
|
||||
#include "G4GeometryCell.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4StepPoint.hh"
|
||||
#include "G4CellScoreValues.hh"
|
||||
#include "Randomize.hh"
|
||||
|
||||
TiaraCellScorer::TiaraCellScorer(AIDA::IHistogramFactory *hf,
|
||||
const G4String &histBaseName,
|
||||
const std::vector<double>
|
||||
&binEdgesScinti,
|
||||
const std::vector<double>
|
||||
&binEdgesBonner,
|
||||
const TiaraTally &tally) :
|
||||
fBaseName(histBaseName),
|
||||
fEnergyHisto(hf->createHistogram1D(histBaseName,
|
||||
histBaseName + ": flux vs. energy",
|
||||
binEdgesScinti)),
|
||||
fEnergyFluxHisto(hf->createHistogram1D(histBaseName + "Eflux",
|
||||
histBaseName + ": energy flux vs. energy",
|
||||
binEdgesScinti)),
|
||||
|
||||
fEnergyHistoBonner(hf->createHistogram1D(histBaseName + "Bonner",
|
||||
histBaseName + ": flux vs. energy",
|
||||
binEdgesBonner)),
|
||||
fEnergyFluxHistoBonner(hf->createHistogram1D(histBaseName + "BonnerEflux",
|
||||
histBaseName + ": energy flux vs. energy",
|
||||
binEdgesBonner)),
|
||||
|
||||
fTally(tally),
|
||||
fDataStream(),
|
||||
fDataFileName()
|
||||
{}
|
||||
|
||||
|
||||
|
||||
TiaraCellScorer::~TiaraCellScorer()
|
||||
{}
|
||||
|
||||
void TiaraCellScorer::ScoreAnExitingStep(const G4Step &aStep,
|
||||
const G4GeometryCell &pre_gCell){
|
||||
fG4CellScorer.ScoreAnExitingStep(aStep, pre_gCell);
|
||||
FillHisto(aStep);
|
||||
}
|
||||
|
||||
void TiaraCellScorer::ScoreAnEnteringStep(const G4Step &aStep,
|
||||
const G4GeometryCell &post_gCell){
|
||||
fG4CellScorer.ScoreAnEnteringStep(aStep, post_gCell);
|
||||
return;
|
||||
}
|
||||
|
||||
void TiaraCellScorer::ScoreAnInVolumeStep(const G4Step &aStep,
|
||||
const G4GeometryCell &post_gCell){
|
||||
fG4CellScorer.ScoreAnInVolumeStep(aStep, post_gCell);
|
||||
FillHisto(aStep);
|
||||
}
|
||||
|
||||
void TiaraCellScorer::FillHisto(const G4Step &aStep){
|
||||
|
||||
G4StepPoint *p = 0;
|
||||
p = aStep.GetPreStepPoint();
|
||||
|
||||
G4double sl = aStep.GetStepLength() / cm;
|
||||
G4double w = p->GetWeight();
|
||||
G4double slw = sl * w;
|
||||
|
||||
G4double e(p->GetKineticEnergy());
|
||||
|
||||
|
||||
G4double b2 = 0.16;
|
||||
G4double a2 = 0.0025;
|
||||
|
||||
while (1) {
|
||||
G4double b2_e = 0;
|
||||
if (e>0.) {
|
||||
b2_e = b2 / e;
|
||||
}
|
||||
G4double sig = e * sqrt(a2 + b2_e);
|
||||
e = G4RandGauss::shoot( e, sig);
|
||||
if (!(e<0)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (fDataStream.is_open()) {
|
||||
fDataStream << std::scientific << std::setprecision(4)
|
||||
<< e << " " << sl << " " << w << "\n";
|
||||
}
|
||||
|
||||
fEnergyHisto->fill(e, slw);
|
||||
fEnergyFluxHisto->fill(e, slw*e);
|
||||
fEnergyHistoBonner->fill(e/eV, slw);
|
||||
fEnergyFluxHistoBonner->fill(e/eV, slw*e/eV);
|
||||
|
||||
fTally.fill(e, slw);
|
||||
|
||||
}
|
||||
|
||||
void TiaraCellScorer::EndOfEventAction() {
|
||||
if (fDataStream.is_open()) {
|
||||
fDataStream << "ee" << "\n";
|
||||
}
|
||||
fTally.EndOfEventAction();
|
||||
}
|
||||
|
||||
const TiaraTally &TiaraCellScorer::GetTally() const {
|
||||
return fTally;
|
||||
}
|
||||
|
||||
void TiaraCellScorer::openDataStream(const G4String &filename){
|
||||
fDataFileName = filename;
|
||||
closeDataStream();
|
||||
fDataStream.open(fDataFileName.c_str());
|
||||
if (!fDataStream.is_open()) {
|
||||
G4cout << "TiaraCellScorer::openDataStream: ERROR: failed to open: "
|
||||
<< fDataFileName << G4endl;
|
||||
}
|
||||
else {
|
||||
fDataStream << fDataFileName << "\n";
|
||||
fDataStream << "end of event marked with: ee\n";
|
||||
fDataStream << "emergy steplength weight\n";
|
||||
}
|
||||
}
|
||||
|
||||
void TiaraCellScorer::closeDataStream(){
|
||||
if (fDataStream.is_open()) {
|
||||
fDataStream.flush();
|
||||
fDataStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
const G4String &TiaraCellScorer::getDataFileName(){
|
||||
return fDataFileName;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraCellScorerStore.cc,v 1.1.1.1 2003/06/12 13:08:25 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
// ----------------------------------------------------------------------
|
||||
// GEANT 4 class source file
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraConcreteShieldA.cc,v 1.3 2003/06/25 09:12:56 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraConcreteShieldA.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraConcreteShieldB.cc,v 1.3 2003/06/25 09:12:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraConcreteShieldB.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraDPSSampledEnergy.cc,v 1.8 2004/06/09 15:04:37 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-06-02 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraDPSSampledEnergy.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraDimensions.cc,v 1.3 2003/06/25 09:12:59 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraDimensions.hh"
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraEnergyCutProcess.cc,v 1.4 2003/11/07 12:39:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// $Id: TiaraEnergyCutProcess.cc,v 1.5 2004/12/08 15:37:15 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
|
||||
#include "TiaraEnergyCutProcess.hh"
|
||||
@@ -57,7 +57,7 @@ TiaraEnergyCutProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &)
|
||||
pParticleChange->Initialize(aTrack);
|
||||
|
||||
if (aTrack.GetKineticEnergy() < fMinEnergyCut) {
|
||||
pParticleChange->SetStatusChange(fStopAndKill);
|
||||
pParticleChange->ProposeTrackStatus(fStopAndKill);
|
||||
}
|
||||
|
||||
return G4VProcess::pParticleChange;
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraFileAcess.cc,v 1.3 2003/06/25 09:13:01 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraFileAcess.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraFixedEnergyGenerator.cc,v 1.3 2003/06/25 09:13:02 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraFixedEnergyGenerator.hh"
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraGeometry.cc,v 1.3 2003/06/25 09:13:03 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// $Id: TiaraGeometry.cc,v 1.4 2004/12/08 17:25:34 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
|
||||
#include "TiaraGeometry.hh"
|
||||
@@ -247,14 +247,14 @@ G4LogicalVolume *TiaraGeometry::BuildShield(G4double width,
|
||||
|
||||
G4LogicalVolume *logVol = 0;
|
||||
if (! (width > 0)) {
|
||||
G4cout << "TiaraGeometry::BuildShiel witdth must be > 0"
|
||||
G4cout << "TiaraGeometry::BuildShield width must be > 0"
|
||||
<< G4endl;
|
||||
}
|
||||
else {
|
||||
G4Material *mat = 0;
|
||||
mat = fMaterials.GetMaterial(matName);
|
||||
if (!mat) {
|
||||
G4cout << "TiaraGeometry::BuildShiel no valid material"
|
||||
G4cout << "TiaraGeometry::BuildShield no valid material"
|
||||
<< G4endl;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIronShieldA.cc,v 1.3 2003/06/25 09:13:04 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraIronShieldA.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIronShieldB.cc,v 1.3 2003/06/25 09:13:05 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraIronShieldB.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraIsotropicDirections.cc,v 1.4 2003/12/04 11:08:48 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraIsotropicDirections.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraMaterials.cc,v 1.4 2003/06/25 09:13:07 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraMaterials.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraMeasure.cc,v 1.3 2003/06/25 09:13:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraMeasure.hh"
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: TiaraPhysicsList.cc,v 1.4 2003/11/20 08:31:26 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// $Id: TiaraPhysicsList.cc,v 1.5 2004/12/08 15:37:15 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraPrimaryGeneratorAction.cc,v 1.3 2003/12/09 08:48:05 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraRandom.cc,v 1.3 2003/06/25 09:13:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraRandom.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraSampledEnergy.cc,v 1.4 2003/06/25 09:13:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraSampledEnergy.hh"
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraSim.cc,v 1.5 2003/11/07 12:39:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// $Id: TiaraSim.cc,v 1.6 2004/12/08 15:37:15 daquinog Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-03 $
|
||||
//
|
||||
|
||||
#include "TiaraSim.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraStackingAction.cc,v 1.4 2003/06/25 09:13:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraStackingAction.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraTally.cc,v 1.4 2003/11/07 12:39:11 vnivanch Exp $
|
||||
// GEANT4 tag $Name: geant4-06-00-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraTally.hh"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: TiaraTimedEventAction.cc,v 1.2 2003/06/13 16:05:33 dressel Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraVComponent.cc,v 1.3 2003/06/25 09:13:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraVComponent.hh"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
// $Id: TiaraVDirectionGenerator.cc,v 1.3 2003/06/25 09:13:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-05-02-patch-01 $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
//
|
||||
|
||||
#include "TiaraVDirectionGenerator.hh"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user