]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TFluka/TFlukaScoringOption.h
Switch to negative values of logical output units to obtain binary output
[u/mrichter/AliRoot.git] / TFluka / TFlukaScoringOption.h
index 89cc390071d00ae9807cc0d3d4a6f9619ac84e15..53fa537b76c7fe28a55911f9fa25a8a94b0f98cd 100644 (file)
@@ -9,27 +9,61 @@
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
 //                                                                           //
-// Class to store FLUKA specific scoring options
+// Class to store FLUKA specific scoring options                             //
 //                                                                           //
-//
-// Author: andreas.morsch@cern.ch 
-//
-//
+//                                                                           //
+// Authors: Andreas Morsch <andreas.morsch@cern.ch>                          //
+//          Barbara Dalena <Barbara.Dalena@ba.infn.it>                       //
+//                                                                           // 
 ///////////////////////////////////////////////////////////////////////////////
 
 
 #include <TNamed.h>
+class TFlukaMCGeometry;
 
 
 class TFlukaScoringOption : public TNamed
 {
 public:
-   // constructors
+   // Constructors
     TFlukaScoringOption();
-    TFlukaScoringOption(const char* name, const char* sdum, Int_t npar,  Float_t what[12]);
+    TFlukaScoringOption(const char* name, const char* sdum, Int_t nopfl, char* outfile, Float_t* what);
+    TFlukaScoringOption(const char* name, const char* sdum, Int_t nopfl, char* outfile, Float_t* what,
+                        const char* det1, const char* det2, const char* det3);
+    // Getters
+    Float_t     What(Int_t indi) const       {return fWhat[indi - 1];}
+    Int_t       Par() const                  {return fNopfl;}
+    char*       GetFileName() const          {return fOutFile;}
+    Float_t     GetLun()  const              {return fLun;}
+    const char* GetRegName(Int_t ndet);
+    void        SetPar(Int_t val)            {fNopfl   = val;}
+    void        SetFileName(char* outfile)   {fOutFile = outfile;}
+    void        SetLun(Float_t lun)          {fLun     = lun;}
+//
+    void        WriteFlukaInputCards();
+    void        WriteOpenFlukaFile();
+    Int_t       GetRegionByName(const char* detname);
+
+    static void SetStaticInfo(FILE* file, TFlukaMCGeometry* geom)
+                {fgFile = file; fgGeom = geom;}
+
  protected:
-    Int_t         fNpar;        // Number of paramters
-    Float_t       fWhat[12];    // WHAT()
+    Int_t         fNopfl;        // Number of paramters
+    Float_t       fWhat[12];     // WHAT()
+    const char*   fName[3];      // Region Name
+    char*         fOutFile;      // Output file
+    Float_t       fLun;          // Logical Unit Number for Fluka output
+
+    // Static
+    static FILE*             fgFile;      // Output file
+    static TFlukaMCGeometry* fgGeom;      // Pointer to geometry
+ private:
+    // Copy constructor and operator= declared but not implemented (-Weff++ flag)
+    TFlukaScoringOption(const TFlukaScoringOption&);
+    TFlukaScoringOption& operator=(const TFlukaScoringOption&);
+
     ClassDef(TFlukaScoringOption, 1)  // Fluka Scoring Option
 };