]>
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 | ||
11f7ee82 | 14 | #include "TG4VPhysicsConstructor.h" |
15 | ||
5d321328 | 16 | #include <G4HadronElasticProcess.hh> |
17 | #include <G4LElastic.hh> | |
18 | #include <G4DeuteronInelasticProcess.hh> | |
19 | #include <G4LEDeuteronInelastic.hh> | |
20 | #include <G4TritonInelasticProcess.hh> | |
21 | #include <G4LETritonInelastic.hh> | |
22 | #include <G4AlphaInelasticProcess.hh> | |
23 | #include <G4LEAlphaInelastic.hh> | |
24 | #include <G4hIonisation.hh> | |
25 | #include <G4MultipleScattering.hh> | |
26 | #include <globals.hh> | |
27 | ||
11f7ee82 | 28 | class TG4PhysicsConstructorIon: public TG4VPhysicsConstructor |
5d321328 | 29 | { |
30 | public: | |
31 | TG4PhysicsConstructorIon(const G4String& name = "Ion"); | |
11f7ee82 | 32 | TG4PhysicsConstructorIon(G4int verboseLevel, |
33 | G4bool setEM, G4bool setHadron, | |
34 | const G4String& name = "Ion"); | |
5d321328 | 35 | // --> protected |
36 | // TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); | |
37 | virtual ~TG4PhysicsConstructorIon(); | |
38 | ||
39 | protected: | |
40 | TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right); | |
41 | ||
42 | // operators | |
43 | TG4PhysicsConstructorIon& operator=(const TG4PhysicsConstructorIon& right); | |
44 | // methods | |
45 | // construct particle and physics | |
46 | virtual void ConstructParticle(); | |
47 | virtual void ConstructProcess(); | |
48 | ||
49 | // data members | |
50 | // Elastic Process | |
cc364059 | 51 | G4HadronElasticProcess fElasticProcess; //elastic process |
52 | G4LElastic* fElasticModel; //elastic model | |
5d321328 | 53 | |
54 | // Generic Ion physics | |
cc364059 | 55 | G4MultipleScattering fIonMultipleScattering; //ion multiple scattering |
56 | G4hIonisation fIonIonisation; //ion ionisation | |
5d321328 | 57 | |
58 | // Deuteron physics | |
cc364059 | 59 | G4MultipleScattering fDeuteronMultipleScattering; //D msc |
60 | G4hIonisation fDeuteronIonisation;//D ionisation | |
61 | G4DeuteronInelasticProcess fDeuteronProcess; //D inelastic process | |
62 | G4LEDeuteronInelastic* fDeuteronModel; //D LE inelastic model | |
5d321328 | 63 | |
64 | // Triton physics | |
cc364059 | 65 | G4MultipleScattering fTritonMultipleScattering; //T msc |
66 | G4hIonisation fTritonIonisation; //T ionisation | |
67 | G4TritonInelasticProcess fTritonProcess; //T inelastic process | |
68 | G4LETritonInelastic* fTritonModel; //T LE inelastic model | |
5d321328 | 69 | |
70 | // Alpha physics | |
cc364059 | 71 | G4MultipleScattering fAlphaMultipleScattering; //alpha msc |
72 | G4hIonisation fAlphaIonisation; //alpha ionisation | |
73 | G4AlphaInelasticProcess fAlphaProcess; //alpha inelastic process | |
74 | G4LEAlphaInelastic* fAlphaModel; //alpha LE inelastic model | |
5d321328 | 75 | |
76 | // He3 physics | |
cc364059 | 77 | G4MultipleScattering fHe3MultipleScattering; //He3 msc |
78 | G4hIonisation fHe3Ionisation; //He3 ionisation | |
5d321328 | 79 | |
80 | private: | |
81 | // methods | |
11f7ee82 | 82 | |
83 | // Hadron processes | |
84 | void ConstructHadProcessForGenericIon(); | |
85 | void ConstructHadProcessForDeuteron(); | |
86 | void ConstructHadProcessForTriton(); | |
87 | void ConstructHadProcessForAlpha(); | |
88 | void ConstructHadProcessForHe3(); | |
89 | ||
90 | // EM processes | |
91 | void ConstructEMProcessForGenericIon(); | |
92 | void ConstructEMProcessForDeuteron(); | |
93 | void ConstructEMProcessForTriton(); | |
94 | void ConstructEMProcessForAlpha(); | |
95 | void ConstructEMProcessForHe3(); | |
96 | ||
97 | // data members | |
98 | G4bool fSetEM; //if true - EM processes are constructed | |
99 | G4bool fSetHadron;//if true - hadron processes are constructed | |
5d321328 | 100 | }; |
101 | ||
102 | #endif //TG4_PHYSICS_CONSTRUCTOR_ION_H | |
103 |