Import Geant4 11.0.0.beta source tree

This commit is contained in:
Gabriele Cosmo
2021-06-25 16:12:29 +02:00
parent c968e26a39
commit 6399a014b6
4200 changed files with 207479 additions and 237366 deletions
@@ -23,58 +23,57 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
///////////////////////////////////////////////////////////////////////////
//
// Process describing a straw tube radiator of X-ray transition radiation.
//
// Process describing a straw tube radiator of X-ray transition radiation.
// Thicknesses of plates and gas gaps are gamma distributed.
// We suppose that:
// formation zone ~ mean thickness << absorption length
// for each material and in the range 1-100 keV. This allows us to simplify
// interference effects in radiator stack (GetStackFactor method).
//
//
//
// History:
// 22.04.05 V. Grichine, first version
// 22.04.05 V. Grichine, first version
// 28.09.07, V.Ivanchenko general cleanup without change of algorithms
//
#ifndef G4StrawTubeXTRadiator_h
#define G4StrawTubeXTRadiator_h 1
#include <complex>
#include "globals.hh"
#include "G4LogicalVolume.hh"
#include "G4Material.hh"
#include "G4VXTRenergyLoss.hh"
class G4SandiaTable;
class G4StrawTubeXTRadiator : public G4VXTRenergyLoss
{
public:
explicit G4StrawTubeXTRadiator (G4LogicalVolume* anEnvelope, G4Material*,
G4Material*, G4double,G4double,G4Material*,G4bool unishut = false,
const G4String & processName = "StrawTubeXTRadiator");
virtual ~G4StrawTubeXTRadiator ();
public:
explicit G4StrawTubeXTRadiator(
G4LogicalVolume* anEnvelope, G4Material*, G4Material*, G4double, G4double,
G4Material*, G4bool unishut = false,
const G4String& processName = "StrawTubeXTRadiator");
~G4StrawTubeXTRadiator();
// Auxiliary functions for plate/gas material parameters
G4double GetMediumFormationZone(G4double, G4double, G4double);
void ComputeMediumPhotoAbsCof();
G4double GetMediumLinearPhotoAbs(G4double);
G4complex GetMediumComplexFZ(G4double, G4double, G4double);
G4double GetMediumFormationZone(G4double,G4double,G4double) ;
void ComputeMediumPhotoAbsCof() ;
G4double GetMediumLinearPhotoAbs(G4double) ;
G4complex GetMediumComplexFZ(G4double,G4double,G4double) ;
// Pure virtual function from base class
G4double GetStackFactor(G4double energy, G4double gamma,
G4double GetStackFactor(G4double energy, G4double gamma,
G4double varAngle) override;
protected:
G4int fMatIndex3;
G4double fSigma3;
void ProcessDescription(std::ostream&) const override;
void DumpInfo() const override { ProcessDescription(G4cout); };
protected:
G4SandiaTable* fMediumPhotoAbsCof;
G4double fSigma3;
G4int fMatIndex3;
};
#endif