]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant4/TG4PhysicsConstructorIon.h
Initial version
[u/mrichter/AliRoot.git] / TGeant4 / TG4PhysicsConstructorIon.h
CommitLineData
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
27class 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