ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4TransitionRadiation.hh
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4TransitionRadiation.hh
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 // G4TransitionRadiation -- header file
28 //
29 // Class for description of transition radiation generated
30 // by charged particle crossed interface between material 1
31 // and material 2 (1 -> 2). Transition radiation could be of kind:
32 // - optical back
33 // - optical forward
34 // - X-ray forward (for relativistic case Tkin/mass >= 10^2)
35 //
36 // GEANT 4 class header file --- Copyright CERN 1995
37 // CERB Geneva Switzerland
38 //
39 // for information related to this code, please, contact
40 // CERN, CN Division, ASD Group
41 // History:
42 // 18.12.97, V. Grichine (Vladimir.Grichine@cern.ch)
43 // 02.02.00, V.Grichine, new data fEnergy and fVarAngle for double
44 // numerical integration in inherited classes
45 // 03.06.03, V.Ivanchenko fix compilation warnings
46 // 28.07.05, P.Gumplinger add G4ProcessType to constructor
47 
48 #ifndef G4TransitionRadiation_h
49 #define G4TransitionRadiation_h
50 
51 
52 #include "G4VDiscreteProcess.hh"
53 #include "G4Material.hh"
54 
56 {
57 public:
58 
59  explicit G4TransitionRadiation( const G4String& processName = "TR",
61 
62  virtual ~G4TransitionRadiation() ;
63 
64  // Methods
65 
66  G4bool IsApplicable(const G4ParticleDefinition& aParticleType) override;
67 
68  virtual G4double GetMeanFreePath(const G4Track&, G4double,
69  G4ForceCondition* condition) override;
70 
71  virtual G4VParticleChange* PostStepDoIt(const G4Track&,
72  const G4Step&) override;
73 
74  virtual
76  G4double varAngle ) const = 0 ;
77 
79  G4double energy2,
80  G4double varAngle ) const ;
81 
83  G4double varAngle1,
84  G4double varAngle2 ) const ;
85 
87  G4double varAngle2 ) const ;
88 
90  G4double energy2 ) const ;
91 
92 
93 
94  // Access functions
95 
96 protected :
97 
98  G4int fMatIndex1 ; // index of the 1st material
99  G4int fMatIndex2 ; // index of the 2nd material
100 
101  // private :
102 
106 
107  // Local constants
108  static const G4int fSympsonNumber ; // Accuracy of Sympson integration 10
109  static const G4int fGammaNumber ; // = 15
110  static const G4int fPointNumber ; // = 100
111 
112  G4double fMinEnergy ; // min TR energy
113  G4double fMaxEnergy ; // max TR energy
114  G4double fMaxTheta ; // max theta of TR quanta
115 
116  G4double fSigma1 ; // plasma energy Sq of matter1
117  G4double fSigma2 ; // plasma energy Sq of matter2
118 
119 private:
120 
121 // Operators
124  operator=(const G4TransitionRadiation& right) = delete;
125 
126 };
127 
128 #endif // G4TransitionRadiation_h