Import Geant4 0.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-01 15:25:35 +02:00
parent 54d6b71f95
commit b97f8d0df7
3237 changed files with 807095 additions and 0 deletions
@@ -0,0 +1,39 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PBox.ddl,v 2.0 1998/07/02 16:12:56 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PBox
//
// History:
// 19.06.98 A.Kimura Converted from G4Box.hh
#ifndef G4PBOX_DDL
#define G4PBOX_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Box;
class G4PBox : public G4PCSGSolid {
public:
G4PBox(const G4Box* theBox);
virtual ~G4PBox();
G4VSolid* MakeTransientObject() const;
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const { return G4String("G4Box"); }
private:
G4double fDx,fDy,fDz;
};
#endif
@@ -0,0 +1,29 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PCSGSolid.ddl,v 2.0 1998/07/02 16:13:00 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4CSGSolid
//
// History:
// 19.06.98 A.Kimura Converted G4CSGSolid.hh
#ifndef G4PCSGSOLID_DDL
#define G4PCSGSOLID_DDL
#include "G4PVSolid.hh"
class G4PCSGSolid : public G4PVSolid {
public:
G4PCSGSolid(const G4String& pName);
virtual ~G4PCSGSolid();
};
#endif
@@ -0,0 +1,42 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PCons.ddl,v 2.0 1998/07/02 16:12:58 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4Cons
//
// History:
// 19.06.98 A.Kimura Converted G4Cons.hh
#ifndef G4PCons_DDL
#define G4PCons_DDL
#include "G4PCSGSolid.hh"
class G4Cons;
class G4VSolid;
class G4PCons : public G4PCSGSolid {
public:
G4PCons(const G4Cons* theCons);
virtual ~G4PCons() ;
G4VSolid* MakeTransientObject() const;
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const {return G4String("G4Cons");}
private:
G4double fRmin1, fRmin2,
fRmax1, fRmax2,
fDz,
fSPhi, fDPhi;
};
#endif
@@ -0,0 +1,95 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PHype.ddl,v 2.1 1998/07/12 03:01:24 urbi Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PHype
//
// History:
// 19.06.98 A.Kimura Converted G4Hype.hh
#ifndef G4PHYPE_DDL
#define G4PHYPE_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Hype;
class G4PHype : public G4PCSGSolid {
public:
G4PHype(const G4Hype* theHype);
virtual ~G4PHype();
G4VSolid* MakeTransientObject() const;
virtual G4GeometryType GetEntityType() const {return G4String("G4Hype");}
protected:
// values of hype radius at a given Z
G4double HypeInnerRadius2(double zVal) const {
return (tanInnerStereo2*zVal*zVal+innerRadius2);
}
G4double HypeOuterRadius2(double zVal) const {
return (tanOuterStereo2*zVal*zVal+outerRadius2);
}
G4double innerRadius; // variable names are quite self explanative
G4double outerRadius;
G4double halfLenZ;
G4double innerStereo;
G4double outerStereo;
// precalculated parameters, squared quantities
G4double tanInnerStereo2; // squared tan of Inner Stereo angle
G4double tanOuterStereo2; // squared tan of Outer Stereo angle
G4double innerRadius2; // squared Inner Radius
G4double outerRadius2; // squared Outer Radius
G4double endInnerRadius2; // squared endcap Inner Radius
G4double endOuterRadius2; // squared endcap Outer Radius
G4double endInnerRadius; // endcap Inner Radius
G4double endOuterRadius; // endcap Outer Radius
};
#endif
@@ -0,0 +1,56 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PPara.ddl,v 2.0 1998/07/02 16:13:04 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PPara
//
// History:
// 19.06.98 A.Kimura Converted G4Para.hh
#ifndef G4PPara_DDL
#define G4PPara_DDL
#include "G4PCSGSolid.hh"
class G4Para;
class G4VSolid;
#include "G4ThreeVector.hh"
#include <rw/tvordvec.h>
typedef RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
class G4PPara : public G4PCSGSolid {
public:
G4PPara(const G4Para* thePara);
virtual ~G4PPara() ;
// Access functions
G4VSolid* MakeTransientObject() const ;
// Get functions
G4ThreeVector GetSymAxis() const {
G4double cosTheta
= 1.0/sqrt(1+fTthetaCphi*fTthetaCphi+fTthetaSphi*fTthetaSphi) ;
return G4ThreeVector(fTthetaCphi*cosTheta,fTthetaSphi*cosTheta,cosTheta) ;
}
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const {return G4String("G4Para");}
private:
G4double fDx,fDy,fDz;
G4double fTalpha,fTthetaCphi,fTthetaSphi;
};
#endif
@@ -0,0 +1,47 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PSphere.ddl,v 2.0 1998/07/02 16:13:06 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PSphere
//
// History:
// 19.06.98 A.Kimura Converted G4Sphere.hh
#ifndef G4PSphere_DDL
#define G4PSphere_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Sphere;
#include "G4ThreeVector.hh"
#include <rw/tvordvec.h>
typedef RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
class G4PSphere : public G4PCSGSolid {
public:
G4PSphere(const G4Sphere* theSphere);
virtual ~G4PSphere() ;
G4VSolid* MakeTransientObject() const;
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const {return G4String("G4Sphere");}
private:
G4double fRmin,fRmax,
fSPhi,fDPhi,
fSTheta,fDTheta;
};
#endif
@@ -0,0 +1,45 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PTorus.ddl,v 2.0 1998/07/02 16:13:09 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4PTorus
//
// History:
// 19.06.98 A.Kimura Converted G4Torus.hh
#ifndef G4PTorus_DDL
#define G4PTorus_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Torus;
class G4PTorus : public G4PCSGSolid {
public:
G4PTorus(const G4Torus* theTorus);
virtual ~G4PTorus();
G4VSolid* MakeTransientObject() const;
void SetAllParameters(G4double pRmin, G4double pRmax, G4double pRtor,
G4double pSPhi, G4double pDPhi);
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const {return G4String("G4Torus");}
protected:
G4double fRmin,fRmax,fRtor,fSPhi,fDPhi;
};
#endif
@@ -0,0 +1,81 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PTrap.ddl,v 2.0 1998/07/02 16:13:07 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PTrap
//
// History:
// 19.06.98 A.Kimura Converted G4Trap.hh
#ifndef G4PTrap_DDL
#define G4PTrap_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Trap;
#include "G4ThreeVector.hh"
#include <rw/tvordvec.h>
typedef RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
struct PTrapSidePlane
{
G4double a,b,c,d; // Normal unit vector (a,b,c) and offset (d)
// => Ax+By+Cz+D=0
};
class G4PTrap : public G4PCSGSolid {
public:
// The most general constructor for G4Trap
G4PTrap(const G4Trap* theTrap);
virtual ~G4PTrap() ;
// Access functions
G4VSolid* MakeTransientObject() const;
void SetAllParameters ( G4double pDz,
G4double pTheta,
G4double pPhi,
G4double pDy1,
G4double pDx1,
G4double pDx2,
G4double pAlp1,
G4double pDy2,
G4double pDx3,
G4double pDx4,
G4double pAlp2);
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const { return G4String("G4Trap"); }
protected:
G4bool MakePlanes();
G4bool MakePlane( const G4ThreeVector& p1,
const G4ThreeVector& p2,
const G4ThreeVector& p3,
const G4ThreeVector& p4,
PTrapSidePlane& plane ) ;
private:
G4double fDz,fTthetaCphi,fTthetaSphi;
G4double fDy1,fDx1,fDx2,fTalpha1;
G4double fDy2,fDx3,fDx4,fTalpha2;
PTrapSidePlane fPlanes[4];
};
#endif
// **************************** End of G4Trap.hh *****************************************
@@ -0,0 +1,49 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PTrd.ddl,v 2.0 1998/07/02 16:13:10 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PTrd
//
// History:
// 19.06.98 A.Kimura Converted G4Trd.hh
#ifndef G4PTRD_DDL
#define G4PTRD_DDL
#include "G4PCSGSolid.hh"
class G4Trd;
class G4VSolid;
class G4PTrd : public G4PCSGSolid {
public:
G4PTrd(const G4Trd* theTrd);
virtual ~G4PTrd();
G4VSolid* MakeTransientObject() const;
// Naming method (pseudo-RTTI : run-time type identification
virtual G4GeometryType GetEntityType() const {return G4String("G4Trd");}
void CheckAndSetAllParameters (G4double pdx1, G4double pdx2,
G4double pdy1, G4double pdy2,
G4double pdz);
protected:
G4double fDx1,fDx2,fDy1,fDy2,fDz;
};
#endif
@@ -0,0 +1,41 @@
// This code implementation is the intellectual property of
// the RD44 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: G4PTubs.ddl,v 2.0 1998/07/02 16:13:11 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4PTubs
//
// History:
// 19.06.98 A.Kimura Converted G4Tubs.hh
#ifndef G4PTUBS_DDL
#define G4PTUBS_DDL
#include "G4PCSGSolid.hh"
class G4VSolid;
class G4Tubs;
class G4PTubs : public G4PCSGSolid {
public:
G4PTubs(const G4Tubs* theTubs);
virtual ~G4PTubs();
G4VSolid* MakeTransientObject() const;
// Naming method (pseudo-RTTI : run-time type identification)
virtual G4GeometryType GetEntityType() const { return G4String("G4Tubs"); }
protected:
G4double fRMin,fRMax,fDz,fSPhi,fDPhi;
};
#endif