]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TFluka/TFlukaScoringOption.h
Using the new (TGeo) geometry of TPC
[u/mrichter/AliRoot.git] / TFluka / TFlukaScoringOption.h
1 #ifndef TFLUKASCORINGOPTION
2 #define TFLUKASCORINGOPTION
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */
8
9 ///////////////////////////////////////////////////////////////////////////////
10 //                                                                           //
11 //                                                                           //
12 // Class to store FLUKA specific scoring options                             //
13 //                                                                           //
14 //                                                                           //
15 // Authors: Andreas Morsch <andreas.morsch@cern.ch>                          //
16 //          Barbara Dalena <Barbara.Dalena@ba.infn.it>                       //
17 //                                                                           // 
18 ///////////////////////////////////////////////////////////////////////////////
19
20
21 #include <TNamed.h>
22 class TFlukaMCGeometry;
23
24
25 class TFlukaScoringOption : public TNamed
26 {
27 public:
28    // Constructors
29     TFlukaScoringOption();
30     TFlukaScoringOption(const char* name, const char* sdum, Int_t nopfl, char* outfile, Float_t* what);
31     TFlukaScoringOption(const char* name, const char* sdum, Int_t nopfl, char* outfile, Float_t* what,
32                         const char* det1, const char* det2, const char* det3);
33     // Getters
34     Float_t What(Int_t indi) const       {return fWhat[indi - 1];}
35     Int_t   Par() const                  {return fNopfl;}
36     char*   GetFileName() const          {return fOutFile;}
37     Float_t GetLun()  const              {return fLun;}
38     const char* GetRegName(Int_t ndet);
39     void SetPar(Int_t val)                 {fNopfl   = val;}
40     void SetFileName(char* outfile)        {fOutFile = outfile;}
41     void SetLun(Float_t lun)               {fLun     = lun;}
42             
43 //
44     void  WriteFlukaInputCards();
45     void  WriteOpenFlukaFile();
46     Int_t GetRegionByName(const char* detname);
47   
48     static void SetStaticInfo(FILE* file, TFlukaMCGeometry* geom)
49         {fgFile = file; fgGeom = geom;}
50  protected:
51     Int_t         fNopfl;        // Number of paramters
52     Float_t       fWhat[12];     // WHAT()
53     const char*   fName[3];      // Region Name
54     char*         fOutFile;      // Output file
55     Float_t       fLun;          // Logical Unit Number for Fluka output
56
57     // Static
58     static FILE*             fgFile;      // Output file
59     static TFlukaMCGeometry* fgGeom;      // Pointer to geometry
60     
61     ClassDef(TFlukaScoringOption, 1)  // Fluka Scoring Option
62 };
63         
64 #endif
65