Message: Geting charge spectrum Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Geting charge spectrum 

Forum: Event and Track Management
Date: 22 Aug, 2010
From: Oscar Larsson <Oscar Larsson>

In short I'm analysing hadronic interactions when nuclei passes through a aluminium slab. My geometry can be described as one aluminium slab and a short distance behind it there's a particle detector but for this case only the scintillator is of interest.

To have an understanding of the process I extract data from several points in the geometry and here's where I get confused.

To start with I did simulations with no aluminium in front of the detector to evaluate the effectiveness of the detector itself. Obviously I knew what particle I was sending in but to be on the safe side I implemented the following code in SteppingAction.cc:

if(volume == detector->GetScintillator_1() && point1->GetStepStatus() == fGeomBoundary && aStep->GetTrack()->GetTrackID() == 1)
  {
  	charge1 = aStep->GetPreStepPoint()->GetCharge();
        // And some other data junk....
  	Analysis::GetInstance()->AddDetParticle(charge1 //other junk);
  	}
(where Scintillator_1 is my first scintillator...)

As planed, this seemed to be working when plotting the charge particle spectrum entering the detector.

However when inserting the aluminium slab I also need to know both the exiting particle spectrum (exiting the aluminium) and the spectrum entering the scintillator. So I added two new matrices in the output root file, one for exiting and one for entering.

They both look like this,
Exiting the aluminium slab:
if(volume == detector->GetphysiAlum_3() && point2->GetStepStatus() == fGeomBoundary)
  {
  	charge2 = aStep->GetPreStepPoint()->GetCharge();
	//Other stuff
	Analysis::GetInstance()->AddHullSpectrum(charge2 //other stuff);
  }

Entering the scintillator:
if(volume == detector->GetScintillator_1() && point1->GetStepStatus() == fGeomBoundary)
  {
  	charge3 = aStep->GetPreStepPoint()->GetCharge();
	//Other stuff
	Analysis::GetInstance()->AddScintSpectrum(charge3 //other stuff);
  } 

Now this is where things start to confuse me. If I plot the primary particle spectrum entering the scintillator (After passing through the aluminium) using data from charge1 I get a occurrence probability of the charge of the primary particle of 1 for the initial charge (my conclusion: all primary particles pass through the aluminium without inelastic hadronic interactions).

But when I plot the spectrum exiting the aluminium, using charge2, I see that the occurrence probability of the initial charge (in one case) is 0.56 (my conclusion: hadronic inelastic interactions have occurred). If I plot the charge spectrum entering the detector using charge3 I get the same result as when using charge2.

My question now is as follows: If I use: "if(volume == detector->GetScintillator_1() && point1->GetStepStatus() == fGeomBoundary && aStep->GetTrack()->GetTrackID() == 1)" Do I only get the information of the primary particles initial state (before the event start) or do I get the current state?

If I get the current state, why do my results differ?

/Oscar

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

1 Feedback: Re: Geting charge spectrum   (Gumplinger Peter - 23 Aug, 2010)
(_ None: Re: Geting charge spectrum   (Oscar Larsson - 23 Aug, 2010)
(_ None: Re: Geting charge spectrum   (Oscar Larsson - 25 Aug, 2010)
 Add Message Add Message
to: "Geting charge spectrum"

 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 ]