]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TFluka/abscff.cxx
Correct flukaid for positron.
[u/mrichter/AliRoot.git] / TFluka / abscff.cxx
index a0d49f2f7b385bf5d4d9b49ced053d9cedf5a6c0..eabb2e575f5c85b71524d39d8ba3e419f9ec2a42 100644 (file)
@@ -1,10 +1,9 @@
 #include "Fdimpar.h"  //(DIMPAR) fluka include
 #include "Ftrackr.h"  //(TRACKR) fluka common
 #include "Fiounit.h"  //(IOUNIT) fluka common
-#include "TFlukaGeo.h"
+#include "TFluka.h"
 #include "TGeoMaterial.h"
 #include "TFlukaCerenkov.h"
-#include "TGeoManager.h"
 
 
 #ifndef WIN32
 # define abscff ABSCFF
 #endif
 extern "C" {
-Double_t abscff(Double_t& wvlngt, Double_t& omgpho, Int_t& mmat)
+Double_t abscff(Double_t& wvlngt, Double_t& /*omgpho*/, Int_t& mmat)
 {
 //
 //  Return absorption length  for given photon energy and material
 //
+    
     TFluka* fluka =  (TFluka*) gMC;
-    TGeoMaterial*    material =  (TGeoMaterial*) (gGeoManager->GetListOfMaterials())->At(fluka->GetMaterialIndex(mmat));
+//
+//  Check if stopping has been required by user
+//
+    if (fluka->GetStoppingCondition()) {
+       fluka->ResetStoppingCondition();
+       return (1.e15);
+    }
+//
+//  Get absorption coefficient for current material
+//    
+    TGeoMaterial*    material =  (TGeoMaterial*) (fluka->GetFlukaMaterials())->At(fluka->GetMaterialIndex(mmat));
     TFlukaCerenkov*  cerenkov = dynamic_cast<TFlukaCerenkov*> (material->GetCerenkovProperties());
     Double_t y = (cerenkov->GetAbsorptionCoefficientByWaveLength(wvlngt));
     return (y);