Message: Re: G4EnergyLossTables::GetTables: table not found! GAMMA Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: G4EnergyLossTables::GetTables: table not found! GAMMA 

Keywords: Segmentation fault (core dumped) happened in different material and more beams
Forum: Fields: Magnetic and Otherwise
Re: Sad Segmentation fault (core dumped) happened in different material and more beams (Lam Yihua)
Re: None Re: Segmentation fault (core dumped) happened in different material and more beams (Makoto Asai)
Date: 27 Jun, 2002
From: Lam Yihua <Lam Yihua>

dear mr makoto asai and programmers,
 

How's your life there? Wish u have a pretty good life... :)
To Peter Wellisch.... wish u have a good holiday... :)

>Have you registered all possible types of particles and processes?
>The symptom looks like you registered just neutron and its processes
>but nothing else. Please refer to the following thread which looks
>similar to your problem.
>http://geant4-hn.slac.stanford.edu:5090/HyperNews/public/get/runmanage/8.html

thanks for your suggestion. The program succeeded to pass through alpha track without segmentation fault!!!
I'd attached the physicsList as below.

1) The program wont let me overlap two models of hadronic interaction length.
So I tried to write such syntax, just to let them run without any G4Exception error occur.
Hopefully it's the right one.

2) And whenever I add in processes for "proton", I'll get :

G4EnergyLossTables::GetTables: table not found!

Was it due to the cutValue I set in?
I was using different material, so... is it possible for me to set different cutValue in different material?


3) I could succesfully run 2 times with
/run/beamOn 5

but when I ran the program for third time


G4EnergyLossTables::GetTables: table not found!

*** G4Exception: Aborting execution ***


And it happened for gamma.
Was it due to the cut value i set for gamma?

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

void ExN01PhysicsList::ConstructProcess()
{
// Define transportation process
AddTransportation();
ConstructVariousCollision();
ConstructGeneralDecay();
}

