Import Geant4 1.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:28:20 +02:00
parent aaa409b6ee
commit ca1c8cb059
2995 changed files with 106830 additions and 299600 deletions
+37 -17
View File
@@ -1,12 +1,12 @@
// This code implementation is the intellectual property of
// the RD44 GEANT4 collaboration.
// 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: G4OpticalSurface.hh,v 1.2 1999/04/14 12:49:00 maire Exp $
// GEANT4 tag $Name: geant4-00-01 $
// $Id: G4OpticalSurface.hh,v 1.4 1999/11/05 21:12:05 gum Exp $
// GEANT4 tag $Name: geant4-01-00 $
//
//
////////////////////////////////////////////////////////////////////////
@@ -18,6 +18,7 @@
// Version: 2.0
// Created: 1997-06-26
// Author: Peter Gumplinger
// Updated: 1999-10-29 add method and class descriptors
// mail: gum@triumf.ca
//
// Cvs version:
@@ -33,6 +34,12 @@
#include "globals.hh"
#include "templates.hh"
// Class Description:
// A optical surface class for use in the G4OpBoundaryProcess class.
// Contains the enumerations: G4OpticalSurfaceFinish, G4OpticalSurfaceType,
// and G4OpticalSurfaceModel.
// Class Description - End:
enum G4OpticalSurfaceFinish
{
polished, // smooth perfectly polished surface
@@ -64,7 +71,7 @@ class G4MaterialPropertiesTable;
class G4OpticalSurface
{
public:
public: // Without description
//////////////
// Operators
@@ -76,7 +83,7 @@ public:
G4int operator==(const G4OpticalSurface &right) const;
G4int operator!=(const G4OpticalSurface &right) const;
public:
public: // With description
////////////////////////////////
// Constructors and Destructor
@@ -87,6 +94,9 @@ public:
G4OpticalSurfaceFinish finish = polished,
G4OpticalSurfaceType type = dielectric_dielectric,
G4double value = 1.0);
// Constructor of an optical surface object.
public: // Without description
~G4OpticalSurface();
@@ -94,44 +104,54 @@ public:
// Methods
////////////
public:
// public methods
G4String GetName() const { return theName; };
void SetName(const G4String& name){theName = name;};
public: // With description
// set/get the surface type
G4String GetName() const { return theName; };
// Returns the optical surface name.
void SetName(const G4String& name){theName = name;};
// Sets the optical surface name.
G4OpticalSurfaceType GetType() const {return theType;};
// Returns the optical surface type.
void SetType(const G4OpticalSurfaceType type){theType = type;};
// set/get the surface finish
// Sets the optical surface type.
G4OpticalSurfaceFinish GetFinish() const {return theFinish;};
// Returns the optical surface finish.
void SetFinish(const G4OpticalSurfaceFinish finish)
{theFinish = finish;};
// set/get the surface model to be followed (glisur || unified)
// Sets the optical surface finish.
G4OpticalSurfaceModel GetModel() const {return theModel;};
// Returns the optical surface model used.
void SetModel(const G4OpticalSurfaceModel model)
{theModel = model;};
// Sets the optical surface model to be followed.
G4double GetSigmaAlpha() const {return sigma_alpha;};
// Returns an unified model surface parameter.
void SetSigmaAlpha(const G4double s_a)
{sigma_alpha = s_a;};
// Sets an unified model surface parameter.
G4double GetPolish() const {return polish;};
// Returns the optical surface polish type.
void SetPolish(const G4double plsh) {polish=plsh;};
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
{ theMaterialPropertiesTable = anMPT;};
// Sets the optical surface polish type.
G4MaterialPropertiesTable* GetMaterialPropertiesTable() const
{ return theMaterialPropertiesTable;};
// Retrieves the pointer of the G4MaterialPropertiesTable
// attached to optical surface.
void SetMaterialPropertiesTable(G4MaterialPropertiesTable *anMPT)
{ theMaterialPropertiesTable = anMPT;};
// Attaches a G4MaterialPropertiesTable to the optical surface.
void DumpInfo() const;
// Prints information about the optical surface.
private: