Protection against icode==11 [to be clarified]. (E. Futo)
[u/mrichter/AliRoot.git] / TFluka / endraw.cxx
index 68c1995c0c6e12918618a818ff7ca8adcca3be2a..3ead0046f64b07bfa3bf41fba343de3b8a88a76a 100644 (file)
@@ -1,6 +1,14 @@
 #include <Riostream.h>
 #include "TVirtualMCApplication.h"
+
+#ifndef WITH_ROOT
 #include "TFluka.h"
+#else
+#include "TFlukaGeo.h"
+#endif
+
+#include "Fdimpar.h"  //(DIMPAR) fluka include
+#include "Ftrackr.h"  //(TRACKR) fluka common
 #ifndef WIN32
 # define endraw endraw_
 #else
 extern "C" {
 void endraw(Int_t& icode, Int_t& mreg, Double_t& rull, Double_t& xsco, Double_t& ysco, Double_t& zsco)
 {
-  ((TFluka*) gMC)->SetIcode(icode);
-  ((TFluka*) gMC)->SetMreg(mreg);
-  ((TFluka*) gMC)->SetRull(rull);
-  ((TFluka*) gMC)->SetXsco(xsco);
-  ((TFluka*) gMC)->SetYsco(ysco);
-  ((TFluka*) gMC)->SetZsco(zsco);
-  cout << endl << " !!! I am in endraw - calling Stepping()" << endl;
-  ((TFluka*) gMC)->FutoTest();
+  TFluka* fluka = (TFluka*) gMC;
+  fluka->SetCaller(3);
+  fluka->SetIcode(icode);
+  fluka->SetRull(rull);
+  fluka->SetXsco(xsco);
+  fluka->SetYsco(ysco);
+  fluka->SetZsco(zsco);
+  fluka->SetMreg(mreg);
+  if (icode == 11) {
+    cout << " For icode=" << icode << " Stepping is NOT called" << endl;
+    return;
+  }
   (TVirtualMCApplication::Instance())->Stepping();
 } // end of endraw
 } // end of extern "C"