Access to common block ALLDLT containing primary ionisation electron information.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 13 Sep 2006 11:25:36 +0000 (11:25 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 13 Sep 2006 11:25:36 +0000 (11:25 +0000)
TFluka/Falldlt.h
TFluka/TFluka.cxx
TFluka/TFluka.h

index 71c90fc..dc4b89a 100644 (file)
@@ -51,7 +51,7 @@ extern "C" {
 //      SAVE / ALLDLT /
     const Int_t mxalld = 5000;
     typedef struct {
-       Double_t talldl[kmxalld];
+       Double_t talldl[mxalld];
        Double_t tallmn;
        Int_t    nalldl;
        Int_t    lalldl;
index 30c8e00..30dea69 100644 (file)
@@ -48,6 +48,7 @@
 #include "Fstepsz.h"       //(STEPSZ) fluka common
 #include "Fopphst.h"       //(OPPHST) fluka common
 #include "Fltclcm.h"       //(LTCLCM) fluka common
+#include "Falldlt.h"       //(ALLDLT) fluka common
 
 #include "TVirtualMC.h"
 #include "TMCProcess.h"
@@ -2162,3 +2163,22 @@ void TFluka::AddParticlesToPdgDataBase() const
                      0,6,"Ion",kion+20030);
 }
 
+  //
+  // Info about primary ionization electrons
+  Int_t TFluka::GetNPrimaryElectrons()
+{
+    // Get number of primary electrons
+    return ALLDLT.nalldl;
+}
+
+Double_t GetPrimaryElectronKineticEnergy(Int_t i)
+{
+    // Returns kinetic energy of primary electron i
+    if (i >= 0 && i < ALLDLT.nalldl) {
+       return ALLDLT.talldl[i];
+    } else {
+       Warning("GetPrimaryElectronKineticEnergy", 
+               "Primary electron index out of range %d %d \n", 
+               i, ALLDLT.nalldl);
+    }
+}
index d5aed8c..e2d9a27 100644 (file)
@@ -386,6 +386,11 @@ class TFluka : public TVirtualMC {
   private:
   void PrintHeader();
   void AddParticlesToPdgDataBase() const;
+  //
+  // Info about primary ionization electrons
+  Int_t    GetNPrimaryElectrons();
+  Double_t GetPrimaryElectronKineticEnergy(Int_t i);
+  //
   TFluka(const TFluka &mc): TVirtualMC(mc) {;}
   TFluka & operator=(const TFluka &) {return (*this);}