4 // Author: I. Hrivnacova
6 // Class TG4PhysicsConstructorIon
7 // -----------------------------
8 // Constructor of physics for ions.
9 // According to ExN04IonPhysics.hh, GEANT4 tag Name: geant4-03-02
11 #ifndef TG4_PHYSICS_CONSTRUCTOR_ION_H
12 #define TG4_PHYSICS_CONSTRUCTOR_ION_H
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>
27 class TG4PhysicsConstructorIon: public G4VPhysicsConstructor
30 TG4PhysicsConstructorIon(const G4String& name = "Ion");
32 // TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right);
33 virtual ~TG4PhysicsConstructorIon();
36 TG4PhysicsConstructorIon(const TG4PhysicsConstructorIon& right);
39 TG4PhysicsConstructorIon& operator=(const TG4PhysicsConstructorIon& right);
41 // construct particle and physics
42 virtual void ConstructParticle();
43 virtual void ConstructProcess();
47 G4HadronElasticProcess fElasticProcess; //elastic process
48 G4LElastic* fElasticModel; //elastic model
50 // Generic Ion physics
51 G4MultipleScattering fIonMultipleScattering; //ion multiple scattering
52 G4hIonisation fIonIonisation; //ion ionisation
55 G4MultipleScattering fDeuteronMultipleScattering; //D msc
56 G4hIonisation fDeuteronIonisation;//D ionisation
57 G4DeuteronInelasticProcess fDeuteronProcess; //D inelastic process
58 G4LEDeuteronInelastic* fDeuteronModel; //D LE inelastic model
61 G4MultipleScattering fTritonMultipleScattering; //T msc
62 G4hIonisation fTritonIonisation; //T ionisation
63 G4TritonInelasticProcess fTritonProcess; //T inelastic process
64 G4LETritonInelastic* fTritonModel; //T LE inelastic model
67 G4MultipleScattering fAlphaMultipleScattering; //alpha msc
68 G4hIonisation fAlphaIonisation; //alpha ionisation
69 G4AlphaInelasticProcess fAlphaProcess; //alpha inelastic process
70 G4LEAlphaInelastic* fAlphaModel; //alpha LE inelastic model
73 G4MultipleScattering fHe3MultipleScattering; //He3 msc
74 G4hIonisation fHe3Ionisation; //He3 ionisation
78 void ConstructProcessForGenericIon();
79 void ConstructProcessForDeuteron();
80 void ConstructProcessForTriton();
81 void ConstructProcessForAlpha();
82 void ConstructProcessForHe3();
85 #endif //TG4_PHYSICS_CONSTRUCTOR_ION_H