Message: Re: Dose Deposit Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Re: Dose Deposit 

Forum: Hits, Digitization and Pileup
Re: None Dose Deposit (Adil MACHMACH)
Date: 21 Oct, 2010
From: Tsukasa Aso <Tsukasa Aso>

Hi,

  You can score dose for a particular particle using a particle filter.
Each primitive scorer can have one particle filter, and the particle 
filter can have a acceptable particle list.

 Therefore the example code will be as Snippet code (A).

 However, the scorer/filter checks only the track is the particle 
in the particle list, i.e. neutron,gamma in this sample code. 
It means if the neutron decays into secondaries, then the dose of those
secondaries are not taken into account. In this case, you will need 
to develop your own scorer to look at the parent particle of the secondaries.

 Best regards,
 Tsukasa Aso


Snippet code (A)

  G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(....
  ....

  // Filters
  G4SDParticleFilter* neutronFilter =
      new G4SDParticleFilter(fltName="neutronFilter");
  neutronFilter->add(particleName="neutron"); // accept neutron

  G4SDParticleFilter* gammaFilter =
      new G4SDParticleFilter(fltName="gammaFilter");
  gammaFilter->add(particleName="gamma"); // accept gamma

  G4SDParticleFilter* gammaOrNeutronFilter =
      new G4SDParticleFilter(fltName="gammaOrNeutronFilter");
  gammaOrNeutronFilter->add(particleName="gamma"); // accept gamma 
  gammaOrNeutronFilter->add(particleName="neutron"); // accept neutron 


  // Dose Scorers

  // Score dose only for neutron associated
  G4PSDoseDeposit*  neutronDose = new G4PSDoseDeposit(psName="neutronDose");
  neutronDose->SetFilter(neutronFilter);

  // Score dose only for gamma associated
  G4PSDoseDeposit*  gammaDose = new G4PSDoseDeposit(psName="gammaDose");
  gammaDose->SetFilter(gammaFilter);

 // Score dose only for gamma or neutron associated
  G4PSDoseDeposit*  gammaOrNeutronDose =
       new G4PSDoseDeposit(psName="gammaOrNeutronDose"
  gammaOrNeutronDose->SetFilter(gammaOrNeutronFilter);


  MFDet->RegisterPrimitive(neutronDose);
  MFDet->RegisterPrimitive(gammaDose);
  MFDet->RegisterPrimitive(gammaOrNeutronDose);

 Add Message Add Message
to: "Re: Dose Deposit"

 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 ]