]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant3/AliGUIMedium.h
Containers definition
[u/mrichter/AliRoot.git] / TGeant3 / AliGUIMedium.h
1 #ifndef ALIGUIMEDIUM_H
2 #define ALIGUIMEDIUM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include "TObject.h"
9
10 const static Int_t kNPars=33;
11
12 class AliGUIMedium : public TObject 
13 {
14 public:
15     AliGUIMedium();
16     AliGUIMedium(Int_t imed, Int_t imat, char* name, Int_t isvol, Int_t ifield,
17                  Float_t fieldm, Float_t tmaxfd, Float_t stemax, Float_t deemax,
18                  Float_t epsil, Float_t stmin);
19     
20     virtual ~AliGUIMedium(){;}
21     // Dump medium parameters
22     virtual void    Dump();
23     // Get id
24     virtual Int_t   Id();
25     // Get name
26     virtual char*   Name();
27     // Get parameters
28     virtual Int_t   IdMat()   {return fIdMat;}
29     virtual Int_t   Isvol()   {return fIsvol;}
30     virtual Int_t   Ifield()  {return fIfield;}
31     virtual Float_t Fieldm()  {return fFieldm;}    
32     virtual Float_t Tmaxfd()  {return fTmaxfd;}        
33     virtual Float_t Stemax()  {return fStemax;}    
34     virtual Float_t Deemax()  {return fDeemax;}        
35     virtual Float_t Epsil()   {return fEpsil;}
36     virtual Float_t Stmin()   {return fStmin;}
37     virtual void    SetPar(Int_t ipar, Float_t par) {fPars[ipar-1]=par;}
38     virtual Float_t GetPar(Int_t ipar);
39     // Set and get link to widget entry
40     virtual Int_t ItemId() {return fItem;}
41     virtual void  SetItemId(Int_t id) {fItem=id;}
42     
43  private:
44     Float_t fPars[kNPars];   // special medium parameters
45     Int_t   fId;             // Id number of the Medium
46     Int_t   fIdMat;          // Associated material
47     char*   fName;           // Name of the Medium
48     Int_t   fIsvol;          // Sensitivity flag 
49     Int_t   fIfield;         // Magnetic Field Flag
50     Float_t fFieldm;         // Maximum Field Strength
51     Float_t fTmaxfd;         // Max. Ang. Deviation
52     Float_t fStemax;         // Maximum Step   
53     Float_t fDeemax;         // Max. Frac. Energy Loss",
54     Float_t fEpsil;          // Crossing Precission 
55     Float_t fStmin;          // Minimum Step Size
56     //
57     Int_t   fItem;           // Link to Widget Entry
58
59   AliGUIMedium(const AliGUIMedium&) {}
60   AliGUIMedium & operator=(const AliGUIMedium&) {return *this;}
61
62     ClassDef(AliGUIMedium,1) // Tracking Medium Object for GUI 
63 };
64
65 #endif