2817d3e2 |
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 | |
1cdefcd9 |
7 | #ifndef TG4_G3_UNITS_H |
8 | #define TG4_G3_UNITS_H |
2817d3e2 |
9 | |
10 | #include <globals.hh> |
11 | |
1cdefcd9 |
12 | class TG4G3Units |
2817d3e2 |
13 | { |
14 | public: |
15 | // --> protected |
1cdefcd9 |
16 | // TG4G3Units(); |
17 | virtual ~TG4G3Units(); |
2817d3e2 |
18 | |
19 | // static get methods |
20 | static G4double Length(); |
34a8c72a |
21 | static G4double Angle(); |
2817d3e2 |
22 | static G4double Time(); |
23 | static G4double Charge(); |
24 | static G4double Energy(); |
25 | static G4double Mass(); |
26 | static G4double MassDensity(); |
27 | static G4double AtomicWeight(); |
28 | static G4double Field(); |
29 | |
30 | protected: |
1cdefcd9 |
31 | TG4G3Units(); |
2817d3e2 |
32 | // only static data members and methods |
33 | |
34 | private: |
35 | // static data members |
c63f260d |
36 | static const G4double fgkLength; //G3 length unit |
34a8c72a |
37 | static const G4double fgkAngle; //G3 angle unit |
c63f260d |
38 | static const G4double fgkTime; //G3 time unit |
39 | static const G4double fgkCharge; //G3 charge unit |
40 | static const G4double fgkEnergy; //G3 energy unit |
41 | static const G4double fgkMass; //G3 mass unit |
42 | static const G4double fgkMassDensity; //G3 mass density unit |
43 | static const G4double fgkAtomicWeight; //G3 atomic weight unit |
44 | static const G4double fgkField; //G3 magnetic field unit |
2817d3e2 |
45 | }; |
46 | |
47 | // inline methods |
48 | |
1cdefcd9 |
49 | inline G4double TG4G3Units::Length() { return fgkLength; } |
50 | inline G4double TG4G3Units::Angle() { return fgkAngle; } |
51 | inline G4double TG4G3Units::Time() { return fgkTime; } |
52 | inline G4double TG4G3Units::Charge() { return fgkCharge; } |
53 | inline G4double TG4G3Units::Energy() { return fgkEnergy; } |
54 | inline G4double TG4G3Units::Mass() { return fgkMass; } |
55 | inline G4double TG4G3Units::MassDensity() { return fgkMassDensity; } |
56 | inline G4double TG4G3Units::AtomicWeight() { return fgkAtomicWeight; } |
57 | inline G4double TG4G3Units::Field() { return fgkField; } |
58 | |
59 | #endif //TG4_G3_UNITS_H |