Message: finding ionization rates Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question finding ionization rates 

Forum: Event and Track Management
Date: 22 Jun, 2010
From: Neil Fazel <Neil Fazel>

I'm new to Geant4 so bear with me if I'm asking something obvious. I have a question regarding finding ionization rates in an ionization chamber.

I have a calorimeter with a cylindrical sandwich geometry of lead absorber followed by helium gap (ionization chamber). There are several such Pb/He layers one after another. I'm shooting a multi-GeV electron into the calorimeter along its axis and would like to find the ionization rates in each of the helium layers.

My approach is to find the energy deposited at each step, subtract from it the non-ionizing energy deposited, to obtain the ionizing energy deposited. Then I add up all such ionizing energy deposits and divide the sum by the ionization potential ("w") of helium. That should give me the number of helium ions produced. I need to do this separately for each He layer in order to get the ionization rate in each chamber. My code was inspired by example N03:

void LWFASteppingAction::UserSteppingAction(const G4Step* aStep)
{
  // get volume of the current step
  G4VPhysicalVolume* volume 
  = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume();

  // collect energy and track length step by step
  G4double edep = aStep->GetTotalEnergyDeposit();

  G4double stepl = 0.;
  if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.)
    stepl = aStep->GetStepLength();

  G4double ionedep = edep - aStep->GetNonIonizingEnergyDeposit();
  if (ionedep != 0) {
    if (volume == detector->GetGap() && detector->GetGap()->GetCopyNo() == 0) {
      eventaction->AddGap0(ionedep,stepl);
      eventaction->IncrementGap0IonEvents();
    }
    else if (volume == detector->GetGap() && detector->GetGap()->GetCopyNo() == 1)
      eventaction->AddGap1(ionedep,stepl);
      eventaction->IncrementGap1IonEvents();
  }
}

Does this approach make sense? I appreciate any feedback.

Thanks, Neil

 Add Message Add Message
to: "finding ionization rates"

 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 ]