Message: wrong momentum distribution of secondary after neutron capture Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None wrong momentum distribution of secondary after neutron capture 

Forum: Hadronic Processes
Date: 03 Sep, 2014
From: Michael Gericke <Michael Gericke>

Hello,

I am running Geant 4.9.6.p03 for a low energy neutron simulation. My primary neutrons have energies in the meV range and I am letting them capture on 3He.

The process gives rise to one proton and one triton, after neutron capture at rest.

What I find is that the proton (and triton) momentum directions are highly biased toward forward or backward directions (w.r.t the primary neutron momentum direction). See attached image below, for example. However, for capture at rest,(at these low energies) I would expect the momentum direction of the secondaries to be isotropic.So I am either doing something wrong, with respect to my physics list, or something else is going on.

Some of my code is listed below. Any help is appreciated.

Thanks,

Michael

Physics list in main:

  G4VModularPhysicsList* physicsList= new QGSP_BERT_HP;
  physicsList->RegisterPhysics(new G4StepLimiterBuilder());
  physicsList->SetVerboseLevel(1);

Access to secondary momentum in the sensitive detector:

G4bool TarDetSD::ProcessHits(G4Step* aStep, G4TouchableHistory* theTouchable) {

  TarDetHit* aHit = new TarDetHit();

  G4ThreeVector vmom = aStep->GetTrack()->GetVertexMomentumDirection();
  G4ThreeVector vpos = aStep->GetTrack()->GetVertexPosition();
  G4double eDep = aStep->GetTotalEnergyDeposit() - aStep->GetNonIonizingEnergyDeposit();
  // G4int cnum = aStep->GetPreStepPoint()->GetPhysicalVolume()->GetCopyNo();

    if(aStep->GetTrack()->GetDefinition() == G4Proton::ProtonDefinition() ||
       aStep->GetTrack()->GetDefinition() == G4Triton::TritonDefinition()){
      if(aHit){
	aHit->StoreEnergyDeposit(eDep);
	aHit->StoreCosineZ(vmom.z());
	aHit->StoreCosineY(vmom.y());
	if(aStep->GetTrack()->GetDefinition() == G4Proton::ProtonDefinition())
	  aHit->SetParticleType(myProton);
	if(aStep->GetTrack()->GetDefinition() == G4Triton::TritonDefinition())
	  aHit->SetParticleType(myTriton);

	aHit->StoreTrackVertexMomentum(vmom);
	aHit->StoreTrackVertexPosition(vpos);

	HitsCollection->insert(aHit); 
      }
    }

    return true;
}

   Attachment:
      http://hypernews.slac.stanford.edu/HyperNews/geant4/get/AUX/2014/09/03/00.32-26859-protonZ.png

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

1 Idea: Re: wrong momentum distribution of secondary after neutron capture   (filippo - 03 Sep, 2014)
1 More: Re: wrong momentum distribution of secondary after neutron capture   (Michael Gericke - 03 Sep, 2014)
(_ Idea: Re: wrong momentum distribution of secondary after neutron capture   (filippo - 07 Sep, 2014)
(_ Idea: Re: wrong momentum distribution of secondary after neutron capture   (Vladimir Ivanchenko - 08 Sep, 2014)
2 Idea: Re: wrong momentum distribution of secondary after neutron capture   (C Mos - 04 Sep, 2014)
1 Sad: Re: wrong momentum distribution of secondary after neutron capture   (Michael Gericke - 04 Sep, 2014)
 Add Message Add Message
to: "wrong momentum distribution of secondary after neutron capture"

 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 ]