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;