1d15e65c279d06f4b23660899887926e79766a67
[u/mrichter/AliRoot.git] / TGeant4 / TG3Units.h
1 // $Id$
2 // Category: global
3 //
4 // Class defines the G3 default units of physical quantities; 
5 // all physical quantities returned by MC are expressed in these units.
6
7 #ifndef TG3_UNITS_H
8 #define TG3_UNITS_H
9
10 #include <globals.hh>
11
12 class TG3Units
13 {
14   public:
15     // --> protected
16     // TG3Units();  
17     virtual ~TG3Units();
18
19     // static get methods
20     static G4double Length(); 
21     static G4double Time(); 
22     static G4double Charge(); 
23     static G4double Energy(); 
24     static G4double Mass(); 
25     static G4double MassDensity(); 
26     static G4double AtomicWeight();     
27     static G4double Field(); 
28       
29   protected:
30     TG3Units();      
31         // only static data members and methods
32
33   private:
34     // static data members  
35     static const G4double fgLength;       //G3 length unit 
36     static const G4double fgTime;         //G3 time unit 
37     static const G4double fgCharge;       //G3 charge unit  
38     static const G4double fgEnergy;       //G3 energy unit  
39     static const G4double fgMass;         //G3 mass unit
40     static const G4double fgMassDensity;  //G3 mass density unit 
41     static const G4double fgAtomicWeight; //G3 atomic weight unit  
42     static const G4double fgField;        //G3 magnetic field unit 
43 };     
44
45 // inline methods
46
47 inline G4double TG3Units::Length() { return fgLength; }
48 inline G4double TG3Units::Time()   { return fgTime; }
49 inline G4double TG3Units::Charge() { return fgCharge; }
50 inline G4double TG3Units::Energy() { return fgEnergy; }
51 inline G4double TG3Units::Mass()   { return fgMass; }
52 inline G4double TG3Units::MassDensity()  { return fgMassDensity; }
53 inline G4double TG3Units::AtomicWeight() { return fgAtomicWeight; }
54 inline G4double TG3Units::Field()  { return fgField; }
55
56 #endif //TG3_UNITS_H