]>
Commit | Line | Data |
---|---|---|
5d321328 | 1 | // $Id$ |
2 | // Category: physics | |
3 | // | |
4 | // Author: I. Hrivnacova | |
5 | // | |
6 | // Class TG4PhysicsConstructorIon | |
7 | // ----------------------------- | |
8 | // Constructor of physics for ions. | |
9 | // According to ExN04IonPhysics.hh, GEANT4 tag Name: geant4-03-02 | |
10 | ||
11 | #ifndef TG4_PHYSICS_CONSTRUCTOR_ION_H | |
12 | #define TG4_PHYSICS_CONSTRUCTOR_ION_H | |
13 | ||
14 | #include <G4VPhysicsConstructor.hh> | |
15 | #include <G4HadronElasticProcess.hh> | |
16 | #include <G4LElastic.hh> | |
17 | #include <G4DeuteronInelasticProcess.hh> | |
18 | #include <G4LEDeuteronInelastic.hh> | |
19 | #include <G4TritonInelasticProcess.hh> | |
20 | #include <G4LETritonInelastic.hh> | |
21 | #include <G4AlphaInelasticProcess.hh> | |
22 | #include <G4LEAlphaInelastic.hh> | |
23 | #include <G4hIonisation.hh> | |
24 | #include <G4MultipleScattering.hh> | |
25 | #include <globals.hh> | |
26 | ||
27 | class TG4PhysicsConstructorIon: public G4VPhysicsConstructor | |
28 | { | |
29 | public: | |
30 | TG4PhysicsConstructorIon(const G4String& name = "Ion"); | |
31 | // --> protected | |
32 | // TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); | |
33 | virtual ~TG4PhysicsConstructorIon(); | |
34 | ||
35 | protected: | |
36 | TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); | |
37 | ||
38 | // operators | |
39 | TG4PhysicsConstructorIon& operator=(const TG4PhysicsConstructorIon& right); | |
40 | // methods | |
41 | // construct particle and physics | |
42 | virtual void ConstructParticle(); | |
43 | virtual void ConstructProcess(); | |
44 | ||
45 | // data members | |
46 | // Elastic Process | |
47 | G4HadronElasticProcess fElasticProcess; | |
48 | G4LElastic* fElasticModel; | |
49 | ||
50 | // Generic Ion physics | |
51 | G4MultipleScattering fIonMultipleScattering; | |
52 | G4hIonisation fIonIonisation; | |
53 | ||
54 | // Deuteron physics | |
55 | G4MultipleScattering fDeuteronMultipleScattering; | |
56 | G4hIonisation fDeuteronIonisation; | |
57 | G4DeuteronInelasticProcess fDeuteronProcess; | |
58 | G4LEDeuteronInelastic* fDeuteronModel; | |
59 | ||
60 | // Triton physics | |
61 | G4MultipleScattering fTritonMultipleScattering; | |
62 | G4hIonisation fTritonIonisation; | |
63 | G4TritonInelasticProcess fTritonProcess; | |
64 | G4LETritonInelastic* fTritonModel; | |
65 | ||
66 | // Alpha physics | |
67 | G4MultipleScattering fAlphaMultipleScattering; | |
68 | G4hIonisation fAlphaIonisation; | |
69 | G4AlphaInelasticProcess fAlphaProcess; | |
70 | G4LEAlphaInelastic* fAlphaModel; | |
71 | ||
72 | // He3 physics | |
73 | G4MultipleScattering fHe3MultipleScattering; | |
74 | G4hIonisation fHe3Ionisation; | |
75 | ||
76 | private: | |
77 | // methods | |
78 | void ConstructProcessForGenericIon(); | |
79 | void ConstructProcessForDeuteron(); | |
80 | void ConstructProcessForTriton(); | |
81 | void ConstructProcessForAlpha(); | |
82 | void ConstructProcessForHe3(); | |
83 | }; | |
84 | ||
85 | #endif //TG4_PHYSICS_CONSTRUCTOR_ION_H | |
86 |