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;
48 G4LElastic* fElasticModel;
50 // Generic Ion physics
51 G4MultipleScattering fIonMultipleScattering;
52 G4hIonisation fIonIonisation;
55 G4MultipleScattering fDeuteronMultipleScattering;
56 G4hIonisation fDeuteronIonisation;
57 G4DeuteronInelasticProcess fDeuteronProcess;
58 G4LEDeuteronInelastic* fDeuteronModel;
61 G4MultipleScattering fTritonMultipleScattering;
62 G4hIonisation fTritonIonisation;
63 G4TritonInelasticProcess fTritonProcess;
64 G4LETritonInelastic* fTritonModel;
67 G4MultipleScattering fAlphaMultipleScattering;
68 G4hIonisation fAlphaIonisation;
69 G4AlphaInelasticProcess fAlphaProcess;
70 G4LEAlphaInelastic* fAlphaModel;
73 G4MultipleScattering fHe3MultipleScattering;
74 G4hIonisation fHe3Ionisation;
78 void ConstructProcessForGenericIon();
79 void ConstructProcessForDeuteron();
80 void ConstructProcessForTriton();
81 void ConstructProcessForAlpha();
82 void ConstructProcessForHe3();
85 #endif //TG4_PHYSICS_CONSTRUCTOR_ION_H