Geant4  10.02.p01
G4DiscreteScatteringModel.hh
Go to the documentation of this file.
1 #ifndef G4DiscreteScatteringModel_HH
2 #define G4DiscreteScatteringModel_HH
3 
4 #include "G4VEmModel.hh"
6 #include "G4Material.hh"
7 #include "G4Element.hh"
8 #include "G4ElementData.hh"
9 #include "G4PhysicsVector.hh"
11 
12 #include <vector>
13 
14 typedef std::vector<G4double> G4PVDataVector;
15 
16 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
17 
19 {
20 
21 public:
22 
23  G4DiscreteScatteringModel(G4int iNumAngles=1);
24 
26 
27  virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&);
28 
29  void ReadData(G4int, const G4String & argFileName);
30 
32  G4double E,
33  G4double Z,
34  G4double A = 0.,
35  G4double cutEnergy = 0.0,
36  G4double maxEnergy = DBL_MAX);
37 
38  virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
39  const G4MaterialCutsCouple*,
40  const G4DynamicParticle*,
41  G4double tmin=0.0,
42  G4double maxEnergy=DBL_MAX);
43 
44  inline void SetNumberOfAngles(G4int N) { fNumAngles=N; };
45  inline void SetAnalog(const G4String& model) { fAnalogModel=model; };
46 
47 private:
48 
50 
58 };
59 
60 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
61 
62 #endif
63 
64 
void SetAnalog(const G4String &model)
void ReadData(G4int, const G4String &argFileName)
std::vector< G4double > G4PVDataVector
CLHEP::Hep3Vector G4ThreeVector
G4ThreeVector GetNewDirection(G4double z1)
G4DiscreteScatteringModel(G4int iNumAngles=1)
int G4int
Definition: G4Types.hh:78
virtual G4double ComputeCrossSectionPerAtom(const G4ParticleDefinition *, G4double E, G4double Z, G4double A=0., G4double cutEnergy=0.0, G4double maxEnergy=DBL_MAX)
virtual void Initialise(const G4ParticleDefinition *, const G4DataVector &)
double A(double temperature)
virtual void SampleSecondaries(std::vector< G4DynamicParticle * > *, const G4MaterialCutsCouple *, const G4DynamicParticle *, G4double tmin=0.0, G4double maxEnergy=DBL_MAX)
G4ParticleChangeForGamma * fParticleChange
double G4double
Definition: G4Types.hh:76
#define DBL_MAX
Definition: templates.hh:83