Import Geant4 4.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:18:25 +02:00
parent 36c080dca6
commit 921d3b1cda
3990 changed files with 185376 additions and 82884 deletions
@@ -1,76 +0,0 @@
//
// ********************************************************************
// * 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: G4LogVolRefArray.hh,v 1.1.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
//
// class description:
//
// This is a class which implements G4RWTPtrVector with
// G4LogicalVolume.
//
// History:
// 00.11.17 Y.Morita Initial version
#ifndef G4LogVolRefArray_hh
#define G4LogVolRefArray_hh 1
#include "g4rw/tpvector.h"
#include "globals.hh"
#include "G4LogicalVolume.hh"
typedef G4RWTPtrVector<G4LogicalVolume> G4LogVolRefVArray;
class G4LogVolRefArray
{
public: // with description
G4LogVolRefArray();
~G4LogVolRefArray();
// The constructor and the destructor.
private:
G4LogVolRefVArray transLogVolPtrs;
public: // with description
inline void Insert(G4int i, G4LogicalVolume* aVol)
{ transLogVolPtrs[i] = aVol; }
// Insert aVol as i-th element.
inline G4LogicalVolume* Get(G4int i)
{ return transLogVolPtrs[i]; }
// return the i-th element.
inline void Resize(size_t n)
{ transLogVolPtrs.resize(n); }
// Resize the vector with n.
};
G4LogVolRefArray::G4LogVolRefArray()
{;}
G4LogVolRefArray::~G4LogVolRefArray()
{;}
#endif
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PGeometryObjectMap.ddl,v 1.7.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PGeometryObjectMap.ddl,v 1.9 2001/07/11 10:02:18 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// class description:
@@ -53,6 +53,8 @@
#include "G4Pglobals.hh"
#include "g4std/vector"
#include "G4VPhysicalVolume.hh"
#include "G4LogicalVolume.hh"
#include "G4VSolid.hh"
@@ -67,9 +69,13 @@ class G4PLogicalVolume;
class G4PVSolid;
#pragma ooclassref G4PVSolid "G4PVSolid_ref.hh"
class G4VPhysVolRefArray;
class G4LogVolRefArray;
class G4VSolidRefArray;
typedef G4std::vector<G4LogicalVolume*> G4LogVolRefArray;
typedef G4std::vector<G4VPhysicalVolume*> G4VPhysVolRefArray;
typedef G4std::vector<G4VSolid*> G4VSolidRefArray;
typedef G4std::vector<G4LogicalVolume*>::iterator G4LogVolRefArrayItr;
typedef G4std::vector<G4VPhysicalVolume*>::iterator G4VPhysVolRefArrayItr;
typedef G4std::vector<G4VSolid*>::iterator G4VSolidRefArrayItr;
typedef d_Varray< d_Ref<G4PVPhysicalVolume> > G4PVPhysVolRefVArray;
typedef d_Varray< d_Ref<G4PLogicalVolume> > G4PLogVolRefVArray;
@@ -21,13 +21,12 @@
// ********************************************************************
//
//
// $Id: G4PLogicalVolume.ddl,v 1.9.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PLogicalVolume
// P-verson of the class G4LogicalVolume
// Takashi.Sasaki@kek.jp
// $Id: G4PLogicalVolume.ddl,v 1.11 2001/07/11 10:02:18 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
// Persistent version of the class G4LogicalVolume.
#ifndef G4PLOGICALVOLUME_DDL
#define G4PLOGICALVOLUME_DDL 1
@@ -51,25 +50,29 @@ typedef d_Varray< d_Ref<G4PVPhysicalVolume> > G4PVPhysVolRefVArray;
class G4PLogicalVolume: public HepPersObj
{
public:
public: // With description
G4PLogicalVolume( const G4LogicalVolume* aLogicalVolume,
HepRef(G4PVSolid) persSolid);
~G4PLogicalVolume();
// Constructor and Destructor
G4LogicalVolume* MakeTransientObject(G4VSolid* aSolid,
G4Material* aMaterial);
// Creates a transient G4LogicalVolume object.
HepRef(G4PVSolid) GetSolid();
void SetSolid( HepRef(G4PVSolid) pSolid );
// Get or set the pointer of persistent solid object.
public:
public: // With description
G4int GetNoDaughters() const;
HepRef(G4PVPhysicalVolume) GetDaughter(const G4int i) const;
void AddDaughter(HepRef(G4PVPhysicalVolume) p);
G4bool IsDaughter(const HepRef(G4PVPhysicalVolume) p) const;
void RemoveDaughter(const HepRef(G4PVPhysicalVolume) p);
// Methods to handle association of persistent physical volume.
private:
private:
G4PVPhysVolRefVArray fDaughters;
// G4MagneticField* fMagneticField;
// G4Material* fMaterial;
@@ -85,11 +88,13 @@ private:
G4Pint NoOfDaughters;
public:
public: // With description
inline void SetMaterialName(G4String aName)
{ fMaterialName = aName; }
inline G4String GetMaterialName()
{ return (G4String) fMaterialName; }
// Set and Get methods for the associated material name.
};
#endif
@@ -21,13 +21,12 @@
// ********************************************************************
//
//
// $Id: G4PPVParameterised.ddl,v 1.4.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4PPVParameterised
//
// Persistent-capable class of G4PVParameterised
//
// $Id: G4PPVParameterised.ddl,v 1.6 2001/07/11 10:02:18 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
// Persistent version of G4PVParameterised.
// History:
// 05.11.99 Y.Morita First non-stub version
@@ -40,17 +39,18 @@
class G4PPVParameterised
: public G4PPVReplica
{
public:
G4PPVParameterised(G4VPhysicalVolume *PhysVol,
public: // With description
G4PPVParameterised(G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVParameterised();
// Constructor and Destructor
~G4PPVParameterised();
G4VPhysicalVolume* MakeTransientObject(
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
// Creates a transient physical volume object.
private:
private:
// d_Ref<G4VPVParameterisation> fparam;
};
@@ -21,11 +21,12 @@
// ********************************************************************
//
//
// $Id: G4PPVPlacement.ddl,v 1.4.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// P-versieon of G4PVPlacement Takashi.Sasaki@kek.jp
// $Id: G4PPVPlacement.ddl,v 1.6 2001/07/11 10:02:18 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
// Persistent version of G4PVPlacement.
#ifndef G4PPVPLACEMENT_DDL
#define G4PPVPLACEMENT_DDL 1
@@ -40,18 +41,20 @@ class G4PLogicalVolume;
class G4PPVPlacement : public G4PVPhysicalVolume
{
public:
public: // With description
G4PPVPlacement( G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVPlacement();
// Constructor and Destructor
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
// Make a transient G4PVPlacement object.
virtual G4bool IsMany() const;
virtual G4int GetCopyNo() const;
// Returns the multiplicity of the volume.
protected:
virtual void SetCopyNo(G4int CopyNo);
@@ -21,14 +21,12 @@
// ********************************************************************
//
//
// $Id: G4PPVReplica.ddl,v 1.5.4.1 2001/06/28 19:11:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PPVReplica
//
// $Id: G4PPVReplica.ddl,v 1.7 2001/07/11 10:02:19 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
// Persistent-capable class of G4PVReplica
//
// History:
// 05.11.99 Y.Morita First non-stub version
@@ -47,18 +45,20 @@
class G4PPVReplica
: public G4PVPhysicalVolume
{
public:
public: // With description
G4PPVReplica( G4VPhysicalVolume *PhysVol,
HepRef(G4PLogicalVolume) persLogVol);
~G4PPVReplica();
// Constructor and Destructor
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
// Creates a transient G4PVReplica object.
virtual G4bool IsMany() const;
virtual G4int GetCopyNo() const;
// Returns the multiplicity of the volume.
protected:
virtual void SetCopyNo(G4int CopyNo);
@@ -21,11 +21,11 @@
// ********************************************************************
//
//
// $Id: G4PVPhysicalVolume.ddl,v 1.5.4.1 2001/06/28 19:11:28 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PVPhysicalVolume
// $Id: G4PVPhysicalVolume.ddl,v 1.7 2001/07/11 10:02:19 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
// Class Description:
// Persistent version of G4VPhysicalVolume.
#ifndef G4PVPHYSICALVOLUME_DDL
#define G4PVPHYSICALVOLUME_DDL 1
@@ -52,38 +52,43 @@ class G4PLogicalVolume;
class G4PVPhysicalVolume: public HepPersObj
{
public:
public: // With description
G4PVPhysicalVolume();
G4PVPhysicalVolume( const G4VPhysicalVolume *PhysVol,
const HepRef(G4PLogicalVolume) persLogVol);
// Destructor
~G4PVPhysicalVolume();
//
// Constructor and Destructor
void SetMother(const HepRef(G4PVPhysicalVolume) persMother);
// Set the persistent mother volume.
G4VPhysicalVolume* MakeTransientObject(
G4LogicalVolume* aLogical,
G4VPhysicalVolume* aMother );
// Creates a transient G4VPhysicalVolume object.
// Access functions
G4PString GetName();
void SetName(const G4PString aName);
// Get and set the name of the volume.
G4RotationMatrix* GetRotation();
G4ThreeVector& GetTranslation();
void SetRotation(const G4RotationMatrix* aRot);
// Get and set the rotation matrix.
G4ThreeVector& GetTranslation();
void SetTranslation(G4ThreeVector atrans);
// Get and set the translation vector.
HepRef(G4PLogicalVolume) GetLogicalVolume();
// Returns the pointer to the persistent logical volume.
// Define equality by equal addresses only.
G4bool operator == (const G4PVPhysicalVolume& p) const;
// Define equality by equal addresses only.
// Functions required of subclasses
virtual G4bool IsMany() const = 0;
virtual G4int GetCopyNo() const = 0;
virtual void SetCopyNo(G4int CopyNo) = 0;
// Functions required of subclasses
protected:
d_Varray<d_Double> frot;
@@ -21,8 +21,8 @@
// ********************************************************************
//
//
// $Id: G4PersistentGeomMan.hh,v 1.10.4.1 2001/06/28 19:11:28 gunter Exp $
// GEANT4 tag $Name: $
// $Id: G4PersistentGeomMan.hh,v 1.11 2001/07/11 10:02:19 gunter Exp $
// GEANT4 tag $Name: geant4-04-00 $
//
// Class Description:
@@ -1,76 +0,0 @@
//
// ********************************************************************
// * 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: G4VPhysVolRefArray.hh,v 1.1.4.1 2001/06/28 19:11:28 gunter Exp $
// GEANT4 tag $Name: $
//
// class description:
//
// This is a class which implements G4RWTPtrVector with
// G4VPhysicalVolume.
//
// History:
// 00.11.17 Y.Morita Initial version
#ifndef G4VPhysVolRefArray_hh
#define G4VPhysVolRefArray_hh 1
#include "g4rw/tpvector.h"
#include "globals.hh"
#include "G4VPhysicalVolume.hh"
typedef G4RWTPtrVector<G4VPhysicalVolume> G4VPhysVolRefVArray;
class G4VPhysVolRefArray
{
public: // with description
G4VPhysVolRefArray();
~G4VPhysVolRefArray();
// The constructor and the destructor.
private:
G4VPhysVolRefVArray transPhysVolPtrs;
public: // with description
inline void Insert(G4int i, G4VPhysicalVolume* aVol)
{ transPhysVolPtrs[i] = aVol; }
// Insert aVol as i-th element.
inline G4VPhysicalVolume* Get(G4int i)
{ return transPhysVolPtrs[i]; }
// return the i-th element.
inline void Resize(size_t n)
{ transPhysVolPtrs.resize(n); }
// Resize the vector with n.
};
G4VPhysVolRefArray::G4VPhysVolRefArray()
{;}
G4VPhysVolRefArray::~G4VPhysVolRefArray()
{;}
#endif
@@ -1,76 +0,0 @@
//
// ********************************************************************
// * 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: G4VSolidRefArray.hh,v 1.1.4.1 2001/06/28 19:11:28 gunter Exp $
// GEANT4 tag $Name: $
//
// class description:
//
// This is a class which implements G4RWTPtrVector with
// G4VSolid.
//
// History:
// 00.11.17 Y.Morita Initial version
#ifndef G4VSolidRefArray_hh
#define G4VSolidRefArray_hh 1
#include "g4rw/tpvector.h"
#include "globals.hh"
#include "G4VSolid.hh"
typedef G4RWTPtrVector<G4VSolid> G4VSolidRefVArray;
class G4VSolidRefArray
{
public: // with description
G4VSolidRefArray();
~G4VSolidRefArray();
// The constructor and the destructor.
private:
G4VSolidRefVArray transSolidPtrs;
public: // with description
inline void Insert(G4int i, G4VSolid* aSolid)
{ transSolidPtrs[i] = aSolid; }
// Insert aVol as i-th element.
inline G4VSolid* Get(G4int i)
{ return transSolidPtrs[i]; }
// return the i-th element.
inline void Resize(size_t n)
{ transSolidPtrs.resize(n); }
// Resize the vector with n.
};
G4VSolidRefArray::G4VSolidRefArray()
{;}
G4VSolidRefArray::~G4VSolidRefArray()
{;}
#endif