Import Geant4 1.0.0 source tree
This commit is contained in:
@@ -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: G4AffineTransform.hh,v 1.1 1999/01/07 16:07:13 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4AffineTransform.hh,v 1.1.12.1 1999/12/07 20:48:08 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4AffineTransform Header 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: G4AffineTransform.icc,v 1.2 1999/03/18 18:31:39 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4AffineTransform.icc,v 1.2.10.1 1999/12/07 20:48:08 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// G4AffineTransformation Inline implementation
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
// 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: G4DrawVoxels.hh,v 1.6.2.1 1999/12/07 20:48:08 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4DrawVoxels
|
||||
//
|
||||
// Implementation
|
||||
//
|
||||
// Define G4DrawVoxelsDebug for debugging information on G4cout
|
||||
//
|
||||
// History:
|
||||
// 03/08/1999 The G4VisAttributes have been made member data for lifetime reasons / visualisation L.G (see John Allison for further explanation)
|
||||
// 29.07.99 first comitted version L.G.
|
||||
|
||||
|
||||
#ifndef G4DrawVoxels_HH
|
||||
#define G4DrawVoxels_HH
|
||||
|
||||
//***********what I need to use (include and forward declarations) FOR DRAWING VOXELS****************
|
||||
#include "G4Colour.hh"
|
||||
#include "G4VisAttributes.hh"
|
||||
#include "G4PlacedPolyhedron.hh" //#include "G4Polyhedron.hh" included
|
||||
|
||||
//#include <rw/tpordvec.h>
|
||||
//#include <rw/tvordvec.h>
|
||||
|
||||
#include "G4SmartVoxelHeader.hh"
|
||||
#include "G4VoxelLimits.hh"
|
||||
#include "G4AffineTransform.hh"
|
||||
#include "G4Vector3D.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4VSolid.hh"
|
||||
|
||||
#define voxel_width 0;
|
||||
|
||||
#define G4DrawVoxelsDebug
|
||||
|
||||
//***************************************************************************************************
|
||||
class G4DrawVoxels{
|
||||
public:
|
||||
//constructor. It initialises the members data to default colors
|
||||
G4DrawVoxels();
|
||||
~G4DrawVoxels(){};
|
||||
//Copy constructor Assignment operator not supported (array fvoxelcolours ...)
|
||||
|
||||
void DrawVoxels(const G4LogicalVolume* lv) const;
|
||||
G4PlacedPolyhedronList* CreatePlacedPolyhedra(const G4LogicalVolume*) const;
|
||||
|
||||
void SetVoxelsVisAttributes(G4VisAttributes&,G4VisAttributes&,G4VisAttributes&);
|
||||
void SetBoundingBoxVisAttributes(G4VisAttributes&);
|
||||
|
||||
private:
|
||||
//Member data
|
||||
G4VisAttributes fVoxelsVisAttributes[3];
|
||||
G4VisAttributes fBoundingBoxVisAttributes;
|
||||
|
||||
void ComputeVoxelPolyhedra(const G4LogicalVolume*,const G4SmartVoxelHeader*,G4VoxelLimits&,G4PlacedPolyhedronList*) const;
|
||||
|
||||
G4AffineTransform GetAbsoluteTransformation(const G4VPhysicalVolume*) const;
|
||||
|
||||
//Copy constructor Assignment operator not supported (array fvoxelcolours ...)
|
||||
G4DrawVoxels(const G4DrawVoxels&);
|
||||
G4DrawVoxels operator=(const G4DrawVoxels&);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -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: G4GeometryManager.hh,v 1.1 1999/01/07 16:07:14 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4GeometryManager.hh,v 1.1.12.1 1999/12/07 20:48:08 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4GeometryManager
|
||||
//
|
||||
|
||||
@@ -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: G4LogicalSurface.hh,v 1.1 1999/01/07 16:07:14 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4LogicalSurface.hh,v 1.1.12.1 1999/12/07 20:48:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// G4LogicalSurface Definition
|
||||
|
||||
@@ -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: G4LogicalSurface.icc,v 1.1 1999/01/07 16:07:14 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4LogicalSurface.icc,v 1.1.12.1 1999/12/07 20:48:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
// Surface Class Inline Methods
|
||||
|
||||
@@ -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: G4LogicalVolume.hh,v 1.2 1999/02/15 10:58:13 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4LogicalVolume.hh,v 1.3.2.1 1999/12/07 20:48:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalVolume
|
||||
@@ -140,7 +140,7 @@
|
||||
//
|
||||
// Member data:
|
||||
//
|
||||
// RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters
|
||||
// G4RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters
|
||||
// Vector of daughters. Given initial size of 0.
|
||||
// G4FieldManager *fFieldManager
|
||||
// Pointer (possibly NULL) to (magnetic or other) field manager object
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4VPhysicalVolume.hh" // Need operator == for vector fdaughters
|
||||
#include <rw/tpordvec.h>
|
||||
#include "g4rw/tpordvec.h"
|
||||
#include <assert.h>
|
||||
|
||||
// Forward declarations
|
||||
@@ -255,7 +255,7 @@ private:
|
||||
// Data members:
|
||||
|
||||
private:
|
||||
RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters;
|
||||
G4RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters;
|
||||
G4FieldManager *fFieldManager;
|
||||
G4Material *fMaterial;
|
||||
G4String fName;
|
||||
|
||||
@@ -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: G4LogicalVolume.icc,v 1.2 1999/02/15 10:58:13 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4LogicalVolume.icc,v 1.2.10.1 1999/12/07 20:48:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4LogicalVolume Inline Implementation file
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
// 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: G4LogicalVolumeStore.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4LogicalVolumeStore.hh,v 1.2.2.1 1999/12/07 20:48:09 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4LogicalVolumeStore
|
||||
//
|
||||
// Container for all LogicalVolumes, with functionality derived from
|
||||
// RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// G4RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// one can exist, and access is facillitated via G4LogicalVolumeStore::GetInstance()
|
||||
//
|
||||
// All LogicalVolumes should be registered with G4LogicalVolumeStore, and removed on their
|
||||
@@ -19,7 +19,7 @@
|
||||
// container initially has a capacity of 100.
|
||||
//
|
||||
// If much additional functionality is added, should consider containment
|
||||
// instead of inheritance for RWTPtrOrderedVector<T>
|
||||
// instead of inheritance for G4RWTPtrOrderedVector<T>
|
||||
//
|
||||
// Class member functions:
|
||||
//
|
||||
@@ -48,11 +48,11 @@
|
||||
#ifndef G4VLOGICALVOLUMESTORE_HH
|
||||
#define G4VLOGICALVOLUMESTORE_HH
|
||||
|
||||
#include <rw/tpordvec.h>
|
||||
#include "g4rw/tpordvec.h"
|
||||
|
||||
#include "G4LogicalVolume.hh"
|
||||
|
||||
class G4LogicalVolumeStore : public RWTPtrOrderedVector<G4LogicalVolume>
|
||||
class G4LogicalVolumeStore : public G4RWTPtrOrderedVector<G4LogicalVolume>
|
||||
{
|
||||
public:
|
||||
static void Register(G4LogicalVolume* pVolume);
|
||||
|
||||
@@ -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: G4PVParameterised.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4PVParameterised.hh,v 1.1.12.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4PVParameterised
|
||||
|
||||
@@ -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: G4PVPlacement.hh,v 1.1 1999/01/07 16:07:15 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4PVPlacement.hh,v 1.1.12.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4PVPlacement
|
||||
|
||||
@@ -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: G4PVReplica.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4PVReplica.hh,v 1.1.12.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4PVReplica
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
// 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: G4PhysicalVolumeStore.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4PhysicalVolumeStore.hh,v 1.2.2.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4PhysicalVolume
|
||||
//
|
||||
// Container for all solids, with functionality derived from
|
||||
// RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// G4RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// one can exist, and access is facillitated via
|
||||
// G4PhysicalVolumeStore::GetInstance()
|
||||
//
|
||||
@@ -20,7 +20,7 @@
|
||||
// container initially has a capacity of 100.
|
||||
//
|
||||
// If much additional functionality is added, should consider containment
|
||||
// instead of inheritance for RWTPtrOrderedVector<T>
|
||||
// instead of inheritance for G4RWTPtrOrderedVector<T>
|
||||
//
|
||||
// Class member functions:
|
||||
//
|
||||
@@ -49,11 +49,11 @@
|
||||
#ifndef G4PHYSICALVOLUMESTORE_HH
|
||||
#define G4PHYSICALVOLUMESTORE_HH
|
||||
|
||||
#include <rw/tpordvec.h>
|
||||
#include "g4rw/tpordvec.h"
|
||||
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
|
||||
class G4PhysicalVolumeStore : public RWTPtrOrderedVector<G4VPhysicalVolume>
|
||||
class G4PhysicalVolumeStore : public G4RWTPtrOrderedVector<G4VPhysicalVolume>
|
||||
{
|
||||
public:
|
||||
static void Register(G4VPhysicalVolume* pSolid);
|
||||
|
||||
@@ -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: G4SmartVoxelHeader.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4SmartVoxelHeader.hh,v 1.2.2.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4SmartVoxelHeader
|
||||
//
|
||||
@@ -42,7 +42,7 @@
|
||||
// Private functions:
|
||||
//
|
||||
// G4SmartVoxelHeader(G4LogicalVolume* pVolume,G4VoxelLimits& pLimits,
|
||||
// RWTValOrderedVector<G4int>& pCandidates,
|
||||
// G4RWTValOrderedVector<G4int>& pCandidates,
|
||||
// const G4int pSlice=0)
|
||||
// Build and refine voxels between specified limits, considering only
|
||||
// the physical volumes numbered `pCandidates'. pSlice is used to set max
|
||||
@@ -59,7 +59,7 @@
|
||||
// G4double fmaxExtent
|
||||
// G4double fminExtent
|
||||
// Minimum and maximum coordiantes along the axis
|
||||
// RWTPtrOrderedVector<G4SmartVoxelProxy> fslices
|
||||
// G4RWTPtrOrderedVector<G4SmartVoxelProxy> fslices
|
||||
// The slices along the axis
|
||||
//
|
||||
// G4int fminEquivalent
|
||||
@@ -82,19 +82,19 @@
|
||||
|
||||
#include "G4ios.hh"
|
||||
|
||||
#include <rw/tvvector.h>
|
||||
#include <rw/tpordvec.h>
|
||||
#include <rw/tvordvec.h>
|
||||
#include "g4rw/tvvector.h"
|
||||
#include "g4rw/tpordvec.h"
|
||||
#include "g4rw/tvordvec.h"
|
||||
// Forward declarations
|
||||
class G4LogicalVolume;
|
||||
class G4VoxelLimits;
|
||||
class G4VPhysicalVolume;
|
||||
|
||||
|
||||
typedef RWTPtrOrderedVector<G4SmartVoxelProxy> G4ProxyVector;
|
||||
typedef RWTPtrOrderedVector<G4SmartVoxelNode> G4NodeVector;
|
||||
typedef RWTValOrderedVector<G4int> G4VolumeNosVector;
|
||||
typedef RWTValVector<G4double> G4VolumeExtentVector;
|
||||
typedef G4RWTPtrOrderedVector<G4SmartVoxelProxy> G4ProxyVector;
|
||||
typedef G4RWTPtrOrderedVector<G4SmartVoxelNode> G4NodeVector;
|
||||
typedef G4RWTValOrderedVector<G4int> G4VolumeNosVector;
|
||||
typedef G4RWTValVector<G4double> G4VolumeExtentVector;
|
||||
|
||||
class G4SmartVoxelHeader
|
||||
{
|
||||
|
||||
@@ -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: G4SmartVoxelNode.hh,v 1.1 1999/01/07 16:07:16 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4SmartVoxelNode.hh,v 1.2.2.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4SmartVoxelNode
|
||||
//
|
||||
@@ -25,7 +25,7 @@
|
||||
// ~G4SmartVoxelNode()
|
||||
// Destructor. No actions.
|
||||
//
|
||||
// RWTValOrderedVector<G4int>* GetContents()
|
||||
// G4RWTValOrderedVector<G4int>* GetContents()
|
||||
// Return ptr to vector of volume no.s in the node. Use with care.
|
||||
// Intended for inspection by navigator at tracking time only.
|
||||
//
|
||||
@@ -56,7 +56,7 @@
|
||||
// G4int fmaxEquivalent
|
||||
// Min and maximum nodes with same contents. Set by constructor
|
||||
// and set methods.
|
||||
// RWTValOrderedVector<G4int>(1) fcontents
|
||||
// G4RWTValOrderedVector<G4int>(1) fcontents
|
||||
// Vector of no.s of volumes inside the node
|
||||
//
|
||||
// History:
|
||||
@@ -69,10 +69,10 @@
|
||||
#include "voxeldefs.hh"
|
||||
|
||||
#include "G4VPhysicalVolume.hh"
|
||||
#include <rw/tvordvec.h>
|
||||
#include "g4rw/tvordvec.h"
|
||||
|
||||
|
||||
typedef RWTValOrderedVector<G4int> G4SliceVector;
|
||||
typedef G4RWTValOrderedVector<G4int> G4SliceVector;
|
||||
|
||||
class G4SmartVoxelNode
|
||||
{
|
||||
|
||||
@@ -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: G4SmartVoxelProxy.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4SmartVoxelProxy.hh,v 1.1.12.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
|
||||
// class G4SmartVoxelProxy
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
// 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: G4SolidStore.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4SolidStore.hh,v 1.2.2.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4SolidStore
|
||||
//
|
||||
// Container for all solids, with functionality derived from
|
||||
// RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// G4RWTPtrOrderedVector<T>. The class is `singleton', in that only
|
||||
// one can exist, and access is facillitated via G4SolidStore::GetInstance()
|
||||
//
|
||||
// All solids should be registered with G4SolidStore, and removed on their
|
||||
@@ -19,7 +19,7 @@
|
||||
// container initially has a capacity of 100.
|
||||
//
|
||||
// If much additional functionality is added, should consider containment
|
||||
// instead of inheritance for RWTPtrOrderedVector<T>
|
||||
// instead of inheritance for G4RWTPtrOrderedVector<T>
|
||||
//
|
||||
// Class member functions:
|
||||
//
|
||||
@@ -48,11 +48,11 @@
|
||||
#ifndef G4VSOLIDSTORE_HH
|
||||
#define G4VSOLIDSTORE_HH
|
||||
|
||||
#include <rw/tpordvec.h>
|
||||
#include "g4rw/tpordvec.h"
|
||||
|
||||
#include "G4VSolid.hh"
|
||||
|
||||
class G4SolidStore : public RWTPtrOrderedVector<G4VSolid>
|
||||
class G4SolidStore : public G4RWTPtrOrderedVector<G4VSolid>
|
||||
{
|
||||
public:
|
||||
static void Register(G4VSolid* pSolid);
|
||||
|
||||
@@ -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: G4VPVParameterisation.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VPVParameterisation.hh,v 1.1.12.1 1999/12/07 20:48:10 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4VPVParamterisation
|
||||
//
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
// 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: G4VPhysicalVolume.hh,v 1.1 1999/01/07 16:07:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VPhysicalVolume.hh,v 1.2.4.1 1999/12/07 20:48:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
|
||||
// class description:
|
||||
//
|
||||
// class G4VPhysicalVolume
|
||||
// class G4VPhysicalVolume
|
||||
//
|
||||
// Base class for representation of one or many volumes positioned within
|
||||
// and relative to a mother volume
|
||||
// This is an Abstract Base class for representation of positioned volume.
|
||||
// The volume is placed within a mother volume, relative to its coordinate
|
||||
// system. Either a single positioned volume or many positioned volume can
|
||||
// be represented by a particular G4VPhysicalVolume.
|
||||
//
|
||||
// Member functions:
|
||||
//
|
||||
@@ -59,8 +63,9 @@
|
||||
// the rotation/translation is being made for the frame or the object/volume
|
||||
// that is being placed. (They are the inverse of each other).
|
||||
//
|
||||
// G4RotationMatrix* GetObjectRotation() const
|
||||
// G4ThreeVector GetObjectTranslation() const
|
||||
// G4RotationMatrix* GetObjectRotation() const // Obsolete
|
||||
// inline G4RotationMatrix GetObjectRotationValue() const; // Replacement
|
||||
// G4ThreeVector GetObjectTranslation() const
|
||||
// Return the rotation/translation of the Object relative to the mother
|
||||
//
|
||||
// const G4RotationMatrix* GetFrameRotation() const
|
||||
@@ -68,18 +73,6 @@
|
||||
// Return the rotation/translation of the Frame used to position
|
||||
// this volume in its mother volume (opposite of object rot/trans).
|
||||
//
|
||||
// Older version:
|
||||
//
|
||||
// const G4ThreeVector& GetTranslation() const
|
||||
// const G4RotationMatrix* GetRotation() const
|
||||
// Return the translation/rotation of the volume
|
||||
//
|
||||
// void SetTranslation(const G4ThreeVector &v)
|
||||
// G4RotationMatrix* GetRotation()
|
||||
// void SetRotation(G4RotationMatrix*)
|
||||
// NOT INTENDED FOR GENERAL USE.
|
||||
// Non constant versions of above. Used to change transformation
|
||||
// for replication/paramterisation mechanism.
|
||||
//
|
||||
// To be provided by subclasses:
|
||||
//
|
||||
@@ -106,9 +99,22 @@
|
||||
// Perform any initialisation/setup necessary for the given volume.
|
||||
// [Set the current mother pointer to refer to the specified mother, by
|
||||
// calling SetMother]
|
||||
|
||||
// Older access methods:
|
||||
//
|
||||
// const G4ThreeVector& GetTranslation() const
|
||||
// const G4RotationMatrix* GetRotation() const
|
||||
// Return the translation/rotation of the volume
|
||||
//
|
||||
// void SetTranslation(const G4ThreeVector &v)
|
||||
// G4RotationMatrix* GetRotation()
|
||||
// void SetRotation(G4RotationMatrix*)
|
||||
// NOT INTENDED FOR GENERAL USE.
|
||||
// Non constant versions of above. Used to change transformation
|
||||
// for replication/parameterisation mechanism.
|
||||
//
|
||||
// History:
|
||||
// 09.11.99 J.Apostolakis Added GetObjectRotationValue() method & redid comments.
|
||||
// 28.08.96 P.Kent Replaced transform by rotmat + vector
|
||||
// 25.07.96 P.Kent Modified interface for new `Replica' capable geometry
|
||||
// 24.07.95 P.Kent First non-stub version
|
||||
@@ -127,7 +133,7 @@ class G4VPVParameterisation;
|
||||
|
||||
class G4VPhysicalVolume
|
||||
{
|
||||
public:
|
||||
public: // with description
|
||||
G4VPhysicalVolume(G4RotationMatrix *pRot,
|
||||
const G4ThreeVector &tlate,
|
||||
const G4String &pName,
|
||||
@@ -141,7 +147,8 @@ public:
|
||||
G4bool operator == (const G4VPhysicalVolume& p) const;
|
||||
|
||||
// Access functions
|
||||
G4RotationMatrix* GetObjectRotation() const;
|
||||
G4RotationMatrix* GetObjectRotation() const; // Obsolete
|
||||
inline G4RotationMatrix GetObjectRotationValue() const; // Replacement
|
||||
G4ThreeVector GetObjectTranslation() const;
|
||||
const G4RotationMatrix* GetFrameRotation() const;
|
||||
G4ThreeVector GetFrameTranslation() const;
|
||||
|
||||
@@ -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: G4VPhysicalVolume.icc,v 1.1 1999/01/07 16:07:17 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VPhysicalVolume.icc,v 1.2.4.1 1999/12/07 20:48:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4VPhysicalVolume Inline Implementation
|
||||
@@ -70,23 +70,16 @@ inline void G4VPhysicalVolume::SetName(const G4String& pName)
|
||||
fname=pName;
|
||||
}
|
||||
|
||||
inline G4RotationMatrix* G4VPhysicalVolume::GetObjectRotation() const
|
||||
inline G4RotationMatrix G4VPhysicalVolume::GetObjectRotationValue() const
|
||||
{
|
||||
static G4RotationMatrix aRotM;
|
||||
static G4RotationMatrix IdentityRM; // Never changed (from "1")
|
||||
G4RotationMatrix* retval;
|
||||
G4RotationMatrix aRotM; // Initialised to identity
|
||||
|
||||
// Insure against frot being a null pointer
|
||||
if(frot)
|
||||
{
|
||||
aRotM= frot->inverse();
|
||||
retval= &aRotM;
|
||||
}
|
||||
else
|
||||
{
|
||||
retval= &IdentityRM;
|
||||
}
|
||||
return retval;
|
||||
return aRotM;
|
||||
}
|
||||
inline G4ThreeVector G4VPhysicalVolume::GetObjectTranslation() const
|
||||
{
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
// 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: G4VSolid.hh,v 1.1 1999/01/07 16:07:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VSolid.hh,v 1.3.2.1 1999/12/07 20:48:11 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// Class Description
|
||||
//
|
||||
// class G4VSolid
|
||||
//
|
||||
// Abstract base class solids, physical shapes that can be tracked through.
|
||||
@@ -113,6 +115,9 @@
|
||||
// Creates a G4Polyhedron/G4NURBS/... (It is the caller's reponsibility
|
||||
// to delete it.) A null pointer means "not created".
|
||||
//
|
||||
// Class Description - end:
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
// Protected functions:
|
||||
//
|
||||
// void CalculateClippedPolygonExtent(G4ThreeVectorList& pPolygon,
|
||||
@@ -193,21 +198,17 @@
|
||||
// G4bool operator==(const G4VSolid& s) const
|
||||
// Return true only if addresses are the same
|
||||
//
|
||||
|
||||
// Member Data:
|
||||
//
|
||||
// G4String fshapeName
|
||||
// Name for this solid.
|
||||
//
|
||||
// History:
|
||||
// 17.06.98 J.Apostolakis Added pure virtual function GetEntityType()
|
||||
// 24.10.96 J.Allison Added const G4VisAttributes* fpVisAttributes; and
|
||||
// associated access functions.
|
||||
// 26.07.96 P.Kent Added ComputeDimensions for replication mechanism.
|
||||
// 22.07.96 J.Allison Renamed CreatePolyhedon, G4VGraphicsScene.
|
||||
// 27.03.96 J.Allison Changed names to: DescribeYourselfTo and
|
||||
// SendWireframeTo (G4VGraphicsModel&).
|
||||
// 10.07.95 P.Kent Added == operator
|
||||
// 30.06.95 P.Kent Initial version, no scoping or visualisation functions
|
||||
// 17.06.98 J.Apostolakis Added pure virtual function GetEntityType()
|
||||
// 26.07.96 P.Kent Added ComputeDimensions for replication mechanism.
|
||||
// 27.03.96 J.Allison Methods for visualisation
|
||||
// 30.06.95 P.Kent Initial version, no scoping or visualisation functions
|
||||
|
||||
#ifndef G4VSOLID_HH
|
||||
#define G4VSOLID_HH
|
||||
@@ -225,14 +226,15 @@ class G4VGraphicsScene;
|
||||
class G4Polyhedron;
|
||||
class G4NURBS;
|
||||
class G4VisExtent;
|
||||
class G4DisplacedSolid;
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
#include <rw/tvordvec.h>
|
||||
typedef RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
|
||||
#include "g4rw/tvordvec.h"
|
||||
typedef G4RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
|
||||
typedef G4String G4GeometryType;
|
||||
|
||||
class G4VSolid {
|
||||
public:
|
||||
public: // With description
|
||||
G4VSolid(const G4String& name);
|
||||
virtual ~G4VSolid();
|
||||
|
||||
@@ -276,6 +278,17 @@ public:
|
||||
virtual G4Polyhedron* CreatePolyhedron () const;
|
||||
virtual G4NURBS* CreateNURBS () const;
|
||||
|
||||
// If Solid is made up from a Boolean operation of two solids,
|
||||
// return the "no" solid.
|
||||
// If the solid is not a "Boolean", return 0
|
||||
virtual const G4VSolid* GetConstituentSolid(G4int no) const;
|
||||
virtual G4VSolid* GetConstituentSolid(G4int no);
|
||||
|
||||
// If the Solid is a "G4DisplacedSolid", return a self pointer
|
||||
// else return 0
|
||||
virtual const G4DisplacedSolid* GetDisplacedSolidPtr() const;
|
||||
virtual G4DisplacedSolid* GetDisplacedSolidPtr();
|
||||
|
||||
protected:
|
||||
|
||||
// Calculate the maximum and minimum extents of the convex polygon pPolygon
|
||||
|
||||
@@ -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: G4VSolid.icc,v 1.1 1999/01/07 16:07:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VSolid.icc,v 1.1.12.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
@@ -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: G4VTouchable.hh,v 1.1 1999/01/07 16:07:18 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VTouchable.hh,v 1.1.12.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4VTouchable Paul Kent August 1996
|
||||
|
||||
@@ -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: G4VTouchable.icc,v 1.1 1999/01/07 16:07:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VTouchable.icc,v 1.1.12.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// class G4VTouchable Inline implementation
|
||||
|
||||
@@ -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: G4VoxelLimits.hh,v 1.1 1999/01/07 16:07:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: G4VoxelLimits.hh,v 1.1.12.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
// class G4VoxelLimits
|
||||
//
|
||||
|
||||
@@ -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: meshdefs.hh,v 1.1 1999/01/07 16:07:19 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: meshdefs.hh,v 1.1.12.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
//
|
||||
// Tube/Cone Meshing constants for extent calculations
|
||||
|
||||
@@ -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: voxeldefs.hh,v 1.2 1999/02/15 11:14:01 japost Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
// $Id: voxeldefs.hh,v 1.2.10.1 1999/12/07 20:48:12 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-01-00 $
|
||||
//
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user