#include <Riostream.h>
#include "TVirtualMCApplication.h"
+#include "TGeoMaterial.h"
+#include "TGeoManager.h"
+#include "TFlukaCerenkov.h"
#ifndef WITH_ROOT
#include "TFluka.h"
cout << " For icode=" << icode << " Stepping is NOT called" << endl;
return;
}
+ if (TRACKR.jtrack == -1) {
+// Handle quantum efficiency the G3 way
+ printf("endraw: Cerenkov photon depositing energy: %d %e\n", mreg, rull);
+ TGeoMaterial* material = (gGeoManager->GetCurrentVolume())->GetMaterial();
+ Int_t nmat = material->GetIndex();
+ TFlukaCerenkov* cerenkov = dynamic_cast<TFlukaCerenkov*> (material->GetCerenkovProperties());
+ if (cerenkov) {
+ Double_t eff = (cerenkov->GetQuantumEfficiency(rull));
+ if (gRandom->Rndm() > eff) {
+ rull = 0.;
+ fluka->SetRull(rull);
+ }
+ }
+ }
(TVirtualMCApplication::Instance())->Stepping();
fluka->SetTrackIsNew(kFALSE);
} // end of endraw