Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FoamXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Rough model describing a radiator of X-ray transition radiation.
|
||||
// Thicknesses of plates and gas gaps are exponentially 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:
|
||||
// 27.02.01 V. Grichine, first version
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4FoamXTRdEdx_h
|
||||
#define G4FoamXTRdEdx_h 1
|
||||
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXTRdEdx.hh"
|
||||
|
||||
class G4FoamXTRdEdx : public G4VXTRdEdx
|
||||
{
|
||||
public:
|
||||
|
||||
G4FoamXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
~G4FoamXTRdEdx ();
|
||||
|
||||
// Pure virtual function from base class
|
||||
|
||||
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4FoamXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4FoamXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -46,9 +46,9 @@
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
#include "G4VXrayTRadModel.hh"
|
||||
|
||||
class G4FoamXrayTRmodel : public G4VXrayTRmodel
|
||||
class G4FoamXrayTRmodel : public G4VXrayTRadModel
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GamDistrXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Rough model describing a radiator of X-ray transition radiation.
|
||||
// Thicknesses of plates and gas gaps are distributed according to gamma
|
||||
// distribution. x are thicknesses of plates or gas gaps:
|
||||
//
|
||||
// p(x) = (alpha/<x>)^alpha * x^(alpha-1) * exp(-alpha*x/<x>) / G(alpha)
|
||||
//
|
||||
// G(alpha) is Euler's gamma function.
|
||||
// Plates have mean <x> = fPlateThick > 0 and power alpha = fAlphaPlate > 0 :
|
||||
// Gas gaps have mean <x> = fGasThick > 0 and power alpha = fAlphaGas > 0 :
|
||||
// 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:
|
||||
// 27.02.01 V. Grichine, first version
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4GamDistrXTRdEdx_h
|
||||
#define G4GamDistrXTRdEdx_h 1
|
||||
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXTRdEdx.hh"
|
||||
|
||||
class G4GamDistrXTRdEdx : public G4VXTRdEdx
|
||||
{
|
||||
public:
|
||||
|
||||
G4GamDistrXTRdEdx (G4LogicalVolume *anEnvelope,
|
||||
G4double,G4double,
|
||||
G4double,G4double );
|
||||
~G4GamDistrXTRdEdx ();
|
||||
|
||||
// Pure virtual function from base class
|
||||
|
||||
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
|
||||
|
||||
private:
|
||||
|
||||
G4double fAlphaPlate, fAlphaGas ;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4GamDistrXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4GamDistrXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -53,9 +53,9 @@
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
#include "G4VXrayTRadModel.hh"
|
||||
|
||||
class G4GamDistrXrayTRmodel : public G4VXrayTRmodel
|
||||
class G4GamDistrXrayTRmodel : public G4VXrayTRadModel
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4IrregularXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Very rough model describing a radiator of X-ray transition radiation.
|
||||
// Thicknesses of plates and gas gaps are exponentially 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
|
||||
// essentially interference effects in radiator stack (GetStackFactor method).
|
||||
// The price is decreasing of X-ray TR photon yield.
|
||||
//
|
||||
// History:
|
||||
// 27.02.01 V. Grichine first version
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4IrregularXTRdEdx_h
|
||||
#define G4IrregularXTRdEdx_h 1
|
||||
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
#include "G4VXTRdEdx.hh"
|
||||
|
||||
class G4IrregularXTRdEdx : public G4VXTRdEdx
|
||||
{
|
||||
public:
|
||||
|
||||
G4IrregularXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
~G4IrregularXTRdEdx();
|
||||
|
||||
// Pure virtual function from base class
|
||||
|
||||
// void DoIt(const G4FastTrack&, G4FastStep&);
|
||||
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4IrregularXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4IrregularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -47,9 +47,9 @@
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
#include "G4VXrayTRadModel.hh"
|
||||
|
||||
class G4IrregularXrayTRmodel : public G4VXrayTRmodel
|
||||
class G4IrregularXrayTRmodel : public G4VXrayTRadModel
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PAIclusterModel.hh,v 1.1.4.1 2001/06/28 19:10:33 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PAIclusterModel.hh,v 1.3 2001/09/18 09:30:26 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -46,7 +46,6 @@
|
||||
#include "G4Step.hh"
|
||||
#include "G4VTouchable.hh"
|
||||
#include "G4TouchableHistory.hh"
|
||||
#include <g4rw/tvordvec.h>
|
||||
|
||||
|
||||
class G4PAIclusterModel : public G4VClusterModel
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PhotoClusterModel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PhotoClusterModel.hh,v 1.3 2001/09/18 09:30:28 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -46,7 +46,6 @@
|
||||
#include "G4Step.hh"
|
||||
#include "G4VTouchable.hh"
|
||||
#include "G4TouchableHistory.hh"
|
||||
#include <g4rw/tvordvec.h>
|
||||
|
||||
|
||||
class G4PhotoClusterModel : public G4VClusterModel
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PlateIrrGasXTRdEdx.hh,v 1.2 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Model describing a radiator of X-ray transition radiation.
|
||||
// Thicknesses of plates is fixed while gas gaps are fully irregular.
|
||||
// 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:
|
||||
// 27.02.01 V. Grichine, first version
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4PlateIrrGasXTRdEdx_h
|
||||
#define G4PlateIrrGasXTRdEdx_h 1
|
||||
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
#include "G4VXTRdEdx.hh"
|
||||
|
||||
class G4PlateIrrGasXTRdEdx : public G4VXTRdEdx
|
||||
{
|
||||
public:
|
||||
|
||||
G4PlateIrrGasXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
~G4PlateIrrGasXTRdEdx ();
|
||||
|
||||
// Pure virtual function from base class
|
||||
|
||||
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4PlateIrrGasXrayTRmodel.hh,v 1.3 2001/07/11 10:01:29 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -46,9 +46,9 @@
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
#include "G4VXrayTRadModel.hh"
|
||||
|
||||
class G4PlateIrrGasXrayTRmodel : public G4VXrayTRmodel
|
||||
class G4PlateIrrGasXrayTRmodel : public G4VXrayTRadModel
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4RegularXTRdEdx.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Model describing a radiator of X-ray transition radiation.
|
||||
// Thicknesses of plates and gas gaps are fixed.
|
||||
// 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:
|
||||
// 27.02.01 V. Grichine, first version
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4RegularXTRdEdx_h
|
||||
#define G4RegularXTRdEdx_h 1
|
||||
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
#include "G4VXTRdEdx.hh"
|
||||
|
||||
class G4RegularXTRdEdx : public G4VXTRdEdx
|
||||
{
|
||||
public:
|
||||
|
||||
G4RegularXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
~G4RegularXTRdEdx ();
|
||||
|
||||
// Pure virtual function from base class
|
||||
|
||||
G4double GetStackFactor( G4double energy, G4double gamma, G4double varAngle);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4RegularXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4RegularXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -46,9 +46,9 @@
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
// #include "G4ForwardXrayTR.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
#include "G4VXrayTRadModel.hh"
|
||||
|
||||
class G4RegularXrayTRmodel : public G4VXrayTRmodel
|
||||
class G4RegularXrayTRmodel : public G4VXrayTRadModel
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VClusterModel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VClusterModel.hh,v 1.4 2001/11/07 10:27:21 radoone Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -44,9 +44,9 @@
|
||||
#include "G4PAIonisation.hh"
|
||||
#include "G4VFastSimulationModel.hh"
|
||||
#include "G4Step.hh"
|
||||
#include "G4VTouchable.hh"
|
||||
#include "G4TouchableHistory.hh"
|
||||
#include <g4rw/tvordvec.h>
|
||||
#include "G4TouchableHandle.hh"
|
||||
#include "G4TouchableHistoryHandle.hh"
|
||||
#include "g4std/vector"
|
||||
|
||||
|
||||
class G4VClusterModel : public G4VFastSimulationModel
|
||||
@@ -78,12 +78,13 @@ protected:
|
||||
G4StepPoint* fFakePreStepPoint ;
|
||||
G4StepPoint* fFakePostStepPoint ;
|
||||
|
||||
G4VTouchable* fTouchable ;
|
||||
G4TouchableHandle fTouchable ;
|
||||
|
||||
G4Navigator* fNavigator ;
|
||||
G4bool fNavigatorSetup ;
|
||||
|
||||
G4RWTValOrderedVector<G4ThreeVector> fClusterPositionVector ;
|
||||
G4RWTValOrderedVector<G4double> fClusterEnergyVector ;
|
||||
G4std::vector<G4ThreeVector> fClusterPositionVector ;
|
||||
G4std::vector<G4double> fClusterEnergyVector ;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VXTRdEdx.hh,v 1.5 2001/09/18 09:02:00 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// base class for 'fast' parametrisation model describing X-ray transition
|
||||
// created in some G4Envelope. Anglur distribuiton is very rough !!! (see DoIt
|
||||
// method
|
||||
//
|
||||
// History:
|
||||
// 26.02.01 V. Grichine first version
|
||||
// 26.02.01 V. Grichine, DoIt was transformed from virtual
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4VXTRdEdx_h
|
||||
#define G4VXTRdEdx_h 1
|
||||
|
||||
|
||||
#include "globals.hh"
|
||||
#include "templates.hh"
|
||||
#include "g4std/complex"
|
||||
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4PhysicsLogVector.hh"
|
||||
#include "G4Gamma.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
|
||||
|
||||
class G4VXTRdEdx : public G4VXrayTRmodel
|
||||
{
|
||||
public:
|
||||
|
||||
G4VXTRdEdx (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
virtual ~G4VXTRdEdx ();
|
||||
|
||||
// Pure virtual functions from base class
|
||||
|
||||
void DoIt(const G4FastTrack&, G4FastStep&) ;
|
||||
|
||||
// Pure virtuals must be implemented in inherited particular TR radiators
|
||||
|
||||
virtual G4double GetStackFactor( G4double energy, G4double gamma,
|
||||
G4double varAngle ) = 0 ;
|
||||
|
||||
protected:
|
||||
|
||||
void BuildTable() ;
|
||||
void BuildEnergyTable() ;
|
||||
void BuildAngleTable() ;
|
||||
|
||||
G4complex OneInterfaceXTRdEdx( G4double energy,
|
||||
G4double gamma,
|
||||
G4double varAngle ) ;
|
||||
|
||||
G4double SpectralAngleXTRdEdx(G4double varAngle) ;
|
||||
|
||||
G4double SpectralXTRdEdx(G4double energy) ;
|
||||
|
||||
G4double AngleSpectralXTRdEdx(G4double energy) ;
|
||||
|
||||
G4double AngleXTRdEdx(G4double varAngle) ;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
//
|
||||
// ********************************************************************
|
||||
// * DISCLAIMER *
|
||||
// * *
|
||||
// * The following disclaimer summarizes all the specific disclaimers *
|
||||
// * of contributors to this software. The specific disclaimers,which *
|
||||
// * govern, are listed with their locations in: *
|
||||
// * http://cern.ch/geant4/license *
|
||||
// * *
|
||||
// * Neither the authors of this software system, nor their employing *
|
||||
// * institutes,nor the agencies providing financial support for this *
|
||||
// * work make any representation or warranty, express or implied, *
|
||||
// * regarding this software system or assume any liability for its *
|
||||
// * use. *
|
||||
// * *
|
||||
// * This code implementation is the intellectual property of the *
|
||||
// * GEANT4 collaboration. *
|
||||
// * By copying, distributing or modifying the Program (or any work *
|
||||
// * based on the Program) you indicate your acceptance of this *
|
||||
// * statement, and all its terms. *
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VXrayTRadModel.hh,v 1.2 2001/07/11 10:01:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// base class for 'fast' parametrisation model describing X-ray transition
|
||||
// created in some G4Envelope. Anglur distribuiton is very rough !!! (see DoIt
|
||||
// method
|
||||
//
|
||||
// History:
|
||||
// 26.02.01 V. Grichine first version
|
||||
// 26.02.01 V. Grichine, DoIt was transformed from virtual
|
||||
//
|
||||
|
||||
|
||||
#ifndef G4VXrayTRadModel_h
|
||||
#define G4VXrayTRadModel_h 1
|
||||
|
||||
|
||||
#include "globals.hh"
|
||||
#include "templates.hh"
|
||||
#include "g4std/complex"
|
||||
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4PhysicsLogVector.hh"
|
||||
#include "G4Gamma.hh"
|
||||
|
||||
#include "G4VXrayTRmodel.hh"
|
||||
|
||||
|
||||
class G4VXrayTRadModel : public G4VXrayTRmodel
|
||||
{
|
||||
public:
|
||||
|
||||
G4VXrayTRadModel (G4LogicalVolume *anEnvelope,G4double,G4double);
|
||||
virtual ~G4VXrayTRadModel ();
|
||||
|
||||
// Pure virtual functions from base class
|
||||
|
||||
void DoIt(const G4FastTrack&, G4FastStep&) ;
|
||||
|
||||
// Pure virtuals must be implemented in inherited particular TR radiators
|
||||
|
||||
virtual G4double GetStackFactor( G4double energy, G4double gamma,
|
||||
G4double varAngle ) = 0 ;
|
||||
|
||||
|
||||
void BuildTable() ;
|
||||
void BuildEnergyTable() ;
|
||||
void BuildAngleTable() ;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4VXrayTRmodel.hh,v 1.1.4.1 2001/06/28 19:10:34 gunter Exp $
|
||||
// GEANT4 tag $Name: $
|
||||
// $Id: G4VXrayTRmodel.hh,v 1.3 2001/07/11 10:01:30 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-04-00 $
|
||||
//
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
@@ -43,6 +43,8 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "templates.hh"
|
||||
#include "g4std/complex"
|
||||
|
||||
#include "G4PhysicsTable.hh"
|
||||
#include "G4PhysicsLogVector.hh"
|
||||
#include "G4Gamma.hh"
|
||||
@@ -66,7 +68,7 @@ public:
|
||||
|
||||
// Pure virtuals must be implemented in inherited particular TR radiators
|
||||
|
||||
void DoIt(const G4FastTrack&, G4FastStep&) ;
|
||||
virtual void DoIt(const G4FastTrack&, G4FastStep&) = 0 ;
|
||||
|
||||
virtual G4double GetStackFactor( G4double energy, G4double gamma,
|
||||
G4double varAngle ) = 0 ;
|
||||
@@ -75,9 +77,6 @@ public:
|
||||
G4double gamma,
|
||||
G4double varAngle ) const ;
|
||||
|
||||
void BuildTable() ;
|
||||
void BuildEnergyTable() ;
|
||||
void BuildAngleTable() ;
|
||||
|
||||
// for photon energy distribution tables
|
||||
|
||||
@@ -95,17 +94,19 @@ public:
|
||||
|
||||
// Auxiliary functions for plate/gas material parameters
|
||||
|
||||
G4double GetPlateFormationZone(G4double,G4double,G4double) ;
|
||||
void ComputePlatePhotoAbsCof() ;
|
||||
G4double GetPlateLinearPhotoAbs(G4double) ;
|
||||
void GetPlateZmuProduct() ;
|
||||
G4double GetPlateZmuProduct(G4double,G4double,G4double) ;
|
||||
G4double GetPlateFormationZone(G4double,G4double,G4double) ;
|
||||
G4complex GetPlateComplexFZ(G4double,G4double,G4double) ;
|
||||
void ComputePlatePhotoAbsCof() ;
|
||||
G4double GetPlateLinearPhotoAbs(G4double) ;
|
||||
void GetPlateZmuProduct() ;
|
||||
G4double GetPlateZmuProduct(G4double,G4double,G4double) ;
|
||||
|
||||
G4double GetGasFormationZone(G4double,G4double,G4double) ;
|
||||
void ComputeGasPhotoAbsCof() ;
|
||||
G4double GetGasLinearPhotoAbs(G4double) ;
|
||||
void GetGasZmuProduct() ;
|
||||
G4double GetGasZmuProduct(G4double,G4double,G4double) ;
|
||||
G4double GetGasFormationZone(G4double,G4double,G4double) ;
|
||||
G4complex GetGasComplexFZ(G4double,G4double,G4double) ;
|
||||
void ComputeGasPhotoAbsCof() ;
|
||||
G4double GetGasLinearPhotoAbs(G4double) ;
|
||||
void GetGasZmuProduct() ;
|
||||
G4double GetGasZmuProduct(G4double,G4double,G4double) ;
|
||||
|
||||
G4double GetXTRrandomEnergy( G4double scaledTkin, G4int iTkin ) ;
|
||||
G4double GetXTRenergy( G4int iPlace, G4double position, G4int iTransfer ) ;
|
||||
|
||||
Reference in New Issue
Block a user