Message: Energy lost in LCapture? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Energy lost in LCapture? 

Keywords: neutron LCapture
Forum: Physics List
Date: 06 Mar, 2007
From: Ben Loer <bloer@princeton.edu>

Hello all,

I am simulating neutrons of energy .1-200 MeV incident on a simple detector which consists of a pseudocumene liquid scintillator veto and LAr active chamber. I have been investigating the energy deposition in the veto layer, and about every hundred events or so I come across something similar to the following:

### Run 26 start.

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

Step#      X         Y         Z        KineE    dEStep   StepLeng  TrakLeng    Volume     Process
    0  -15.7 cm    1.5 m   -51.9 cm    181 MeV     0 eV      0 fm      0 fm         Veto    initStep
    1  -15.7 cm   1.01 m   -51.9 cm      0 eV      0 eV   48.7 cm   48.7 cm         Veto    LCapture
    :----- List of 2ndaries - #SpawnInStep=  1(Rest= 0,Along= 0,Post= 1), #SpawnTotal=  1 ---------------
    :  -15.7 cm   1.01 m   -51.9 cm    8.2 MeV     gamma
    :----------------------------------------------------------------- EndOf2ndaries Info ---------------

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

Step#      X         Y         Z        KineE    dEStep   StepLeng  TrakLeng    Volume     Process
    0  -15.7 cm   1.01 m   -51.9 cm    8.2 MeV     0 eV      0 fm      0 fm         Veto    initStep
    1    -19 cm   1.55 m     -85 cm    8.2 MeV     0 eV   63.1 cm   63.1 cm         Veto  Transportation
    2  -19.3 cm    1.6 m   -88.1 cm    8.2 MeV     0 eV   5.88 cm     69 cm   OutOfWorld  Transportation

A (relatively) high energy neutron is captured, releasing just a gamma ray, no other secondaries, and over 100 MeV of energy just disappears! The relevant part of my physics list is below:

