#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);