aboutsummaryrefslogtreecommitdiffstats
path: root/include/G4BeamTestIonPhysics.h.backup
blob: 0a9d5f14a01a8b86c09846f0c364961ad5f75acf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#ifndef G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED
#define G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED

#include <globals.hh>
#include <G4ios.hh>
#include <G4VPhysicsConstructor.hh>
#include <G4HadronElasticProcess.hh>
#include <G4LElastic.hh>
#include <G4DeuteronInelasticProcess.hh>
#include <G4LEDeuteronInelastic.hh>
#include <G4TritonInelasticProcess.hh>
#include <G4LETritonInelastic.hh>
#include <G4AlphaInelasticProcess.hh>
#include <G4LEAlphaInelastic.hh>
#include <G4hIonisation.hh>
#include <G4ionIonisation.hh>
#include <G4hMultipleScattering.hh>

/**
   @class G4BeamTestIonPhysics
   @brief Ion physics. Used only if Geant4 version is earlier than 4.10.
   @author GEANT4/Peter Niessen
   @date Sun Jul 25 00:24:42 EDT 2004

   The ion physics. Check the source for details.
*/
class G4BeamTestIonPhysics : public G4VPhysicsConstructor {

public:

  /**
   * The constructor
   */
  G4BeamTestIonPhysics();

  /**
   * The virtual destructor
   */
  virtual ~G4BeamTestIonPhysics();

  /**
   * This method will be invoked in the Construct() method. 
   * each particle type will be instantiated
   */
  virtual void ConstructParticle();
 
  /**
   * This method will be invoked in the Construct() method.
   * each physics process will be instantiated and
   * registered to the process manager of each particle type 
   */
  virtual void ConstructProcess();

protected:
  // Elastic Process
  G4HadronElasticProcess      elasticProcess_;
  G4LElastic*                 elasticModel_;

  // Generic Ion physics
  G4hMultipleScattering        ionMultipleScattering_;
  G4ionIonisation             ionIonisation_;

  // Deuteron physics
  G4hMultipleScattering        deuteronMultipleScattering_;
  G4hIonisation               deuteronIonisation_;
  G4DeuteronInelasticProcess  deuteronProcess_;
  G4LEDeuteronInelastic*      deuteronModel_;

  // Triton physics
  G4hMultipleScattering        tritonMultipleScattering_;
  G4hIonisation               tritonIonisation_;
  G4TritonInelasticProcess    tritonProcess_;
  G4LETritonInelastic*        tritonModel_;
  
  // Alpha physics
  G4hMultipleScattering        alphaMultipleScattering_;
  G4hIonisation               alphaIonisation_;
  G4AlphaInelasticProcess     alphaProcess_;
  G4LEAlphaInelastic*         alphaModel_;

  // He3 physics
  G4hMultipleScattering        he3MultipleScattering_;
  G4hIonisation               he3Ionisation_;

};


#endif // G4TANKRESPONSE_G4BEAMTESTIONPHYSICS_H_INCLUDED