Import Geant4 3.2.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:10:37 +02:00
parent 137e303ecc
commit 36c080dca6
3464 changed files with 119310 additions and 52696 deletions
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AffineTransform.hh,v 1.3 2000/04/20 16:49:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AffineTransform.hh,v 1.3.4.1 2001/06/28 19:08:23 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4AffineTransform
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AffineTransform.icc,v 1.3 1999/12/15 14:49:50 gunter Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AffineTransform.icc,v 1.3.4.1 2001/06/28 19:08:23 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4AffineTransformation Inline implementation
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AssemblyTriplet.hh,v 1.4 2001/02/07 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AssemblyTriplet.hh,v 1.4.2.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// Class G4AssemblyTriplet
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AssemblyTriplet.icc,v 1.4 2001/02/07 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AssemblyTriplet.icc,v 1.4.2.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// Class G4AssemblyTriplet - inline implementation
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AssemblyVolume.hh,v 1.4 2001/02/07 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AssemblyVolume.hh,v 1.4.2.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// Class G4AssemblyVolume
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4AssemblyVolume.icc,v 1.2 2001/02/07 17:30:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4AssemblyVolume.icc,v 1.2.2.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// Class G4AssemblyVolume - inline implementation
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4DrawVoxels.hh,v 1.9 2000/06/06 13:18:55 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4DrawVoxels.hh,v 1.9.4.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4DrawVoxels
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4GeometryManager.hh,v 1.3 2000/04/20 16:49:46 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4GeometryManager.hh,v 1.3.4.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4GeometryManager
//
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4LogicalSurface.hh,v 1.5 2000/12/04 09:36:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4LogicalSurface.hh,v 1.5.2.1 2001/06/28 19:08:24 gunter Exp $
// GEANT4 tag $Name: $
//
////////////////////////////////////////////////////////////////////////
// Class G4LogicalSurface
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4LogicalSurface.icc,v 1.4 2000/12/04 09:36:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4LogicalSurface.icc,v 1.4.2.1 2001/06/28 19:08:25 gunter Exp $
// GEANT4 tag $Name: $
//
////////////////////////////////////////////////////////////////////////
// Surface Class Inline Methods
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4LogicalVolume.hh,v 1.6 2000/11/01 15:39:32 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4LogicalVolume.hh,v 1.7.2.1 2001/06/28 19:08:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4LogicalVolume
@@ -39,7 +55,7 @@
//
// Data members:
//
// G4RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters
// G4std::vector<G4VPhysicalVolume*> fDaughters
// - Vector of daughters. Given initial size of 0.
// G4FieldManager *fFieldManager
// - Pointer (possibly NULL) to (magnetic or other) field manager object.
@@ -68,6 +84,7 @@
// - Weight used in the event biasing technique.
// History:
// 18.04.01 G.Cosmo: Migrated to STL vector
// 12.02.99 S.Giani: Added user defined optimisation quality
// 09.11.98 J. Apostolakis: Changed G4MagneticField to G4FieldManager
// 09.11.98 M. Verderi & JA. : added BiasWeight member and Get/Set methods
@@ -82,7 +99,7 @@
#include "globals.hh"
#include "G4VPhysicalVolume.hh" // Need operator == for vector fdaughters
#include "g4rw/tpordvec.h"
#include "g4std/vector"
#include <assert.h>
// Forward declarations
@@ -97,6 +114,8 @@ class G4FastSimulationManager;
class G4LogicalVolume
{
typedef G4std::vector<G4VPhysicalVolume*> G4PhysicalVolumeList;
public: // with description
G4LogicalVolume(G4VSolid *pSolid, G4Material *pMaterial,
@@ -206,7 +225,7 @@ class G4LogicalVolume
// Data members:
G4RWTPtrOrderedVector<G4VPhysicalVolume> fDaughters;
G4PhysicalVolumeList fDaughters;
// Vector of daughters. Given initial size of 0.
G4FieldManager *fFieldManager;
// Pointer (possibly NULL) to (magnetic or other) field manager object.
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4LogicalVolume.icc,v 1.4 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4LogicalVolume.icc,v 1.5.2.1 2001/06/28 19:08:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4LogicalVolume Inline Implementation file
@@ -15,6 +31,7 @@
// 05.11.98 - M. Verderi: Add Get/Set methods for fBiasWeight
// 09.11.98 - J. Apostolakis: Changed MagneticField to FieldManager
// 12.02.99 - S.Giani: Added set/get methods for voxelization quality
// 18.04.01 - G.Cosmo: Migrated to STL vector
inline
G4String G4LogicalVolume::GetName() const
@@ -37,13 +54,13 @@ G4FieldManager* G4LogicalVolume::GetFieldManager() const
inline
G4int G4LogicalVolume::GetNoDaughters() const
{
return fDaughters.entries();
return fDaughters.size();
}
inline
G4VPhysicalVolume* G4LogicalVolume::GetDaughter(const G4int i) const
{
return fDaughters(i);
return fDaughters[i];
}
inline
@@ -55,10 +72,7 @@ G4FastSimulationManager* G4LogicalVolume::GetFastSimulationManager () const
inline
void G4LogicalVolume::AddDaughter(G4VPhysicalVolume* pNewDaughter)
{
// manual resize operation to avoid Rogue grabbing RW_DEFAULT
fDaughters.resize(fDaughters.entries()+1);
fDaughters.insert(pNewDaughter);
fDaughters.push_back(pNewDaughter);
// Propagates the mother's FastSimulationManager pointer. If we are in
// the World logical volume, propagates only if pointer != 0.
@@ -102,14 +116,26 @@ void G4LogicalVolume::AddDaughter(G4VPhysicalVolume* pNewDaughter)
inline
G4bool G4LogicalVolume::IsDaughter(const G4VPhysicalVolume* p) const
{
return fDaughters.contains(p);
G4PhysicalVolumeList::const_iterator i;
for (i=fDaughters.begin(); i!=fDaughters.end(); ++i)
{
if (**i==*p) return true;
}
return false;
}
inline
void G4LogicalVolume::RemoveDaughter(const G4VPhysicalVolume* p)
{
fDaughters.remove(p);
fDaughters.resize(fDaughters.entries());
G4PhysicalVolumeList::iterator i;
for (i=fDaughters.begin(); i!=fDaughters.end(); ++i)
{
if (**i==*p)
{
fDaughters.erase(i);
break;
}
}
}
inline
@@ -1,19 +1,35 @@
// 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.
// ********************************************************************
// * 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: G4LogicalVolumeStore.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4LogicalVolumeStore.hh,v 1.5.2.1 2001/06/28 19:08:25 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4LogicalVolumeStore
//
// Class description:
//
// Container for all LogicalVolumes, with functionality derived from
// G4RWTPtrOrderedVector<T>. The class is a `singleton', in that only
// std::vector<T>. The class is a `singleton', in that only
// one can exist, and access is provided via the static function
// G4LogicalVolumeStore::GetInstance()
//
@@ -22,7 +38,7 @@
// The underlying container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
// instead of inheritance for G4RWTPtrOrderedVector<T>.
// instead of inheritance for std::vector<T>.
//
// Member data:
//
@@ -30,16 +46,17 @@
// - Ptr to the single G4LogicalVolumeStore.
// History:
// 10.07.95 P.Kent Initial version
// 18.04.01 G.Cosmo Migrated to STL vector
// 10.07.95 P.Kent Initial version
#ifndef G4VLOGICALVOLUMESTORE_HH
#define G4VLOGICALVOLUMESTORE_HH
#include "g4rw/tpordvec.h"
#include "g4std/vector"
#include "G4LogicalVolume.hh"
class G4LogicalVolumeStore : public G4RWTPtrOrderedVector<G4LogicalVolume>
class G4LogicalVolumeStore : public G4std::vector<G4LogicalVolume*>
{
public: // with description
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PVParameterised.hh,v 1.4 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PVParameterised.hh,v 1.4.4.1 2001/06/28 19:08:25 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PVParameterised
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PVPlacement.hh,v 1.5 2001/03/07 17:34:37 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PVPlacement.hh,v 1.5.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PVPlacement
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4PVReplica.hh,v 1.4 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PVReplica.hh,v 1.4.4.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4PVReplica
@@ -1,19 +1,35 @@
// 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.
// ********************************************************************
// * 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: G4PhysicalVolumeStore.hh,v 1.5 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4PhysicalVolumeStore.hh,v 1.6.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4PhysicalVolume
//
// Class description:
//
// Container for all solids, with functionality derived from
// G4RWTPtrOrderedVector<T>. The class is a `singleton', in that only
// std::vector<T>. The class is a `singleton', in that only
// one can exist, and access is provided via the static method
// G4PhysicalVolumeStore::GetInstance()
//
@@ -22,7 +38,7 @@
// container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
// instead of inheritance for G4RWTPtrOrderedVector<T>
// instead of inheritance for std::vector<T>
//
// Member data:
//
@@ -30,16 +46,17 @@
// - Ptr to the single G4PhysicalVolumeStore.
// History:
// 25.07.95 P.Kent Initial version
// 18.04.01 G.Cosmo Migrated to STL vector
// 25.07.95 P.Kent Initial version
#ifndef G4PHYSICALVOLUMESTORE_HH
#define G4PHYSICALVOLUMESTORE_HH
#include "g4rw/tpordvec.h"
#include "g4std/vector"
#include "G4VPhysicalVolume.hh"
class G4PhysicalVolumeStore : public G4RWTPtrOrderedVector<G4VPhysicalVolume>
class G4PhysicalVolumeStore : public G4std::vector<G4VPhysicalVolume*>
{
public: // with description
@@ -64,10 +81,3 @@ class G4PhysicalVolumeStore : public G4RWTPtrOrderedVector<G4VPhysicalVolume>
};
#endif
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelHeader.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelHeader.hh,v 1.5.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4SmartVoxelHeader
//
@@ -23,7 +39,7 @@
// G4double fmaxExtent
// G4double fminExtent
// - Minimum and maximum coordiantes along the axis
// G4RWTPtrOrderedVector<G4SmartVoxelProxy> fslices
// G4std::vector<G4SmartVoxelProxy*> fslices
// - The slices along the axis
//
// G4int fminEquivalent
@@ -32,7 +48,8 @@
// [Applies to the level of the header, not its nodes]
// History:
// 13.07.95 P.Kent Initial version
// 18.04.01 G.Cosmo Migrated to STL vector
// 13.07.95 P.Kent Initial version
#ifndef G4SMARTVOXELHEADER_HH
#define G4SMARTVOXELHEADER_HH
@@ -46,9 +63,7 @@
#include "G4ios.hh"
#include "g4rw/tvvector.h"
#include "g4rw/tpordvec.h"
#include "g4rw/tvordvec.h"
#include "g4std/vector"
// Forward declarations
class G4LogicalVolume;
@@ -56,16 +71,16 @@ class G4VoxelLimits;
class G4VPhysicalVolume;
// Typedefs
typedef G4RWTPtrOrderedVector<G4SmartVoxelProxy> G4ProxyVector;
typedef G4RWTPtrOrderedVector<G4SmartVoxelNode> G4NodeVector;
typedef G4RWTValOrderedVector<G4int> G4VolumeNosVector;
typedef G4RWTValVector<G4double> G4VolumeExtentVector;
typedef G4std::vector<G4SmartVoxelProxy*> G4ProxyVector;
typedef G4std::vector<G4SmartVoxelNode*> G4NodeVector;
typedef G4std::vector<G4int> G4VolumeNosVector;
typedef G4std::vector<G4double> G4VolumeExtentVector;
class G4SmartVoxelHeader
{
public: // with description
G4SmartVoxelHeader(G4LogicalVolume* pVolume,const G4int pSlice=0);
G4SmartVoxelHeader(G4LogicalVolume* pVolume, G4int pSlice=0);
// Constructor for topmost header, to begin voxel construction at a
// given logical volume. pSlice is used to set max and min equivalent
// slice nos for the header - they apply to the level of the header,
@@ -75,9 +90,9 @@ class G4SmartVoxelHeader
// Delete all referenced nodes [but *not* referenced physical volumes].
G4int GetMaxEquivalentSliceNo() const;
void SetMaxEquivalentSliceNo(const G4int pMax);
void SetMaxEquivalentSliceNo(G4int pMax);
G4int GetMinEquivalentSliceNo() const;
void SetMinEquivalentSliceNo(const G4int pMin);
void SetMinEquivalentSliceNo(G4int pMin);
// Access functions for min/max equivalent slices (nodes & headers).
EAxis GetAxis() const;
@@ -91,7 +106,7 @@ class G4SmartVoxelHeader
G4int GetNoSlices() const;
// Return the no of slices along the current axis.
G4SmartVoxelProxy* GetSlice(const G4int n) const;
G4SmartVoxelProxy* GetSlice(G4int n) const;
// Return ptr to the proxy for the nth slice (numbering from 0,
// no bounds checking performed).
@@ -110,7 +125,7 @@ class G4SmartVoxelHeader
G4SmartVoxelHeader(G4LogicalVolume* pVolume,
const G4VoxelLimits& pLimits,
const G4VolumeNosVector* pCandidates,
const G4int pSlice=0);
G4int pSlice=0);
// Build and refine voxels between specified limits, considering only
// the physical volumes numbered `pCandidates'. pSlice is used to set max
// and min equivalent slice nos for the header - they apply to the level
@@ -126,7 +141,7 @@ class G4SmartVoxelHeader
// Build voxels for specified volume containing a single
// replicated volume.
void BuildConsumedNodes(const G4int nReplicas);
void BuildConsumedNodes(G4int nReplicas);
// Construct nodes in simple consuming case.
void BuildVoxelsWithinLimits(G4LogicalVolume* pVolume,
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelHeader.icc,v 1.1 2000/04/20 16:49:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelHeader.icc,v 1.2.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4SmartVoxelHeader Inline implementation
@@ -19,7 +35,7 @@ G4int G4SmartVoxelHeader::GetMaxEquivalentSliceNo() const
}
inline
void G4SmartVoxelHeader::SetMaxEquivalentSliceNo(const G4int pMax)
void G4SmartVoxelHeader::SetMaxEquivalentSliceNo(G4int pMax)
{
fmaxEquivalent=pMax;
}
@@ -31,7 +47,7 @@ G4int G4SmartVoxelHeader::GetMinEquivalentSliceNo() const
}
inline
void G4SmartVoxelHeader::SetMinEquivalentSliceNo(const G4int pMin)
void G4SmartVoxelHeader::SetMinEquivalentSliceNo(G4int pMin)
{
fminEquivalent=pMin;
}
@@ -57,11 +73,11 @@ G4double G4SmartVoxelHeader::GetMinExtent() const
inline
G4int G4SmartVoxelHeader::GetNoSlices() const
{
return fslices.entries();
return fslices.size();
}
inline
G4SmartVoxelProxy* G4SmartVoxelHeader::GetSlice(const G4int n) const
G4SmartVoxelProxy* G4SmartVoxelHeader::GetSlice(G4int n) const
{
return fslices(n);
return fslices[n];
}
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelNode.hh,v 1.4 2000/04/20 16:49:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelNode.hh,v 1.5.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4SmartVoxelNode
//
@@ -23,11 +39,12 @@
// G4int fmaxEquivalent
// - Min and maximum nodes with same contents. Set by constructor
// and set methods.
// G4RWTValOrderedVector<G4int>(1) fcontents
// G4std::vector<G4int> fcontents
// - Vector of no.s of volumes inside the node.
// History:
// 12.07.95 P.Kent Initial version
// 18.04.01 G.Cosmo Migrated to STL vector
// 12.07.95 P.Kent Initial version
#ifndef G4SMARTVOXELNODE_HH
#define G4SMARTVOXELNODE_HH
@@ -36,17 +53,16 @@
#include "voxeldefs.hh"
#include "G4VPhysicalVolume.hh"
#include "g4rw/tvordvec.h"
#include "g4std/vector"
typedef G4RWTValOrderedVector<G4int> G4SliceVector;
typedef G4std::vector<G4int> G4SliceVector;
class G4SmartVoxelNode
{
public: // with description
G4SmartVoxelNode(const G4int pSlice=0) : fminEquivalent(pSlice),
fmaxEquivalent(pSlice) {}
G4SmartVoxelNode(G4int pSlice=0) : fminEquivalent(pSlice),
fmaxEquivalent(pSlice) {}
// Constructor. Create an empty node with slice number pSlice.
// THis number is not stored, but used to provide defaults for the
// minimum and maximum equivalent node numbers.
@@ -54,7 +70,7 @@ class G4SmartVoxelNode
~G4SmartVoxelNode() {}
// Destructor. No actions.
G4int GetVolume(const G4int pVolumeNo) const;
G4int GetVolume(G4int pVolumeNo) const;
// Return contained volume number pVolumeNo.
// Note: starts from 0 and no bounds checking performed.
@@ -67,12 +83,12 @@ class G4SmartVoxelNode
G4int GetMaxEquivalentSliceNo() const;
// Return the maximum slice (node/header) number with the same contents,
// and with all intermediate slice also having the same contents.
void SetMaxEquivalentSliceNo(const G4int pMax);
void SetMaxEquivalentSliceNo(G4int pMax);
// Set the maximum slice number (as above).
G4int GetMinEquivalentSliceNo() const;
// Return the minimum slice (node/header) number with the same contents,
// and with all intermediate nodes also having the same contents.
void SetMinEquivalentSliceNo(const G4int pMin);
void SetMinEquivalentSliceNo(G4int pMin);
// Set the minimum slice number (as above).
G4bool operator == (const G4SmartVoxelNode& v) const;
@@ -1,33 +1,49 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelNode.icc,v 1.1 2000/04/20 16:49:47 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelNode.icc,v 1.2.2.1 2001/06/28 19:08:26 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4SmartVoxelNode Inline implementation
//
inline
G4int G4SmartVoxelNode::GetVolume(const G4int pVolumeNo) const
G4int G4SmartVoxelNode::GetVolume(G4int pVolumeNo) const
{
return fcontents(pVolumeNo);
return fcontents[pVolumeNo];
}
inline
void G4SmartVoxelNode::Insert(G4int pVolumeNo)
{
fcontents.insert(pVolumeNo);
fcontents.push_back(pVolumeNo);
}
inline
G4int G4SmartVoxelNode::GetNoContained() const
{
return fcontents.entries();
return fcontents.size();
}
inline
@@ -37,7 +53,7 @@ G4int G4SmartVoxelNode::GetMaxEquivalentSliceNo() const
}
inline
void G4SmartVoxelNode::SetMaxEquivalentSliceNo(const G4int pMax)
void G4SmartVoxelNode::SetMaxEquivalentSliceNo(G4int pMax)
{
fmaxEquivalent=pMax;
}
@@ -49,7 +65,7 @@ G4int G4SmartVoxelNode::GetMinEquivalentSliceNo() const
}
inline
void G4SmartVoxelNode::SetMinEquivalentSliceNo(const G4int pMin)
void G4SmartVoxelNode::SetMinEquivalentSliceNo(G4int pMin)
{
fminEquivalent=pMin;
}
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelProxy.hh,v 1.4 2000/11/20 17:31:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelProxy.hh,v 1.4.4.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4SmartVoxelProxy
//
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4SmartVoxelProxy.icc,v 1.1 2000/04/20 16:49:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SmartVoxelProxy.icc,v 1.1.4.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4SmartVoxelProxy Inline implementation
@@ -1,19 +1,35 @@
// 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.
// ********************************************************************
// * 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: G4SolidStore.hh,v 1.4 2000/04/20 16:49:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4SolidStore.hh,v 1.5.2.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4SolidStore
//
// Class description:
//
// Container for all solids, with functionality derived from
// G4RWTPtrOrderedVector<T>. The class is a `singleton', in that only
// std::vector<T>. The class is a `singleton', in that only
// one can exist, and access is provided via the static method
// G4SolidStore::GetInstance().
//
@@ -22,7 +38,7 @@
// container initially has a capacity of 100.
//
// If much additional functionality is added, should consider containment
// instead of inheritance for G4RWTPtrOrderedVector<T>
// instead of inheritance for std::vector<T>
//
// Member data:
//
@@ -30,16 +46,17 @@
// - Ptr to the single G4SolidStore
// History:
// 10.07.95 P.Kent Initial version
// 18.04.01 G.Cosmo Migrated to STL vector
// 10.07.95 P.Kent Initial version
#ifndef G4VSOLIDSTORE_HH
#define G4VSOLIDSTORE_HH
#include "g4rw/tpordvec.h"
#include "g4std/vector"
#include "G4VSolid.hh"
class G4SolidStore : public G4RWTPtrOrderedVector<G4VSolid>
class G4SolidStore : public G4std::vector<G4VSolid*>
{
public: // with description
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VPVParameterisation.hh,v 1.3 2000/04/20 16:49:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VPVParameterisation.hh,v 1.3.4.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4VPVParamterisation
//
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VPhysicalVolume.hh,v 1.5 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VPhysicalVolume.hh,v 1.5.4.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VPhysicalVolume
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VPhysicalVolume.icc,v 1.4 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VPhysicalVolume.icc,v 1.4.4.1 2001/06/28 19:08:27 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VPhysicalVolume Inline Implementation
+25 -9
View File
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VSolid.hh,v 1.7 2000/11/01 15:39:33 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VSolid.hh,v 1.8.2.1 2001/06/28 19:08:28 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VSolid
@@ -61,9 +77,9 @@ class G4VisExtent;
class G4DisplacedSolid;
#include "G4ThreeVector.hh"
#include "g4rw/tvordvec.h"
#include "g4std/vector"
typedef G4RWTValOrderedVector<G4ThreeVector> G4ThreeVectorList;
typedef G4std::vector<G4ThreeVector> G4ThreeVectorList;
typedef G4String G4GeometryType;
class G4VSolid
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VSolid.icc,v 1.4 2000/11/01 15:39:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VSolid.icc,v 1.4.4.1 2001/06/28 19:08:28 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4VSolid Inline implementation
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VTouchable.hh,v 1.4 2000/11/01 15:39:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VTouchable.hh,v 1.4.4.1 2001/06/28 19:08:28 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VTouchable
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VTouchable.icc,v 1.4 2000/11/01 15:39:34 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VTouchable.icc,v 1.4.4.1 2001/06/28 19:08:28 gunter Exp $
// GEANT4 tag $Name: $
//
//
// class G4VTouchable Inline implementation
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VoxelLimits.hh,v 1.4 2000/04/20 16:49:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VoxelLimits.hh,v 1.4.4.1 2001/06/28 19:08:28 gunter Exp $
// GEANT4 tag $Name: $
//
// class G4VoxelLimits
//
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: G4VoxelLimits.icc,v 1.1 2000/04/20 16:49:48 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: G4VoxelLimits.icc,v 1.1.4.1 2001/06/28 19:08:29 gunter Exp $
// GEANT4 tag $Name: $
//
//
// G4VoxelLimits Inline implementation
+23 -7
View File
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: meshdefs.hh,v 1.3 2000/04/20 16:49:49 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: meshdefs.hh,v 1.3.4.1 2001/06/28 19:08:29 gunter Exp $
// GEANT4 tag $Name: $
//
//
// Tube/Cone Meshing constants for extent calculations
@@ -1,12 +1,28 @@
// 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.
// ********************************************************************
// * 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: voxeldefs.hh,v 1.4 2000/04/20 16:49:49 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
// $Id: voxeldefs.hh,v 1.4.4.1 2001/06/28 19:08:29 gunter Exp $
// GEANT4 tag $Name: $
//
//
//