void ProcessesList::ConstructHad() {

	//	EM interactions for hadrons
	G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
	G4LElastic* theElasticModel = new G4LElastic;
	theElasticProcess->RegisterMe( theElasticModel );
	theParticleIterator->reset();
	while ((*theParticleIterator)()) {

		G4ParticleDefinition* particle = theParticleIterator->value();
		G4ProcessManager* pmanager = particle->GetProcessManager();
		G4String particleName = particle->GetParticleName();
//------//
             else if (particleName == "neutron") {

			if (fHadronicPhysicsListFlag)  
		    {
				ConstructAlternativeNeutron();
				G4cout << "QGSP_GN_HP_BIC_ISO physics list for neutrons" << G4endl;
		    }
			else
		    {
				//	G4QGSPNeutronBuilder
				G4ExcitationHandler *theHandler = new G4ExcitationHandler;
				G4TheoFSGenerator *theModel = new G4TheoFSGenerator;
				G4GeneratorPrecompoundInterface *theCascade = new G4GeneratorPrecompoundInterface;
				G4PreCompoundModel *thePreEquilib = new G4PreCompoundModel(theHandler);
				theCascade->SetDeExcitation(thePreEquilib);
				theModel->SetTransport(theCascade);
				G4QGSModel< G4QGSParticipants > *theStringModel = new G4QGSModel<G4QGSParticipants>;
				theModel->SetHighEnergyGenerator(theStringModel);
				G4QGSMFragmentation *theFragmentation = new G4QGSMFragmentation;
				G4ExcitedStringDecay *theStringDecay = new G4ExcitedStringDecay(theFragmentation);
				theStringModel->SetFragmentationModel(theStringDecay);
				theModel->SetMinEnergy(15*GeV);
				theModel->SetMaxEnergy(100*TeV);
				G4NeutronInelasticCrossSection *theXSec = new G4NeutronInelasticCrossSection();

				// fission
				G4LFission *theLEPNeutronFissionModel = new G4LFission;
				theLEPNeutronFissionModel->SetMinEnergy( 0 );
				theLEPNeutronFissionModel->SetMaxEnergy( 100*TeV );
				G4NeutronHPFission *theHPFission = new G4NeutronHPFission;
				G4NeutronHPFissionData *theHPFissionData = new G4NeutronHPFissionData;
				G4HadronFissionProcess *theFissionProcess = new G4HadronFissionProcess;
				theFissionProcess->RegisterMe( theModel );
				theFissionProcess->AddDataSet( theXSec );
				theFissionProcess->RegisterMe( theLEPNeutronFissionModel );
				theFissionProcess->RegisterMe( theHPFission );
				theFissionProcess->AddDataSet( theHPFissionData );

				// elastic scattering
				G4HadronElasticProcess* theNeutronElasticProcess = new G4HadronElasticProcess;
				G4LElastic* theElasticModel1 = new G4LElastic;
				G4NeutronHPElastic * theElasticNeutron = new G4NeutronHPElastic;
				theNeutronElasticProcess->RegisterMe(theElasticModel1);
				theNeutronElasticProcess->RegisterMe( theModel );
				theNeutronElasticProcess->AddDataSet( theXSec );

				theElasticModel1->SetMinEnergy(19*MeV);
				theElasticModel1->SetMaxEnergy(100*TeV);
				theNeutronElasticProcess->RegisterMe(theElasticNeutron);

				G4NeutronHPElasticData * theNeutronData = new G4NeutronHPElasticData;
				theNeutronElasticProcess->AddDataSet(theNeutronData);

				pmanager->AddDiscreteProcess(theNeutronElasticProcess);

				// inelastic scattering
				G4NeutronInelasticProcess* theInelasticProcess = new G4NeutronInelasticProcess("inelastic");
				G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic;
				theInelasticModel->SetMinEnergy(19*MeV);
				theInelasticModel->SetMaxEnergy(100*GeV); //increased from 25 GeV to 100 GeV (Luciano)
				theInelasticProcess->RegisterMe(theInelasticModel);

				G4NeutronHPInelastic * theLENeutronInelasticModel = new G4NeutronHPInelastic;
				theInelasticProcess->RegisterMe(theLENeutronInelasticModel);

				G4NeutronHPInelasticData * theNeutronData1 = new G4NeutronHPInelasticData;
				theInelasticProcess->AddDataSet(theNeutronData1);

				G4NeutronIsotopeProduction* aProductionModel = new G4NeutronIsotopeProduction;
				theInelasticProcess->RegisterIsotopeProductionModel(aProductionModel);

				G4HadronicProcess::EnableIsotopeProductionGlobally();
				G4cout << "Neutron isotope production enabled" << G4endl;

				pmanager->AddDiscreteProcess(theInelasticProcess);

				// capture
				G4HadronCaptureProcess* theCaptureProcess = new G4HadronCaptureProcess;
				G4LCapture* theCaptureModel = new G4LCapture;
				theCaptureModel->SetMinEnergy(19*MeV);
				theCaptureModel->SetMaxEnergy(100*TeV);
				theCaptureProcess->RegisterMe(theCaptureModel);
				theCaptureProcess->RegisterMe( theModel );
				theCaptureProcess->AddDataSet( theXSec );

				G4NeutronHPCapture * theLENeutronCaptureModel = new G4NeutronHPCapture;
				theCaptureProcess->RegisterMe(theLENeutronCaptureModel);

				G4NeutronHPCaptureData * theNeutronData3 = new G4NeutronHPCaptureData;
				theCaptureProcess->AddDataSet(theNeutronData3);

				pmanager->AddDiscreteProcess(theCaptureProcess);

		    }

Thanks in advance! Ben

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

1 More: More Info   (Ben Loer - 06 Mar, 2007)
(_ None: Re: More Info   (Luciano - 22 Jun, 2007)
 Add Message Add Message
to: "Energy lost in LCapture?"

 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 ]