source: trunk/source/processes/electromagnetic/adjoint/include/G4AdjointBremsstrahlungModel.hh @ 966

Last change on this file since 966 was 966, checked in by garnier, 15 years ago

fichier ajoutes

File size: 5.1 KB
Line 
1//
2// ********************************************************************
3// * License and Disclaimer                                           *
4// *                                                                  *
5// * The  Geant4 software  is  copyright of the Copyright Holders  of *
6// * the Geant4 Collaboration.  It is provided  under  the terms  and *
7// * conditions of the Geant4 Software License,  included in the file *
8// * LICENSE and available at  http://cern.ch/geant4/license .  These *
9// * include a list of copyright holders.                             *
10// *                                                                  *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work  make  any representation or  warranty, express or implied, *
14// * regarding  this  software system or assume any liability for its *
15// * use.  Please see the license in the file  LICENSE  and URL above *
16// * for the full disclaimer and the limitation of liability.         *
17// *                                                                  *
18// * This  code  implementation is the result of  the  scientific and *
19// * technical work of the GEANT4 collaboration.                      *
20// * By using,  copying,  modifying or  distributing the software (or *
21// * any work based  on the software)  you  agree  to acknowledge its *
22// * use  in  resulting  scientific  publications,  and indicate your *
23// * acceptance of all terms of the Geant4 Software license.          *
24// ********************************************************************
25//
26/////////////////////////////////////////////////////////////////////////////////
27//      Module:         G4AdjointBremsstrahlungModel.hh
28//      Author:         L. Desorgher
29//      Date:           15 June 2007
30//      Organisation:   SpaceIT GmbH
31//      Customer:       ESA/ESTEC
32/////////////////////////////////////////////////////////////////////////////////
33//
34// CHANGE HISTORY
35// --------------
36//      ChangeHistory:
37//              15 June 2007 creation by L. Desorgher. Adapted from G4eBremsstrahlungModel             
38//
39//-------------------------------------------------------------
40//      Documentation:
41//              Adjoint Model for e- Bremsstrahlung
42//
43
44
45
46#ifndef G4AdjointBremsstrahlungModel_h
47#define G4AdjointBremsstrahlungModel_h 1
48#include "globals.hh"
49#include "G4VEmAdjointModel.hh"
50#include "G4eBremsstrahlungModel.hh"
51class G4Timer;
52class G4AdjointBremsstrahlungModel: public G4VEmAdjointModel
53
54{
55public:
56
57  G4AdjointBremsstrahlungModel();
58  ~G4AdjointBremsstrahlungModel();
59  virtual void SampleSecondaries(const G4Track& aTrack,
60                                G4bool IsScatProjToProjCase,
61                                G4ParticleChange* fParticleChange);
62 
63  virtual G4double DiffCrossSectionPerVolumePrimToSecond(
64                                      const G4Material* aMaterial,
65                                      G4double kinEnergyProj,  // kinetic energy of the primary particle before the interaction
66                                      G4double kinEnergyProd // kinetic energy of the secondary particle
67                                      ); 
68  G4double DiffCrossSectionPerVolumePrimToSecond1(
69                                      const G4Material* aMaterial,
70                                      G4double kinEnergyProj,  // kinetic energy of the primary particle before the interaction
71                                      G4double kinEnergyProd // kinetic energy of the secondary particle
72                                      ); 
73  G4double DiffCrossSectionPerVolumePrimToSecond2(
74                                      const G4Material* aMaterial,
75                                      G4double kinEnergyProj,  // kinetic energy of the primary particle before the interaction
76                                      G4double kinEnergyProd // kinetic energy of the secondary particle
77                                      ); 
78  G4double DiffCrossSectionPerVolumePrimToSecond3(
79                                      const G4Material* aMaterial,
80                                      G4double kinEnergyProj,  // kinetic energy of the primary particle before the interaction
81                                      G4double kinEnergyProd // kinetic energy of the secondary particle
82                                      );                                     
83  void DefineDirectBremModel(G4eBremsstrahlungModel* aModel);
84  inline void SetdCSModel(G4String aString) {ModeldCS=aString;}
85                                     
86 
87private:
88 
89  void InitialiseParameters();
90  G4double SupressionFunction(const G4Material* material, G4double tkin,
91                                    G4double gammaEnergy);
92                                   
93
94private: 
95  G4eBremsstrahlungModel* theDirectBremModel;
96
97  G4double highKinEnergy;
98  G4double lowKinEnergy;
99  G4double probsup;
100  G4double MigdalConstant;
101  G4double LPMconstant;
102  G4double highEnergyTh;
103  G4bool   theLPMflag;
104  G4bool   isElectron;
105 
106  //Vector
107 
108  std::vector<float> FZ;
109  std::vector<float> ah1;
110  std::vector<float> ah2;
111  std::vector<float> ah3;
112 
113  std::vector<float> bh1;
114  std::vector<float> bh2;
115  std::vector<float> bh3;
116 
117  std::vector<float> al0;
118  std::vector<float> al1;
119  std::vector<float> al2;
120 
121  std::vector<float> bl0;
122  std::vector<float> bl1;
123  std::vector<float> bl2; 
124 
125  std::vector<float> SigmaPerAtom; 
126  G4Timer* theTimer;
127 
128  G4String ModeldCS;
129 
130 
131};
132
133#endif
Note: See TracBrowser for help on using the repository browser.