void ExN01PhysicsList::ConstructVariousCollision()
{
theParticleIterator->reset();

while( (*theParticleIterator)() )
{
G4ParticleDefinition *particle = theParticleIterator->value();
G4ProcessManager *pManager = particle->GetProcessManager();
G4String particleName = particle->GetParticleName();

G4HadronElasticProcess *theElasticProcess   = new G4HadronElasticProcess;
G4LElastic 		 *theElasticModel = new G4LElastic;
theElasticModel->SetMinEnergy(0.000001*eV);
theElasticProcess->RegisterMe(theElasticModel);

G4HadronCaptureProcess   *theCaptureProcess = new G4HadronCaptureProcess;
G4LCapture		 *theCaptureModel = new G4LCapture;
theCaptureModel->SetMinEnergy(0.000001*eV);

// Neutron
if (particleName == "neutron")
{

//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo
//
Hadronic Process
//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo  

//ooooOOOOooooOOOO
// Neutron Inelastic Scattering
//ooooOOOOooooOOOO     
theNeutronInelasticProcess = new G4NeutronInelasticProcess("inelastic");    
theLENeutronModel 	     = new G4LENeutronInelastic;
G4NeutronHPInelastic *theLEInelasticNeutron = new G4NeutronHPInelastic;

 
theLENeutronModel->SetMinEnergy(0.000001*eV);
//theLENeutronModel->SetMaxEnergy(14*MeV);

theNeutronInelasticProcess->RegisterMe(theLENeutronModel);
theNeutronInelasticProcess->RegisterMe(theLEInelasticNeutron);

G4CrossSectionDataStore *theDataStore01 = 
((G4HadronInelasticProcess*)theNeutronInelasticProcess)
->GetCrossSectionDataStore();

G4NeutronHPInelasticData *theNeutronData01 = new G4NeutronHPInelasticData;

theDataStore01->AddDataSet(theNeutronData01);
pManager->AddDiscreteProcess(theNeutronInelas
ticProcess);

//oooo0000oooo0000
// Neutron elastic scattering
//oooo0000oooo0000


G4NeutronHPElastic 	 *theElasticNeutron = new G4NeutronHPElastic;

theElasticProcess->RegisterMe(theElasticNeutron);

G4CrossSectionDataStore *theDataStore02 = 
((G4HadronElasticProcess*)theElasticProcess)//theNeutronElasticProcess)
->GetCrossSectionDataStore();

G4NeutronHPElasticData *theNeutronData02 = new G4NeutronHPElasticData;
theDataStore02->AddDataSet(theNeutronData02);
pManager->AddDiscreteProcess(theElasticProcess);


//oooo0000oooo0000  
// Neutron capture
//oooo0000oooo0000


G4NeutronHPCapture 	 *theLECaptureNeutron = new G4NeutronHPCapture;

theCaptureProcess->RegisterMe(theLECaptureNeutron);
G4CrossSectionDataStore *theDataStore03 = 
((G4HadronCaptureProcess*)theCaptureProcess)//theNeutronCaptureProcess)
->GetCrossSectionDataStore();


G4NeutronHPCaptureData *theNeutr
onData03 = new G4NeutronHPCaptureData;
theDataStore03->AddDataSet(theNeutronData03);
pManager->AddDiscreteProcess(theCaptureProcess);

}

//oooo0000oooo0000
// Proton
//oooo0000oooo0000
/*  else if (particleName == "proton")
{
//pManager = G4Proton::Proton()->GetProcessManager();
// add process
//pManager->AddDiscreteProcess(&theElasticProcess);
theProtonInelasticProcess	= new G4ProtonInelasticProcess();
theLEProtonModel 		= new G4LEProtonInelastic();
theHEProtonModel 		= new G4HEProtonInelastic();
theProtonMult 		= new G4MultipleScattering();
theProtonIonisation 		= new G4hIonisation();

theProtonInelasticProcess->RegisterMe(theLEProtonModel);
theProtonInelasticProcess->RegisterMe(theHEProtonModel);

pManager->AddDiscreteProcess(theProtonInelasticProcess);
pManager->AddProcess(theProtonIonisation, ordInActive,2, 2);
pManager->AddProc
ess(theProtonMult);
pManager->SetProcessOrdering(theProtonMult, idxAlongStep, 1);
pManager->SetProcessOrdering(theProtonMult, idxPostStep, 1);
}*/     


//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo
//short lived Process
//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo	  

else if ((!particle->IsShortLived()) &&
(particle->GetPDGCharge() != 0.0) &&
(particle->GetParticleName() != "chargedgeantino"))
{
//all others charged particles except geantino
pManager->AddProcess(new G4MultipleScattering(),-1,1,1);

G4double demax = 0.05;  // try to lose at most 5% of the energy in
//    a single step (in limit of large energies)
G4double stmin = 1.e-9 * m;  // length of the final step: 10 angstrom
// reproduced angular distribution of TRIM


G4hLowEnergyIonisation* lowEIonisation = new G4hLowEnergyIonisation();
pManager->AddProcess( lowEIonisation, -1,2,2
);
lowEIonisation->SetStepFunction( demax, stmin );
}

//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo
//EM Process
//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo
// Gamma Physics
else if (particleName == "gamma")
{
//  pManager = G4Gamma::Gamma()->GetProcessManager();
thePhotoEffect 	= new G4PhotoElectricEffect();
theComptonEffect 	= new G4ComptonScattering();
thePairProduction 	= new G4GammaConversion();

pManager->AddDiscreteProcess(thePhotoEffect);
pManager->AddDiscreteProcess(theComptonEffect);
pManager->AddDiscreteProcess(thePairProduction);
}

// Electron Physics  
else if (particleName == "e-")
{
//  pManager = G4Electron::Electron()->GetProcessManager();
theElectronBremsStrahlung	= new G4eBremsstrahlung();
theElectronIonisation		= new G4eIonisation();
theElectronMultipleScattering	= new G4MultipleScattering();

pManager->AddDiscreteProcess(theEl
ectronBremsStrahlung);  
pManager->AddProcess(theElectronIonisation, ordInActive,2, 2);
pManager->AddProcess(theElectronMultipleScattering);
pManager->SetProcessOrdering(theElectronMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theElectronMultipleScattering, idxPostStep,  1);
}


//Positron Physics
else if (particleName == "e+")
{
//  pManager = G4Positron::Positron()->GetProcessManager();
thePositronBremsStrahlung 	= new G4eBremsstrahlung();
theAnnihilation		= new G4eplusAnnihilation();
thePositronIonisation		= new G4eIonisation();
thePositronMultipleScattering	= new G4MultipleScattering();

pManager->AddDiscreteProcess(thePositronBremsStrahlung);
pManager->AddDiscreteProcess(theAnnihilation);
pManager->AddRestProcess(theAnnihilation);
pManager->AddProcess(thePositronIonisation, ordInActive,2, 2);
pManager->AddProcess(thePositronMultipleScattering);
pManager->S
etProcessOrdering(thePositronMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(thePositronMultipleScattering, idxPostStep,  1);
}

//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo
//Ion Process
//ooo000oooooo000oooooo000oooooo000oooooo000oooooo000ooo 

else if (particleName =="deuteron"	|| particleName =="alpha" || 
particleName =="triton"   	|| particleName =="He3"	  ||			
particleName =="GenericIon")
{

// Deuteron
if (particleName == "deuteron")
{
pManager->AddDiscreteProcess(theElasticProcess);

theDeuteronInelasticProcess 	= new G4DeuteronInelasticProcess("DeuteronInelastic");
theLEDeuteronModel 		= new G4LEDeuteronInelastic();
theDeuteronMultipleScattering	= new G4MultipleScattering();
theDeuteronIonisation		= new G4hIonisation();




theLEDeuteronModel->SetMinEnergy(0.000001*eV);
theDeuteronInelasticProcess->RegisterMe(theLEDeuteronModel);
/*   

theDeuteronInelasticProcess->RegisterMe(theLEInelasticDeuteron);
G4CrossSectionDataStore *theDataStore04 = 
((G4DeuteronInelasticProcess*)theDeuteronInelasticProcess)
->GetCrossSectionDataStore();
*/
pManager->AddDiscreteProcess(theDeuteronInelasticProcess);
pManager->AddProcess(theDeuteronIonisation, ordInActive, 2, 2);
pManager->AddProcess(theDeuteronMultipleScattering);
pManager->SetProcessOrdering(theDeuteronMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theDeuteronMultipleScattering, idxPostStep,  1);  
}

// Triton     
else if (particleName == "triton")
{  
pManager->AddDiscreteProcess(theElasticProcess);

theTritonInelasticProcess 	= new G4TritonInelasticProcess("TritonInelastic");
theLETritonModel 		= new G4LETritonInelastic();
theTritonMultipleScattering	= new G4MultipleScattering();
theTritonIonisation		= new G4hIon
isation();

theLETritonModel->SetMinEnergy(0.000001*eV);

theTritonInelasticProcess->RegisterMe(theLETritonModel);

pManager->AddDiscreteProcess(theTritonInelasticProcess);
pManager->AddProcess(theTritonIonisation, ordInActive, 2, 2);
pManager->AddProcess(theTritonMultipleScattering);
pManager->SetProcessOrdering(theTritonMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theTritonMultipleScattering, idxPostStep,  1);  
}   

// Alpha 
else if (particleName == "alpha") 
{
pManager->AddDiscreteProcess(theElasticProcess);

theAlphaInelasticProcess 	= new G4AlphaInelasticProcess("AlphaInelastic");
theLEAlphaModel 		= new G4LEAlphaInelastic();
theAlphaMultipleScattering	= new G4MultipleScattering();
theAlphaIonisation		= new G4hIonisation();
theLEAlphaModel->SetMinEnergy(0.000001*eV);

theTritonInelasticProcess->
RegisterMe(theLETritonModel);

pManager->AddDiscreteProcess(theAlphaInelasticProcess);
pManager->AddProcess(theAlphaIonisation, ordInActive, 2, 2);
pManager->AddProcess(theAlphaMultipleScattering);
pManager->SetProcessOrdering(theAlphaMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theAlphaMultipleScattering, idxPostStep,  1);

}
//He3
else if (particleName == "He3")
{
pManager->AddDiscreteProcess(theElasticProcess);   

theHe3MultipleScattering	= new G4MultipleScattering();
theHe3Ionisation		= new G4hIonisation();     

pManager->AddProcess(theHe3Ionisation, ordInActive, 2, 2);
pManager->AddProcess(theHe3MultipleScattering);
pManager->SetProcessOrdering(theHe3MultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theHe3MultipleScattering, idxPostStep,  1);     

}


//Generic Ion
else if (
particleName == "GenericIon")
{
pManager->AddDiscreteProcess(theElasticProcess);

pManager->AddProcess(theIonIonisation, ordInActive, 2, 2);
pManager->AddProcess(theIonMultipleScattering);
pManager->SetProcessOrdering(theIonMultipleScattering, idxAlongStep,  1);
pManager->SetProcessOrdering(theIonMultipleScattering, idxPostStep,  1);       
}
}
}
}

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

The dump of 2nd time for
/run/beamOn 5
which successfully run the simulation

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

=====================================
G4EventManager::ProcessOneEvent()
=====================================
1 vertices passed from G4Event.
G4PrimaryTransformer::PrimaryVertex (-115(mm),0.0373804(mm),-0.343525(mm),0(nsec))
Primary particle (neutron) --- Transfered with momentum (97.0453,-1.54649,-0.688215)
A new track 0x808a090 (trackID 1, parentID 0) is passed to G4StackManager.
1 primaries are passed from G4EventTransformer.
!!!!!!! Now start processing an event !!!!!!!
### pop requested out of 1 stacked tracks.
Selected G4StackedTrack : 0x8095020 with G4Track 0x808a090 (trackID 1, parentID 0)
Track 0x808a090 (trackID 1, parentID 0) is passed to G4TrackingManager.

*********************************************************************************************************
* G4Track Information:   Particle = neutron,   Track ID = 1,   Parent ID = 0
***************************************************************************
******************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     -115   0.0374   -0.344         5        0        0         0 expHall           initStep
TransportationTrack (trackID 1, parentID 0) is processed with stopping code 2
A new track 0x808a1f0 (trackID 2, parentID 1) is passed to G4StackManager.
A new track 0x808a2a0 (trackID 3, parentID 1) is passed to G4StackManager.
A new track 0x808a350 (trackID 4, parentID 1) is passed to G4StackManager.
A new track 0xf024930 (trackID 5, parentID 1) is passed to G4StackManager.
A new track 0x808a140 (trackID 6, parentID 1) is passed to G4StackManager.
### pop requested out of 5 stacked tracks.
Selected G4StackedTrack : 0x80950a0 with G4Track 0x808a140 (trackID 6, parentID 1)
Track 0x808a140 (trackID 6, parentID 1) is passed to G4TrackingManager.

**************************************************************************

*******************************
* G4Track Information:   Particle = gamma,   Track ID = 6,   Parent ID = 1
*********************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     8.84    -1.94    -1.22      2.08        0        0         0 innerChamber           initStep
Track (trackID 6, parentID 1) is processed with stopping code 2
### pop requested out of 4 stacked tracks.
Selected G4StackedTrack : 0x8095080 with G4Track 0xf024930 (trackID 5, parentID 1)
Track 0xf024930 (trackID 5, parentID 1) is passed to G4TrackingManager.

*********************************************************************************************************
* G4Track Information:   Particle = gamma,   Track ID = 5,   Parent ID = 1
**************************************************************************************************
*******

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     8.84    -1.94    -1.22      1.27        0        0         0 innerChamber           initStep
Track (trackID 5, parentID 1) is processed with stopping code 2
### pop requested out of 3 stacked tracks.
Selected G4StackedTrack : 0x8095060 with G4Track 0x808a350 (trackID 4, parentID 1)
Track 0x808a350 (trackID 4, parentID 1) is passed to G4TrackingManager.

*********************************************************************************************************
* G4Track Information:   Particle = Ne22[0.0],   Track ID = 4,   Parent ID = 1
*********************************************************************************************************

...
...
...

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
Below is the error message when I ran 3rd time of
/run/beamOn 5
It seemed that "track ID 6 and 5 with ParentID=1 are similar to 2nd time I ran /run/beamOn 5.
But the simulation failed for 3rd time.
And both of them (2nd and 3rd)
1) happened in "innerChamber" (filled with Aluminum)

