I have a problem with the energy deposit on a CdTe detector with G4EMLOW2.3 in particulary with G4LowEnergyBremsstrahlung. When I decide to shoot photons of 10 keV on a piece of CdTe material, I find that there is more energy deposited (dE) than the initial energy of the photon. (see step 1 of particle e- in column dE(MeV) the energy is 18.8 keV it's impossible!!!!) /gun/particle gamma /gun/energy 10 keV >>> Event 0 ******************************************************************************** ************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 ******************************************************************************** ************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 2 550 -20 0.01 0 0 0 World initStep 1 2 18.3 -20 0.01 0 532 532 CZT Transportation 2 2 18.2 -20 0 0.000613 0.00107 532 CZT LowEnPhotoElec :----- List of 2ndaries - #SpawnInStep= 1(Rest= 0,Along= 0,Post= 1), #SpawnTotal= 1 --------------- : 2 18.2 -20 0.00939 e- :----------------------------------------------------------------- EndOf2ndaries Info --------------- ******************************************************************************** ************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ******************************************************************************** ************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 2 18.2 -20 0.00939 0 0 0 CZT initStep 1 2 18.2 -20 0 0.0188 0.000808 0.000808 CZT LowEnBrem The material CdTe is defined by //CdTe G4Element* Cd = new G4Element("Cadmium", "Cd", z=48., a= 112.411*g/mole); G4Element* Te = new G4Element("Tellurium" , "Te", z=52., a= 127.60*g/mole); CdTe = new G4Material("CdTe", density= 6200*kg/m3, nel=2); CdTe ->AddElement(Cd,1); CdTe ->AddElement(Te,1); The physicList is: if (particleName == "gamma") { // gamma pmanager->AddDiscreteProcess(new G4LowEnergyCompton); pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric); pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); } else if (particleName == "e-") { G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); G4VProcess* theeminusIonisation = new G4LowEnergyIonisation(); G4VProcess* theeminusBremsstrahlung = new G4LowEnergyBremsstrahlung(); // add processes pmanager->AddProcess(theeminusMultipleScattering); pmanager->AddProcess(theeminusIonisation); pmanager->AddProcess(theeminusBremsstrahlung); // // set ordering for AlongStepDoIt pmanager->SetProcessOrdering(theeminusMultipleScattering, idxAlongStep,1); pmanager->SetProcessOrdering(theeminusIonisation, idxAlongStep,2); pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxAlongStep,3); // // set ordering for PostStepDoIt pmanager->SetProcessOrdering(theeminusMultipleScattering, idxPostStep,1); pmanager->SetProcessOrdering(theeminusIonisation, idxPostStep,2); pmanager->SetProcessOrdering(theeminusBremsstrahlung, idxPostStep,3); } When I execute the program the following is written on the screen: "Bremsstrahlung Angular Generator is Modified Tsai Universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211) Derived from Tsai distribution (Rev Mod Phys 49,421(1977))" when i use this list: pmanager->AddDiscreteProcess(new G4ComptonScattering); pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); pmanager->AddDiscreteProcess(new G4GammaConversion); and G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); it's writen when file is execute: "phot: Total cross sections from Sandia parametrisation." If i do not use the Low Energy process but this precedent list the result is correct (energy deposit is 10 keV for an gamma of 10 keV) So when I am shooting with a PROTON whith the Low Energy process, the energy deposit is correct too. But the big problem is if i want to shoot an energy higher than 10 keV, using the Low Energy process, i have a big different in energy deposit than if i do not use this process. Could you please help me because i don't know which processus I should use. A colleague said to me that the problem may be due to the SetCuts() but i don't know which cut to set and in which way. I found out that if I make the cut (in e- range) smaller, the energy deposit get closer to the correct value (initial energy of the photon), example: defaultCutValue = 1.*mm; //bad result with this value defaultCutValue = 0.000001*mm; //better result but still false ( > energy init) Thank you very much in advance.
In the reported application energy loss of particle was doubled during a step, because were added both in ionisation and bremsstruhlung. Please, try to modify PhysicsList in such a way that AlongStep only one ionisation process is active. I assume that lines with Bremsstrahlung along step should be removed. You can also look into geant4/source/electromagnetic_lists for alternative variant of PhysicsList.