Hi,
I am trying to generate primary particles that their positions, angular and
energy distributions are set with G4SPSPosDistribution, G4SPSAngDistribution and
G4SPSEneDistribution classes. My program is compiled correctly.
My program is run for low events (nearly 10 events), correctly :-)
The exact problem is that when this is running for numerous events (100000 events),
it is aborted!!!!!!! :-(
Here is my code, PrimaryGeneratorAction.cc:
#include "PrimaryGeneratorAction.hh"
#include "G4Event.hh"
#include "G4GeneralParticleSource.hh"
#include "G4SPSAngDistribution.hh"
#include "G4SPSEneDistribution.hh"
#include "G4SPSPosDistribution.hh"
#include "G4ParticleTable.hh"
#include "G4ParticleDefinition.hh"
#include "globals.hh"
#include "G4ThreeVector.hh"
PrimaryGeneratorAction::PrimaryGeneratorAction()
{
particleGun = new G4GeneralParticleSource();
//the type of particle
G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable();
particle = particleTable->FindParticle("gamma");
particleGun->SetParticleDefinition(particle);
posDist = particleGun->GetCurrentSource()->GetPosDist();
posDist->SetPosDisType("Plane");
posDist->SetPosDisShape("Annulus");
posDist->SetCentreCoords(G4ThreeVector(0.*cm, 0.*cm, 503.85*mm));
angDist = particleGun->GetCurrentSource()->GetAngDist() ;
angDist->SetAngDistType("iso");
eneDist = particleGun->GetCurrentSource()->GetEneDist() ;
eneDist->SetEnergyDisType("User");
}
PrimaryGeneratorAction::~PrimaryGeneratorAction()
{
delete particleGun;
}
void PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent)
{
//
//beam 0
//the intensity of source
particleGun->SetCurrentSourceIntensity(1);
//
//the position and shape of source
posDist->SetRadius0(0.*cm);
posDist->SetRadius(0.5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(0*deg);
angDist->SetMaxTheta(1.16368*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 1., 0.));
//
//beam 1
//the intensity of source
particleGun->SetCurrentSourceIntensity(2.94286);
//
//the position and shape of source
posDist->SetRadius0(0.5*cm);
posDist->SetRadius(1*cm);
//
//the dircetion of particles
angDist->SetMinTheta(1.16368*deg);
angDist->SetMaxTheta(2.3264*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 18., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.6*MeV, 1., 0.));
//
//beam 2
//the intensity of source
particleGun->SetCurrentSourceIntensity(4.85714);
//
//the position and shape of source
posDist->SetRadius0(1*cm);
posDist->SetRadius(1.5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(2.3264*deg);
angDist->SetMaxTheta(3.4872*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 25., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 23., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 18., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 19., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 18., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.6*MeV, 1., 0.));
//
//beam 3
//the intensity of source
particleGun->SetCurrentSourceIntensity(6.64286);
//
//the position and shape of source
posDist->SetRadius0(1.5*cm);
posDist->SetRadius(2*cm);
//
//the dircetion of particles
angDist->SetMinTheta(3.4872*deg);
angDist->SetMaxTheta(4.64515*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 23., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 28., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 36., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 41., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 32., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 35., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 39., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 21., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.8*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10*MeV, 2., 0.));
//
//beam 4
//the intensity of source
particleGun->SetCurrentSourceIntensity(9.01429);
//
//the position and shape of source
posDist->SetRadius0(2*cm);
posDist->SetRadius(2.5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(4.64515*deg);
angDist->SetMaxTheta(5.79931*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 54., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 51., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 42., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 53., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 46., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 28., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 34., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 30., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 35., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 17., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 17., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 19., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.6*MeV, 2., 0.));
//
//beam 5
//the intensity of source
particleGun->SetCurrentSourceIntensity(10.4571);
//
//the position and shape of source
posDist->SetRadius0(2.5*cm);
posDist->SetRadius(3*cm);
//
//the dircetion of particles
angDist->SetMinTheta(5.79931*deg);
angDist->SetMaxTheta(6.94876*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 18., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 60., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 56., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 61., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 54., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 36., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 42., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 36., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 30., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 32., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 19., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 21., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 23., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 25., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 19., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(11*MeV, 1., 0.));
//
//beam 6
//the intensity of source
particleGun->SetCurrentSourceIntensity(11.9857);
//
//the position and shape of source
posDist->SetRadius0(3*cm);
posDist->SetRadius(3.5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(6.94876*deg);
angDist->SetMaxTheta(8.09262*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 17., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 63., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 74., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 61., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 64., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 63., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 55., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 56., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 34., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 35., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 31., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 29., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 20., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.4*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.4*MeV, 1., 0.));
//
//beam 7
//the intensity of source
particleGun->SetCurrentSourceIntensity(14.1143);
//
//the position and shape of source
posDist->SetRadius0(3.5*cm);
posDist->SetRadius(4*cm);
//
//the dircetion of particles
angDist->SetMinTheta(8.09262*deg);
angDist->SetMaxTheta(9.23003*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 25., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 94., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 79., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 80., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 75., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 70., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 59., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 43., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 39., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 39., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 43., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 31., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 32., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 18., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 22., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 20., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 6., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(11*MeV, 2., 0.));
//
//beam 8
//the intensity of source
particleGun->SetCurrentSourceIntensity(16.1571);
//
//the position and shape of source
posDist->SetRadius0(4*cm);
posDist->SetRadius(4.5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(9.23003*deg);
angDist->SetMaxTheta(10.3601*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 28., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 103., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 110., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 102., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 84., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 78., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 68., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 58., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 48., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 42., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 34., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 35., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 35., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 26., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 21., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 17., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 13., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 17., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 11., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.4*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.4*MeV, 1., 0.));
//
//beam 9
//the intensity of source
particleGun->SetCurrentSourceIntensity(18.4286);
//
//the position and shape of source
posDist->SetRadius0(4.5*cm);
posDist->SetRadius(5*cm);
//
//the dircetion of particles
angDist->SetMinTheta(10.3601*deg);
angDist->SetMaxTheta(11.4822*deg);
//
//the energy of particles
eneDist->UserEnergyHisto(G4ThreeVector(0.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.4*MeV, 41., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.6*MeV, 149., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(0.8*MeV, 122., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1*MeV, 95., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.2*MeV, 100., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.4*MeV, 93., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.6*MeV, 82., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(1.8*MeV, 54., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2*MeV, 58., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.2*MeV, 44., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.4*MeV, 41., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.6*MeV, 46., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(2.8*MeV, 37., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3*MeV, 43., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.2*MeV, 25., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.4*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.6*MeV, 27., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(3.8*MeV, 26., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4*MeV, 20., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.2*MeV, 23., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.4*MeV, 15., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.6*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(4.8*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5*MeV, 16., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.2*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.4*MeV, 12., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.6*MeV, 8., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(5.8*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6*MeV, 9., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.2*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.4*MeV, 14., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.6*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(6.8*MeV, 10., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.2*MeV, 3., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.4*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.6*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(7.8*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.2*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.4*MeV, 7., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.6*MeV, 5., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(8.8*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9*MeV, 2., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.2*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.4*MeV, 4., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(9.6*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10*MeV, 1., 0.));
eneDist->UserEnergyHisto(G4ThreeVector(10.2*MeV, 1., 0.));
particleGun->GeneratePrimaryVertex(anEvent);
}
Below is output:
Idle>/run/beamOn 100000
…
### Run 0 start
Start Run Processing
Aborted
I do not know what my problem is.
Please help me,
Many thanks for any suggestion.
Shahrokh
|