2) have the same kinetic Energy=1.27MeV


ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

=====================================
G4EventManager::ProcessOneEvent()
=====================================
1 vertices passed from G4Event.
G4PrimaryTransformer::PrimaryVertex (-115(mm),-0.286189(mm),-0.365308(mm),0(nsec))
Primary particle (neutron) --- Transfered with momentum (97.0502,1.04388,-0.91174)
A new track 0x808a1f0 (trackID 1, parentID 0) is passed to G4StackManager.
1 primaries are passed from G4EventTransformer.
!!!!!!! Now start processing an event !!!!!!!
### pop requested out of 1 stacked tracks.
Selected G4StackedTrack : 0x8095020 with G4Track 0x808a1f0 (trackID 1, parentID 0)
Track 0x808a1f0 (trackID 1, parentID 0) is passed to G4TrackingManager.

*********************************************************************************************************
* G4Track Information:   Particle = neutron,   Track ID = 1,   Parent ID = 0
*****************************************************************************
****************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     -115   -0.286   -0.365         5        0        0         0 expHall           initStep
TransportationTrack (trackID 1, parentID 0) is processed with stopping code 2
A new track 0x808a2a0 (trackID 2, parentID 1) is passed to G4StackManager.
A new track 0x808a350 (trackID 3, parentID 1) is passed to G4StackManager.
A new track 0xf024930 (trackID 4, parentID 1) is passed to G4StackManager.
A new track 0x808a140 (trackID 5, parentID 1) is passed to G4StackManager.
A new track 0x808a090 (trackID 6, parentID 1) is passed to G4StackManager.
### pop requested out of 5 stacked tracks.
Selected G4StackedTrack : 0x80950a0 with G4Track 0x808a090 (trackID 6, parentID 1)
Track 0x808a090 (trackID 6, parentID 1) is passed to G4TrackingManager.

