3153d58aa446e33b5e0f023f58e0249304543fb4
[u/mrichter/AliRoot.git] / TFluka / TFlukaConfigOption.h
1 #ifndef TFLUKACONFIGOPTION
2 #define TFLUKACONFIGOPTION
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 and VMC configuration options:                       // 
13 // Cuts, Processes, User Scoring                                             // 
14 //                                                                           //
15 //                                                                           //
16 // Author: andreas.morsch@cern.ch                                            // 
17 //                                                                           //  
18 //                                                                           //
19 ///////////////////////////////////////////////////////////////////////////////
20 //
21 //
22 //
23
24
25 #include <TNamed.h>
26
27
28 class TFlukaConfigOption : public TNamed
29 {
30 public:
31     // Constructors
32     TFlukaConfigOption();
33     TFlukaConfigOption(const char* cutName, Double_t cut);
34     TFlukaConfigOption(const char* cutName, Double_t cut, Int_t imed);
35     TFlukaConfigOption(const char* procName, Int_t flag);
36     TFlukaConfigOption(const char* procName, Int_t flag, Int_t imed);
37     // Getters
38     Double_t Cut()  const                {return fCutValue;}
39     Int_t    Flag() const                {return fProcessFlag;}
40     Int_t    Medium()                    {return fMedium;}    
41     Bool_t   HasMediumAssigned()         {return  (fMedium > -1);}
42     // Setters
43     void     SetCut(Double_t val)        {fCutValue     =   val;}
44     void     SetFlag(Int_t val)          {fProcessFlag  =   val;}
45     void     SetMedium(Int_t imed)       {fMedium       =   imed;}    
46
47  protected:
48     Double_t fCutValue;                // User cut
49     Int_t    fProcessFlag;             // User flag assigned to processes
50     Int_t    fMedium;                  // Materials assigned to user settings
51     ClassDef(TFlukaConfigOption, 1)    // Fluka Configuration Option
52 };
53         
54 #endif
55