How to get the partial cross section?

Hi, everyone!

I am trying to get the cross section about certain specific reaction channel, e.g. (gamma, n), (gamma, p) and so on. But now i can only get the inelastic cross section by the following codes. My focus is now on (gamma, n) reaction channel. Does anyone know how to get this partial cross section?
In my understanding, the inelastic cross section equal to the sum of partial cross section of the specific reaction channel.

Thanks a lot in advanced!

      const G4DynamicParticle* aPart = step->GetTrack()->GetDynamicParticle();
      const G4Material* material = step->GetPostStepPoint()->GetMaterial();
      const G4Element* element = material->GetElement(0);
      const G4Isotope* isotope = element->GetIsotope(1);// the number represent the isotope, arranged from small to large.

      G4double xs2 = ggXsection->GetIsoCrossSection(aPart, isotope->GetZ(), isotope->GetN(), isotope, element, material);
      //G4double xs2 = ggXsection->GetIsoCrossSection(aParticle, isotope->GetZ(), isotope->GetN());  
      G4cout << "The isotope is " << isotope->GetName() << G4endl;
      G4cout << "A=" << isotope->GetN() << " Z=" << isotope->GetZ() << " cs=" << xs2/millibarn << G4endl;
1 Like

Dear Pang, Have your ever solved this question? I am falling into the same situation.

1 Like

I got answer from the member of GEANT4.
He said: “there are no “partial cross sections” in Geant4, but only “inclusive cross sections”, e.g. gamma - A → anything. To get the “partial cross sections” you need to do some work yourself, by shooting a gamma (of the energy of interested) in a thin target (of the material of interest) and then counting the number of times you get the final state you are interested in, e.g. one neutron in the final state.”

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.