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,46 @@
// 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: G4PPVParameterised.ddl,v 2.1 1998/11/10 18:29:54 morita Exp $
// GEANT4 tag $Name: geant4-00 $
//
// class G4PPVParameterised
//
// Persistent-capable class of G4PVParameterised
//
// History:
// 05.11.99 Y.Morita First non-stub version
#ifndef G4PPVPARAMETERISED_DDL
#define G4PPVPARAMETERISED_DDL 1
#include "G4PPVReplica.hh"
class G4PPVParameterised
: public G4PPVReplica
{
public:
G4PPVParameterised(G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVParameterised();
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
virtual G4int GetCopyNo() const;
protected:
virtual void SetCopyNo(G4int CopyNo);
private:
// ooRef(G4VPVParameterisation) fparam;
};
#endif
@@ -0,0 +1,46 @@
// 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: G4PPVPlacement.ddl,v 2.3 1998/11/10 18:29:53 morita Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// P-versieon of G4PVPlacement Takashi.Sasaki@kek.jp
#ifndef G4PPVPLACEMENT_DDL
#define G4PPVPLACEMENT_DDL 1
class G4VPhysicalVolume;
class G4LogicalVolume;
class G4PLogicalVolume;
#include "G4PVPhysicalVolume.hh"
class G4PPVPlacement : public G4PVPhysicalVolume
{
public:
G4PPVPlacement( G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVPlacement();
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
virtual G4bool IsMany() const;
virtual G4int GetCopyNo() const;
protected:
virtual void SetCopyNo(G4int CopyNo);
private:
G4bool fmany; // flag for booleans
// G4bool fallocatedRotM; // flag for allocation of Rotation Matrix
G4int fcopyNo; // for identification
};
#endif
@@ -0,0 +1,57 @@
// 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: G4PPVReplica.ddl,v 2.1 1998/11/10 18:29:54 morita Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4PPVReplica
//
// Persistent-capable class of G4PVReplica
//
// History:
// 05.11.99 Y.Morita First non-stub version
#ifndef G4PPVREPLICA_DDL
#define G4PPVREPLICA_DDL
#include "G4VPhysicalVolume.hh"
#include "G4RotationMatrix.hh"
#include "G4PVPhysicalVolume.hh"
class G4PPVReplica
: public G4PVPhysicalVolume
{
public:
G4PPVReplica( G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVReplica();
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
virtual G4bool IsMany() const;
virtual G4int GetCopyNo() const;
protected:
virtual void SetCopyNo(G4int CopyNo);
protected:
EAxis faxis;
G4int fnReplicas;
G4double fwidth,foffset;
G4int fcopyNo;
};
#endif
@@ -0,0 +1,89 @@
// 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: G4PVPhysicalVolume.ddl,v 2.5 1998/11/10 18:29:53 morita Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4PVPhysicalVolume
#ifndef G4PVPHYSICALVOLUME_DDL
#define G4PVPHYSICALVOLUME_DDL 1
#include "globals.hh"
#include "geomdefs.hh"
#include "G4PersistentTypes.hh"
#include "G4RotationMatrix.hh"
#include "G4ThreeVector.hh"
#include "HepODBMS/odbms/HepODBMS.h"
#include "HepODBMS/odbms/HepVArray.h"
class G4VPhysicalVolume;
class G4LogicalVolume;
//class G4VPVParameterisation;
// forward declaration and #pragma ooclassref is necessary in solving
// the circular dependency between G4PLogicalVolume and G4PVPhysicalVolume
class G4PLogicalVolume;
#pragma ooclassref G4PLogicalVolume "G4PLogicalVolume_ref.hh"
#ifndef OO_VARRAY_D_DOUBLE
declare(HepVArray,d_Double)
#endif
class G4PVPhysicalVolume: public HepPersObj
{
public:
G4PVPhysicalVolume();
G4PVPhysicalVolume( const G4VPhysicalVolume *PhysVol,
const HepRef(G4PLogicalVolume) persLogVol);
// Destructor
~G4PVPhysicalVolume();
//
void SetMother(const HepRef(G4PVPhysicalVolume) persMother);
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
// Access functions
G4PString GetName();
void SetName(const G4PString aName);
G4RotationMatrix* GetRotation();
G4ThreeVector& GetTranslation();
void SetRotation(const G4RotationMatrix* aRot);
void SetTranslation(G4ThreeVector atrans);
HepRef(G4PLogicalVolume) GetLogicalVolume();
// Define equality by equal addresses only.
G4bool operator == (const G4PVPhysicalVolume& p) const;
// Functions required of subclasses
virtual G4bool IsMany() const = 0;
virtual G4int GetCopyNo() const = 0;
virtual void SetCopyNo(G4int CopyNo) = 0;
protected:
HepVArray(d_Double) frot;
HepVArray(d_Double) ftrans;
G4ThreeVector ftransvector;
ooRef(G4PLogicalVolume) flogical;
G4PString fname; // name of the volume
ooRef(G4PVPhysicalVolume) fmother; // The current moher volume
};
#endif
@@ -0,0 +1,53 @@
// 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: G4PVSolid.ddl,v 2.0 1998/07/02 16:12:49 gunter Exp $
// GEANT4 tag $Name: geant4-00 $
//
//
// class G4PVSolid
//
// History:
// 19.06.98 A.Kimura Converted from G4VSolid.hh
// 20.06.98 A.Kimura Clean up
#ifndef G4PVSOLID_DDL
#define G4PVSOLID_DDL
#include "globals.hh"
#include "geomdefs.hh"
#include "G4PersistentTypes.hh"
#include "G4VSolid.hh"
#include "HepODBMS/odbms/HepODBMS.h"
class G4PVSolid;
class G4PVSolid : public HepPersObj {
public:
G4PVSolid(const G4String& name);
virtual ~G4PVSolid();
virtual G4VSolid* MakeTransientObject() const = 0;
G4bool operator==( const G4PVSolid& s) const
{
return (this==&s) ? true : false;
}
G4String GetName() const;
void SetName(const G4String& name);
virtual G4GeometryType GetEntityType() const = 0;
private:
G4PString fshapeName; // Name
};
#endif