****************************************************************************
*****************************
* G4Track Information:   Particle = gamma,   Track ID = 6,   Parent ID = 1
*********************************************************************************************************

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     78.6     53.9    -19.4      2.08        0        0         0 innerChamber           initStep
Track (trackID 6, parentID 1) is processed with stopping code 2
### pop requested out of 4 stacked tracks.
Selected G4StackedTrack : 0x8095080 with G4Track 0x808a140 (trackID 5, parentID 1)
Track 0x808a140 (trackID 5, parentID 1) is passed to G4TrackingManager.

*********************************************************************************************************
* G4Track Information:   Particle = gamma,   Track ID = 5,   Parent ID = 1
****************************************************************************************************
*****

Step#    X(mm)    Y(mm)    Z(mm) KinE(MeV)  dE(MeV) StepLeng TrackLeng  NextVolume ProcName
0     78.6     53.9    -19.4      1.27        0        0         0 innerChamber           initStep
G4EnergyLossTables::GetTables: table not found!

*** G4Exception: Aborting execution ***

ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

============= The cut Energy ==============================
gamma            e-
Cut in range                  1 m             2 m
Cut in energy
Beryllium                         1.68 MeV           1.2 GeV
Lead                    2.88e+295 J     2.88e+295 J
ArgonGas                         6.96 keV           675 keV
Aluminum                    2.88e+295 J          5.14 GeV
Uranium                    2.88e+295 J     2.88e+295 J
Air                         3.15 keV           619 keV
CsI                    2.88e+295 J     2.88e+295 J
Vacuum                          990 eV           990 eV
===================================================




kindly regards... :)

yihua,

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: G4EnergyLossTables::GetTables: table not found! GAMMA   (Vladimir Ivantchenko - 03 Jul, 2002)
 Add Message Add Message
to: "Re: G4EnergyLossTables::GetTables: table not found! GAMMA"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]