Message: Counting Number of Rkt Li6(n,t)alpha Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Counting Number of Rkt Li6(n,t)alpha 

Keywords: reaktion, secondaries
Forum: Hits, Digitization and Pileup
Date: 18 Jul, 2006
From: Sylvia Studeny <sylvia.studeny@gsf.de>

Hi, I want to calculate the Number of Neutron-Reaktions on Li6: Li6(n,t)alpha For this purpose I thought I can somehow get information about the secondary particles of an event. If they are t and alpha, I would count it as reaktion. My problem is now: how do I get this info about secondaries? I have looked into Step,Track,Steppoint,VProzess,SteppingVebose and many more, but all I could find was, that somehow, you have to get the G4VParticleChange -Objekt and with this you have access to the secondaries. Where can I get this from? I used G4PSNofSecondary as a basis and wanted to change it to a new primitive scorer.

G4bool RE02NofReaktions::ProcessHits(G4Step* aStep,G4TouchableHistory*)
{
  //- check for newly produced particle. e.g. first step.
  if ( aStep->GetTrack()->GetCurrentStepNumber() != 1) return FALSE;
  //- check for this is not a primary particle. e.g. ParentID > 0 .
  if ( aStep->GetTrack()->GetParentID() == 0 ) return FALSE;
  //
  G4Track* aTrack = aStep->GetTrack();
//the next line is out of the forum, but it was a different problem 
//and doesn't work here because pRegProcess is not known and I don't
//know where to get ist from.
  fParticleChange = dynamic_cast<G4ParticleChange*>(pRegProcess->PostStepDoIt(aTrack, aStep))

  //- This is a newly produced secondary particle.
  G4int  index = GetIndex(aStep);
 // fSecondary = fParticleChange->GetSecondary(index);
if(fParticleChange->GetNumberOfSecondaries() == 2){
   fSecondary[0] = fParticleChange->GetSecondary(0);
   fSecondary[1] = fParticleChange->GetSecondary(1);
   }
  G4cout << G4endl;
  if((fSecondary[0]->GetDefinition()->GetParticleName() == "alpha") &&
     (fSecondary[1]->GetDefinition()->GetParticleName() == "titon")){
     G4cout << "reaktion gefunden!" << G4endl;
     }
  G4cout << G4endl;

  //G4double weight = aStep->GetPreStepPoint()->GetWeight();
 // EvtMap->add(index,weight);  
  return TRUE;
}

Does somebody have an idea how I can do this? Thanks a lot Sylvia

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

1 None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sylvia Studeny - 25 Jul, 2006)
1 None: Re: Counting Number of Rkt Li6(n,t)alpha   (Vladimir IVANTCHENKO - 25 Jul, 2006)
(_ None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sylvia Studeny - 25 Jul, 2006)
(_ None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sergio Lo Meo - 25 Jul, 2006)
3 None: Re: Counting Number of Rkt Li6(n,t)alpha   (Sylvia Studeny - 01 Aug, 2006)
 Add Message Add Message
to: "Counting Number of Rkt Li6(n,t)alpha"

 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 ]