]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant3/AliG3Medium.h
Possibility to investigate a primary of not yet loaded particle (I.Hrivnacova)
[u/mrichter/AliRoot.git] / TGeant3 / AliG3Medium.h
1 #ifndef ALIG3Medium_H
2 #define ALIG3Medium_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 "TNamed.h"
9
10 const static Int_t kNPars=33;
11
12 class AliG3Medium : public TNamed
13 {
14 public:
15     AliG3Medium();
16     AliG3Medium(Int_t imed, Int_t imat, const char* name, Int_t isvol,
17                  Int_t ifield, Float_t fieldm, Float_t tmaxfd,
18                  Float_t stemax, Float_t deemax,
19                  Float_t epsil, Float_t stmin);
20     
21     virtual ~AliG3Medium(){;}
22     // Dump medium parameters
23     virtual void    Dump();
24     // Get id
25     virtual Int_t   Id();
26     // Get parameters
27     virtual Int_t   IdMat()   {return fIdMat;}
28     virtual Int_t   Isvol()   {return fIsvol;}
29     virtual Int_t   Ifield()  {return fIfield;}
30     virtual Float_t Fieldm()  {return fFieldm;}    
31     virtual Float_t Tmaxfd()  {return fTmaxfd;}        
32     virtual Float_t Stemax()  {return fStemax;}    
33     virtual Float_t Deemax()  {return fDeemax;}        
34     virtual Float_t Epsil()   {return fEpsil;}
35     virtual Float_t Stmin()   {return fStmin;}
36     virtual void    SetPar(Int_t ipar, Float_t par) {fPars[ipar-1]=par;}
37     virtual Float_t GetPar(Int_t ipar);
38     // Set and get link to widget entry
39     virtual Int_t ItemId() {return fItem;}
40     virtual void  SetItemId(Int_t id) {fItem=id;}
41     
42  private:
43     Float_t fPars[kNPars];   // special medium parameters
44     Int_t   fId;             // Id number of the Medium
45     Int_t   fIdMat;          // Associated material
46     Int_t   fIsvol;          // Sensitivity flag 
47     Int_t   fIfield;         // Magnetic Field Flag
48     Float_t fFieldm;         // Maximum Field Strength
49     Float_t fTmaxfd;         // Max. Ang. Deviation
50     Float_t fStemax;         // Maximum Step   
51     Float_t fDeemax;         // Max. Frac. Energy Loss",
52     Float_t fEpsil;          // Crossing Precission 
53     Float_t fStmin;          // Minimum Step Size
54     //
55     Int_t   fItem;           // Link to Widget Entry
56
57   AliG3Medium(const AliG3Medium&) {}
58   AliG3Medium & operator=(const AliG3Medium&) {return *this;}
59
60     ClassDef(AliG3Medium,1) // Tracking Medium Object for GUI 
61 };
62
63 #endif