Import Geant4 9.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 15:37:50 +02:00
parent a8e9364cea
commit 96c8bcd0af
6923 changed files with 198390 additions and 41849 deletions
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizationHelper.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $
// tag $Name: geant4-09-00 $
// $Id: G4PolarizationHelper.hh,v 1.2 2007/11/01 17:30:25 schaelic Exp $
// tag $Name: geant4-09-01 $
//
// GEANT4 Class header file
//
@@ -37,19 +37,22 @@
//
// Class Description:
//
// Provides polarization some basic transformation routines.
// Provides some basic polarization transformation routines.
#ifndef G4PolarizationHelper_h
#define G4PolarizationHelper_h 1
#include "globals.hh"
#include "G4ThreeVector.hh"
#include "Randomize.hh"
class G4PolarizationHelper {
public:
static G4ThreeVector GetFrame(const G4ThreeVector &, const G4ThreeVector &);
static G4ThreeVector GetParticleFrameX(const G4ThreeVector &);
static G4ThreeVector GetParticleFrameY(const G4ThreeVector &);
static G4ThreeVector GetRandomFrame(const G4ThreeVector &);
static G4ThreeVector GetSpinInPRF(const G4ThreeVector &uZ,const G4ThreeVector &spin);
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizationManager.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $
// tag $Name: geant4-09-00 $
// tag $Name: geant4-09-01 $
//
// GEANT4 Class header file
//
@@ -26,7 +26,7 @@
// -------------------------------------------------------------------
//
// $Id: G4PolarizationMessenger.hh,v 1.2 2006/12/13 15:44:33 gunter Exp $
// tag $Name: geant4-09-00 $
// tag $Name: geant4-09-01 $
//
// GEANT4 Class header file
//
@@ -24,8 +24,8 @@
// ********************************************************************
//
// -------------------------------------------------------------------
// $Id: G4PolarizedAnnihilationCrossSection.hh,v 1.3 2006/11/20 12:21:25 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PolarizedAnnihilationCrossSection.hh,v 1.4 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
// -------------------------------------------------------------------
//
// GEANT4 Class file
@@ -38,13 +38,14 @@
// Creation date: 22.03.2006
//
// Modifications:
// 15.10.07 introduced a more general framework for cross sections
//
// Class Description:
// * calculates the differential cross section (ME squared,
// without phase space) incomming positron (along positive z direction)
// without phase space) incoming positron (along positive z direction)
// annihilations with an electron at rest
// * phi denotes the angle between the scattering plane and
// X axis of incomint partice reference frame (PRF)
// X axis of incoming partice reference frame (PRF)
//
#ifndef G4PolarizedAnnihilationCrossSection_h
#define G4PolarizedAnnihilationCrossSection_h 1
@@ -74,6 +75,9 @@ public:
G4StokesVector GetPol2();
G4StokesVector GetPol3();
virtual G4double GetXmin(G4double y); // minimal energy fraction in TotalXSection
virtual G4double GetXmax(G4double y); // maximal energy fraction in TotalXSection
G4double getVar(G4int );
// test routine
void getCoeff();
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedAnnihilationModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PolarizedAnnihilationModel.hh,v 1.3 2007/07/10 09:38:17 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -39,7 +39,9 @@
//
// Modifications:
// 18-07-06 use newly calculated cross sections (P. Starovoitov)
// 21-08-05 update interface to geant4.8.1 (A. Schaelicke)
// 21-08-06 update interface to geant4.8.1 (A. Schaelicke)
// 10-07-07 copied Initialise() method from G4eeToTwoGammaModel to provide a
// ParticleChangeForGamma object (A. Schaelicke)
//
//
// Class Description:
@@ -69,6 +71,8 @@ public:
virtual ~G4PolarizedAnnihilationModel();
virtual void Initialise(const G4ParticleDefinition*,
const G4DataVector&);
virtual G4double ComputeCrossSectionPerElectron(
const G4ParticleDefinition*,
G4double kinEnergy,
@@ -107,6 +111,9 @@ private:
G4StokesVector finalGamma2Polarization;
G4int verboseLevel;
G4ParticleChangeForGamma* gParticleChange;
G4bool gIsInitialised;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizedBhabhaCrossSection.hh,v 1.2 2006/11/17 14:14:17 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedBremsstrahlungCrossSection.hh,v 1.2 2006/11/17 12:12:01 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PolarizedBremsstrahlungCrossSection.hh,v 1.3 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
@@ -36,6 +36,7 @@
// Creation date: 15.05.2005
//
// Modifications:
// 15.10.07 introduced a more general framework for cross sections (AS)
//
// Class Description:
// determine the polarization of the final state
@@ -47,14 +48,14 @@
#include "G4StokesVector.hh"
#include "G4VPolarizedCrossSection.hh"
#include "G4RotationMatrix.hh"
class G4ePolarizedBremsstrahlungModel;
class G4PolarizedBremsstrahlungCrossSection : public G4VPolarizedCrossSection
{
public:
G4PolarizedBremsstrahlungCrossSection(G4ePolarizedBremsstrahlungModel * model);
G4PolarizedBremsstrahlungCrossSection();
virtual void Initialize(G4double eps, G4double X, G4double phi,
const G4StokesVector & p0,
const G4StokesVector & p1,
@@ -66,8 +67,6 @@ class G4PolarizedBremsstrahlungCrossSection : public G4VPolarizedCrossSection
G4StokesVector GetPol2(); // electron/positron
G4StokesVector GetPol3(); // photon
private:
G4ePolarizedBremsstrahlungModel * theModel;
G4StokesVector theFinalLeptonPolarization;
G4StokesVector theFinalGammaPolarization;
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedComptonCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PolarizedComptonCrossSection.hh,v 1.3 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
@@ -37,7 +37,8 @@
//
// Modifications:
// 18-07-06 use newly calculated cross sections (P. Starovoitov)
// 21-08-05 update interface to geant4.8.1 (A. Schaelicke)
// 21-08-06 update interface to geant4.8.1 (A. Schaelicke)
// 15-10-07 introduced a more general framework for cross sections (AS)
//
//
// Class Description:
@@ -51,7 +52,7 @@
#include "G4StokesVector.hh"
#include "G4VPolarizedCrossSection.hh"
#include "G4RotationMatrix.hh"
class G4PolarizedComptonCrossSection : public G4VPolarizedCrossSection
@@ -77,6 +78,9 @@ public:
// the calculation has to be initialised by calling Initialize()
// prior to the first call of this function (see above)
G4double XSection(const G4StokesVector & pol2,const G4StokesVector & pol3);
// total cross section
G4double TotalXSection(G4double xmin, G4double xmax, G4double y,
const G4StokesVector & pol0,const G4StokesVector & pol1);
public:
// return expected mean polarisation
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizedComptonModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -25,7 +25,7 @@
//
//
// $Id: G4PolarizedGammaConversion.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizedGammaConversionModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizedMollerBhabhaModel.hh,v 1.3 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
// -------------------------------------------------------------------
//
// GEANT4 Class header file
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4PolarizedMollerCrossSection.hh,v 1.3 2006/12/13 15:44:36 gunter Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
@@ -0,0 +1,73 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedPEEffectCrossSection.hh,v 1.1 2007/11/01 17:29:09 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
//
// File name: G4PolarizedPEEffectCrossSection
//
// Author: Andreas Schaelicke
//
// Creation date: 15.03.2007
//
// Modifications:
//
//
// Class Description:
//
#ifndef G4PolarizedPEEffectCrossSection_h
#define G4PolarizedPEEffectCrossSection_h 1
#include "G4StokesVector.hh"
#include "G4VPolarizedCrossSection.hh"
//#include "RotationMatrix.hh"
class G4PolarizedPEEffectCrossSection : public G4VPolarizedCrossSection
{
public:
G4PolarizedPEEffectCrossSection();
virtual ~G4PolarizedPEEffectCrossSection();
public:
virtual void Initialize(G4double aGammaE, G4double aLept0E, G4double sintheta,
const G4StokesVector & beamPol,
const G4StokesVector & ,
G4int flag=0);
G4double XSection(const G4StokesVector & pol2,const G4StokesVector & pol3);
public:
// return expected mean polarisation
G4StokesVector GetPol2();
G4StokesVector GetPol3();
private:
G4StokesVector theFinalElectronPolarization;
};
#endif
@@ -0,0 +1,109 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedPEEffectModel.hh,v 1.1 2007/11/01 17:29:09 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
// GEANT4 Class header file
//
//
// File name: G4PolarizedPEEffectModel
//
// Author: Andreas Schaelicke & Karim Laihem
//
// Creation date: 22.02.2007
//
// Modifications:
// 02.08.2007 : adapt to design change in version 4.9 (AS)
//
//
// Class Description:
//
// Implementation of polarization transfer in Photoelectric Effect
//
// -------------------------------------------------------------------
//
#ifdef NOIONIZATIONAS
#define G4PolarizedPEEffectModel_h 1
#endif
#ifndef G4PolarizedPEEffectModel_h
#define G4PolarizedPEEffectModel_h 1
#include "G4PEEffectModel.hh"
#include "G4StokesVector.hh"
class G4PolarizedPEEffectCrossSection;
class G4PolarizedPEEffectModel : public G4PEEffectModel
{
public:
G4PolarizedPEEffectModel(const G4ParticleDefinition* p = 0,
const G4String& nam = "Polarized-PhotoElectric");
void Initialise(const G4ParticleDefinition* pd, const G4DataVector& dv);
virtual ~G4PolarizedPEEffectModel();
virtual void SampleSecondaries(std::vector<G4DynamicParticle*>*,
const G4MaterialCutsCouple*,
const G4DynamicParticle*,
G4double tmin,
G4double maxEnergy);
// polarized routines
/*
inline void SetTargetPolarization(const G4ThreeVector & pTarget);
inline void SetBeamPolarization(const G4ThreeVector & pBeam);
inline const G4ThreeVector & GetTargetPolarization() const;
inline const G4ThreeVector & GetBeamPolarization() const;
inline const G4ThreeVector & GetFinalGammaPolarization() const;
inline const G4ThreeVector & GetFinalElectronPolarization() const;
*/
private:
// hide assignment operator
G4PolarizedPEEffectModel & operator=(const G4PolarizedPEEffectModel &right);
G4PolarizedPEEffectModel(const G4PolarizedPEEffectModel&);
G4PolarizedPEEffectCrossSection * crossSectionCalculator;
// incomming
G4StokesVector theBeamPolarization; // photon
// outgoing
G4StokesVector finalElectronPolarization;
G4int verboseLevel;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
#endif
@@ -23,19 +23,21 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4PolarizedPairProductionCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4PolarizedPairProductionCrossSection.hh,v 1.3 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class file
//
//
// File name: G4PolarizedBremsstrahlungCrossSection
// File name: G4PolarizedPairProductionCrossSection
//
// Author: Karim Laihem
//
// Creation date: 15.05.2005
// 20-08-06 updated interface to geant4.8.1 (A.Schaelicke)
//
// Modifications:
// 20-08-06 updated interface to geant4.8.1 (A.Schaelicke)
// 15-10-07 introduced a more general framework for cross sections (AS)
//
// Class Description:
// determine the polarization of the final state
@@ -47,14 +49,12 @@
#include "G4StokesVector.hh"
#include "G4VPolarizedCrossSection.hh"
#include "G4RotationMatrix.hh"
class G4PolarizedGammaConversionModel;
class G4PolarizedPairProductionCrossSection : public G4VPolarizedCrossSection
{
public:
G4PolarizedPairProductionCrossSection(G4PolarizedGammaConversionModel * model);
G4PolarizedPairProductionCrossSection();
virtual void Initialize(G4double eps, G4double X, G4double phi,
const G4StokesVector & p0,
const G4StokesVector & p1,
@@ -66,8 +66,6 @@ class G4PolarizedPairProductionCrossSection : public G4VPolarizedCrossSection
G4StokesVector GetPol2(); // electron/positron
G4StokesVector GetPol3(); // photon
private:
G4PolarizedGammaConversionModel * theModel;
G4StokesVector theFinalElectronPolarization;
G4StokesVector theFinalPositronPolarization;
@@ -0,0 +1,123 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * 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. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4PolarizedPhotoElectricEffect.hh,v 1.1 2007/11/01 17:29:09 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
//
//------------------ G4PolarizedPhotoElectricEffect physics process ------------------
// by Michel Maire, 24 May 1996
//
// 12-06-96, Added SelectRandomAtom() method and new data member
// for cumulative total cross section, by M.Maire
// 21-06-96, SetCuts implementation, M.Maire
// 17-09-96, Dynamic array PartialSumSigma
// split ComputeBindingEnergy(), M.Maire
// 08-01-97, crossection table + meanfreepath table, M.Maire
// 13-03-97, adapted for the new physics scheme, M.Maire
// 13-08-98, new methods SetBining() PrintInfo()
// 17-11-98, use table of atomic shells in PostStepDoIt, mma
// 06-01-99, Sandia crossSection below 50 keV, V.Grichine mma
// 03-08-01, new methods Store/Retrieve PhysicsTable (mma)
// 06-08-01, BuildThePhysicsTable() called from constructor (mma)
// 19-09-01, come back to previous process name "phot"
// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma)
// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&)
// 10-01-02, moved few function from icc to cc
// 17-04-02, Keep only Sandia crossSections. Remove BuildPhysicsTables.
// Simplify public interface (mma)
// 29-04-02, Generate theta angle of the photoelectron from Sauter-Gavrila
// distribution (mma)
// 13-08-04, suppress icc file; make public ComputeCrossSectionPerAtom() (mma)
// 21-04-05, Redesign - use G4VEmProcess interface (V.Ivanchenko)
// 02-05-05, move ParticleChange actions in model (mma)
// 04-05-05, Make class to be default (V.Ivanchenko)
// 09-08-06, add SetModel(G4VEmModel*) (mma)
// 12-09-06, move SetModel(G4VEmModel*) in G4VEmProcess (mma)
// -----------------------------------------------------------------------------
// class description
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#ifdef NOIONIZATIONAS
#define G4PolarizedPhotoElectricEffect_h 1
#endif
#ifndef G4PolarizedPhotoElectricEffect_h
#define G4PolarizedPhotoElectricEffect_h 1
#include "globals.hh"
#include "G4VEmProcess.hh"
#include "G4Gamma.hh"
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
class G4ParticleDefinition;
class G4VEmModel;
class G4MaterialCutsCouple;
class G4DynamicParticle;
class G4PolarizedPhotoElectricEffect : public G4VEmProcess
{
public: // with description
G4PolarizedPhotoElectricEffect(const G4String& processName ="pol-phot",
G4ProcessType type = fElectromagnetic);
virtual ~G4PolarizedPhotoElectricEffect();
// true for Gamma only.
G4bool IsApplicable(const G4ParticleDefinition&);
// Print few lines of informations about the process: validity range,
void PrintInfo();
protected:
void InitialiseProcess(const G4ParticleDefinition*);
private:
G4bool isInitialised;
};
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
inline
G4bool G4PolarizedPhotoElectricEffect::IsApplicable(const G4ParticleDefinition& p)
{
return (&p == G4Gamma::Gamma());
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
#endif
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4StokesVector.hh,v 1.3 2006/11/17 11:59:03 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4StokesVector.hh,v 1.4 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// GEANT4 Class header file
//
@@ -46,7 +46,7 @@
// aim:
// - store three components of a stokesvector
// - distinguish between boson or fermion state (different transformations)
// - provide unique definition of reference frame (cf. PolarizationHelper)
// - provide unique definition of reference frame (cf. G4PolarizationHelper)
//
#ifndef G4StokesVector_h
@@ -23,8 +23,8 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: G4VPolarizedCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// $Id: G4VPolarizedCrossSection.hh,v 1.4 2007/11/01 17:32:34 schaelic Exp $
// GEANT4 tag $Name: geant4-09-01 $
//
// File name: G4VPolarizedCrossSection
//
@@ -53,6 +53,7 @@ class G4VPolarizedCrossSection
public:
G4VPolarizedCrossSection();
virtual ~G4VPolarizedCrossSection();
public:
virtual void Initialize(G4double, G4double, G4double,
const G4StokesVector & p0,const G4StokesVector & p1,
@@ -66,14 +67,31 @@ public:
virtual G4StokesVector GetPol2();
virtual G4StokesVector GetPol3();
// return basic kinematics properties
// minimal gamma value in TotalXSection
inline G4double GetYmin() {return fYmin; }
// minimal energy fraction in TotalXSection
virtual G4double GetXmin(G4double y);
// maximal energy fraction in TotalXSection
virtual G4double GetXmax(G4double y);
// return appropriate distribute polarisation states;
void DicePolarization();
G4StokesVector DicedPol2();
G4StokesVector DicedPol3();
// void DicePolarization();
// G4StokesVector DicedPol2();
// G4StokesVector DicedPol3();
inline void SetMaterial(G4double A, G4double Z, G4double coul)
{ theA=A; theZ=Z; fCoul=coul; }
protected:
// G4double costheta;
G4StokesVector pol0, pol1;
G4StokesVector pol2, pol3;
// define kinematics properties
inline void SetXmin(G4double xmin) { fXmin=xmin;}
inline void SetXmax(G4double xmax) { fXmax=xmax;}
inline void SetYmin(G4double ymin) { fYmin=ymin;}
// kinematic properties
G4double fXmin, fXmax, fYmin;
// material properties
G4double theA, theZ;
G4double fCoul;
};
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4ePolarizedBremsstrahlung.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4ePolarizedBremsstrahlungModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4ePolarizedIonisation.hh,v 1.3 2007/06/11 13:37:56 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
// -------------------------------------------------------------------
//
// GEANT4 Class header file
@@ -24,7 +24,7 @@
// ********************************************************************
//
// $Id: G4eplusPolarizedAnnihilation.hh,v 1.3 2007/06/11 13:37:56 vnivanch Exp $
// GEANT4 tag $Name: geant4-09-00 $
// GEANT4 tag $Name: geant4-09-01 $
//
// -------------------------------------------------------------------
//