Import Geant4 4.0.0 source tree
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user