Import Geant4 0.1.0 source tree
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3CalcParams.hh,v 2.3 1998/10/05 15:26:05 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3CalcParams.hh,v 1.1 1999/01/07 16:06:42 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
// class G3CalcParams
|
||||
//
|
||||
|
||||
@@ -5,37 +5,50 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3DetTable.hh,v 2.1 1998/07/12 02:54:11 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3DetTable.hh,v 1.2 1999/05/07 04:15:57 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// G3 materials table.
|
||||
// Maps G3 material indices to their G4 material object counterparts.
|
||||
// Maintains a linked List of G3 material index/G4 material pointer pairs.
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
#include <rw/tphdict.h>
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
class G4VSensitiveDetector;
|
||||
|
||||
struct DetTableEntry {
|
||||
G4String name;
|
||||
G4int detid;
|
||||
G4VSensitiveDetector* detpt;
|
||||
class DetTableEntry {
|
||||
private:
|
||||
G4String _set;
|
||||
G4String _det;
|
||||
G4int _id;
|
||||
G4VSensitiveDetector* _detpt;
|
||||
|
||||
public:
|
||||
DetTableEntry(G4String& set, G4String& det, G4int id,
|
||||
G4VSensitiveDetector* D);
|
||||
~DetTableEntry();
|
||||
G4VSensitiveDetector* getSD();
|
||||
G4String getset();
|
||||
G4String getdet();
|
||||
G4int getid();
|
||||
};
|
||||
declare (RWGDlist, DetTableEntry)
|
||||
|
||||
class G3DetTable {
|
||||
private:
|
||||
RWGDlist(DetTableEntry) DetT;
|
||||
RWGDlist(DetTableEntry)* DetTable;
|
||||
RWTPtrHashDictionary<G4String, DetTableEntry>* _Det;
|
||||
G4String MakeHash(G4String& set, G4String& det);
|
||||
DetTableEntry* _DTE;
|
||||
|
||||
public:
|
||||
G3DetTable();
|
||||
~G3DetTable();
|
||||
G4VSensitiveDetector* get(G4String name);
|
||||
G4int GetID(G4String name);
|
||||
void put(G4String name, G4int detid, G4VSensitiveDetector* detpt);
|
||||
G3DetTable();
|
||||
~G3DetTable();
|
||||
G4VSensitiveDetector* getSD(G4String& set, G4String& det);
|
||||
G4int GetID(G4String& set, G4String& det);
|
||||
void put(G4String& set, G4String& det, G4int id, G4VSensitiveDetector* D);
|
||||
|
||||
};
|
||||
|
||||
extern G3DetTable G3Det;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef _G4ELETABLE_
|
||||
#define _G4ELETABLE_ 1
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3EleTable.hh,v 1.1 1999/05/06 04:19:58 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
#include <rw/ctoken.h>
|
||||
#include <rw/tpordvec.h>
|
||||
#include "globals.hh"
|
||||
#include "G4Element.hh"
|
||||
|
||||
class G3EleTable{
|
||||
|
||||
public:
|
||||
G3EleTable();
|
||||
virtual ~G3EleTable();
|
||||
G4Element* GetEle(G4double Z);
|
||||
|
||||
private:
|
||||
void LoadUp();
|
||||
int parse(G4double& Z, char* name, char* sym, G4double& A);
|
||||
|
||||
private:
|
||||
char** _EleNames;
|
||||
G4Element** _Ele;
|
||||
int _MaxEle;
|
||||
|
||||
};
|
||||
|
||||
extern G3EleTable G3Ele;
|
||||
#endif
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3G4Interface.hh,v 2.1 1998/07/12 02:54:11 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3G4Interface.hh,v 1.4 1999/05/26 03:46:16 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// Interfaces for G3 equivalent routines
|
||||
@@ -18,12 +18,13 @@ class G4LogicalVolume;
|
||||
void G4gsvolu(G4String name, G4String shape, G4int nmed, G4double* par,
|
||||
G4int npar);
|
||||
|
||||
void G4gspos(G4String name, G4int num, G4String moth, G4double x,
|
||||
G4double y, G4double z, G4int irot, G4String only);
|
||||
void G4gspos(G4String& name, G4int num, G4String& moth,
|
||||
G4double x, G4double y, G4double z, G4int irot,
|
||||
G4String& only);
|
||||
|
||||
void G4gsposp(G4String name, G4int num, G4String moth, G4double x,
|
||||
G4double y, G4double z, G4int irot, G4String only,
|
||||
G4double* Rpar, G4int npar);
|
||||
void G4gsposp(G4String& name, G4int num, G4String& moth,
|
||||
G4double x, G4double y, G4double z, G4int irot,
|
||||
G4String& only, G4double* Rpar, G4int npar);
|
||||
|
||||
void G4gsrotm(G4int irot, G4double theta1, G4double phi1,
|
||||
G4double theta2, G4double phi2, G4double theta3, G4double phi3);
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef _G3MATTABLE_
|
||||
#define _G3MATTABLE_ 1
|
||||
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
@@ -5,34 +8,26 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3MatTable.hh,v 2.1 1998/07/12 02:54:12 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3MatTable.hh,v 1.3 1999/05/06 17:46:37 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// G3 materials table.
|
||||
// Maps G3 material indices to their G4 material object counterparts.
|
||||
// Maintains a linked List of G3 material index/G4 material pointer pairs.
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
#include <rw/tpordvec.h>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Material.hh"
|
||||
|
||||
struct MatTableEntry {
|
||||
G4int matid;
|
||||
G4Material* matpt;
|
||||
};
|
||||
declare (RWGDlist, MatTableEntry)
|
||||
class G4Material;
|
||||
|
||||
class G3MatTable {
|
||||
private:
|
||||
RWGDlist(MatTableEntry) MatT;
|
||||
RWGDlist(MatTableEntry)* MatTable;
|
||||
RWTPtrOrderedVector<G4Material>* _Mat;
|
||||
public:
|
||||
G3MatTable();
|
||||
~G3MatTable();
|
||||
G4Material* get(G4int matid);
|
||||
void put(G4int* matid, G4Material* matpt);
|
||||
G3MatTable();
|
||||
~G3MatTable();
|
||||
G4Material* get(G4int matid);
|
||||
void put(G4int matid, G4Material* matpt);
|
||||
};
|
||||
|
||||
extern G3MatTable G3Mat;
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef _G3MEDTABLE_
|
||||
#define _G3MEDTABLE_ 1
|
||||
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
@@ -5,46 +8,25 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3MedTable.hh,v 2.1 1998/07/12 02:54:13 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3MedTable.hh,v 1.3 1999/05/06 18:01:50 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// G3 materials table.
|
||||
// Maps G3 material indices to their G4 material object counterparts.
|
||||
// Maintains a linked List of G3 material index/G4 material pointer pairs.
|
||||
// Maps G3 tracking media indices to G4Material*
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
#include <rw/tpordvec.h>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4Material.hh"
|
||||
|
||||
class G4MagneticField;
|
||||
class G4UserLimits;
|
||||
|
||||
struct MedTableEntry {
|
||||
G4int medid;
|
||||
G4Material* matpt;
|
||||
G4MagneticField* magpt;
|
||||
G4UserLimits* limpt;
|
||||
G4int isvol;
|
||||
G4double deemax;
|
||||
G4double epsil;
|
||||
};
|
||||
declare (RWGDlist, MedTableEntry)
|
||||
class G4Material;
|
||||
|
||||
class G3MedTable {
|
||||
private:
|
||||
RWGDlist(MedTableEntry) MedT;
|
||||
RWGDlist(MedTableEntry)* MedTable;
|
||||
RWTPtrOrderedVector<G4Material>* _Med;
|
||||
public:
|
||||
G3MedTable();
|
||||
~G3MedTable();
|
||||
G4Material* GetMat(G4int medid); // get associated material
|
||||
G4MagneticField* GetMag(G4int medid);
|
||||
G4UserLimits* GetLim(G4int medid);
|
||||
void put(G4int medid, G4Material* matpt, G4MagneticField* field,
|
||||
G4UserLimits* limits, G4int isvol,
|
||||
G4double deemax, G4double epsil);
|
||||
G3MedTable();
|
||||
~G3MedTable();
|
||||
G4Material* get(G4int medid);
|
||||
void put(G4int medid, G4Material* matpt);
|
||||
};
|
||||
|
||||
extern G3MedTable G3Med;
|
||||
#endif
|
||||
|
||||
@@ -5,34 +5,27 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3PartTable.hh,v 2.1 1998/07/12 02:54:13 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3PartTable.hh,v 1.2 1999/05/18 03:49:01 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// G3 materials table.
|
||||
// Maps G3 material indices to their G4 material object counterparts.
|
||||
// Maintains a linked List of G3 material index/G4 material pointer pairs.
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
|
||||
#include "globals.hh"
|
||||
#include <rw/tphdict.h>
|
||||
#include "G4ParticleDefinition.hh"
|
||||
|
||||
struct PartTableEntry {
|
||||
G4int partid;
|
||||
G4ParticleDefinition* partpt;
|
||||
};
|
||||
declare (RWGDlist, PartTableEntry)
|
||||
|
||||
class G3PartTable {
|
||||
private:
|
||||
RWGDlist(PartTableEntry) PartT;
|
||||
RWGDlist(PartTableEntry)* PartTable;
|
||||
RWTPtrHashDictionary<G4String, G4ParticleDefinition>* _PTD;
|
||||
void HashID(G4int partid, G4String* _HID);
|
||||
void HashID(G4int partid, G4String& _HID);
|
||||
public:
|
||||
G3PartTable();
|
||||
~G3PartTable();
|
||||
G4ParticleDefinition* get(G4int partid);
|
||||
void put(G4int* partid, G4ParticleDefinition* partpt);
|
||||
void put(G4int partid, G4ParticleDefinition* partpt);
|
||||
};
|
||||
|
||||
extern G3PartTable G3Part;
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#ifndef _G3POS_
|
||||
#define _G3POS_ 1
|
||||
|
||||
#include "G4ThreeVector.hh"
|
||||
|
||||
class VolTableEntry;
|
||||
|
||||
class G3Pos{
|
||||
private:
|
||||
VolTableEntry* _VTE;
|
||||
G4int _Copy;
|
||||
G4String _LV;
|
||||
G4ThreeVector* _Position;
|
||||
G4int _Irot;
|
||||
G4String _Only;
|
||||
public:
|
||||
G3Pos(){;}
|
||||
|
||||
G3Pos(G4String& LV, G4int C, G4ThreeVector* T, G4int R, G4String& O);
|
||||
|
||||
G4bool operator == (const G3Pos& g3p) const;
|
||||
|
||||
virtual ~G3Pos();
|
||||
|
||||
VolTableEntry* GetVTE();
|
||||
|
||||
G4String& GetName();
|
||||
|
||||
G4int GetIrot();
|
||||
|
||||
G4ThreeVector* GetPos();
|
||||
|
||||
G4int GetCopy();
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef _G3ROTTABLE_
|
||||
#define _G3ROTTABLE_ 1
|
||||
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
@@ -5,34 +8,26 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3RotTable.hh,v 2.1 1998/07/12 02:54:14 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3RotTable.hh,v 1.5 1999/05/26 03:46:29 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
//
|
||||
// G3 materials table.
|
||||
// Maps G3 material indices to their G4 material object counterparts.
|
||||
// Maintains a linked List of G3 material index/G4 material pointer pairs.
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "G4RotationMatrix.hh"
|
||||
|
||||
struct RotTableEntry {
|
||||
G4int rotid;
|
||||
G4RotationMatrix* rotpt;
|
||||
};
|
||||
declare (RWGDlist, RotTableEntry)
|
||||
#include <rw/tpordvec.h>
|
||||
#include "G3toG4RotationMatrix.hh"
|
||||
|
||||
class G3RotTable {
|
||||
private:
|
||||
RWGDlist(RotTableEntry) RotT;
|
||||
RWGDlist(RotTableEntry)* RotTable;
|
||||
RWTPtrOrderedVector<G3toG4RotationMatrix>* _Rot;
|
||||
public:
|
||||
G3RotTable();
|
||||
~G3RotTable();
|
||||
G4RotationMatrix* get(G4int rotid);
|
||||
void put(G4int* rotid, G4RotationMatrix* rotpt);
|
||||
G3RotTable();
|
||||
~G3RotTable();
|
||||
G3toG4RotationMatrix* Get(G4int rotid);
|
||||
void Put(G4int rotid, G3toG4RotationMatrix* rotpt);
|
||||
};
|
||||
|
||||
extern G3RotTable G3Rot;
|
||||
#endif
|
||||
|
||||
@@ -1,100 +1,46 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3VolTable.hh,v 2.1 1998/07/12 02:54:15 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// G3 logical volume table.
|
||||
// Maps G3 logical volume names to their G4 logical volume object
|
||||
// counterparts.
|
||||
// Maintains a linked List of G3 volume names//G4 logical volume pointer
|
||||
// pairs.
|
||||
#ifndef _G3VOLTABLE_
|
||||
#define _G3VOLTABLE_ 1
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
#include <rw/tpordvec.h>
|
||||
#include <rw/tphdict.h>
|
||||
#include "VolTableEntry.hh"
|
||||
|
||||
#include "globals.hh"
|
||||
#include "geomdefs.hh"
|
||||
#include "G4VSolid.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class G4VSolid;
|
||||
|
||||
struct VolTableEntry {
|
||||
G4String vname;
|
||||
G4VSolid* solid;
|
||||
G4LogicalVolume* lvpt;
|
||||
G4VPhysicalVolume* pvpt;
|
||||
G4double rangehi[3]; // ranges
|
||||
G4double rangelo[3]; // ranges
|
||||
EAxis *axiscode; // axis codes
|
||||
G4int tmed;
|
||||
G4String shape;
|
||||
G4double* par;
|
||||
G4int npar;
|
||||
G4int count; // number of instantiations for vols indexed due to -ve pars
|
||||
RWTPtrOrderedVector<G4LogicalVolume> lVols; // vector of instantiated volumes
|
||||
RWTPtrOrderedVector<G4VPhysicalVolume> pVols; // vector of instantiated phys volumes
|
||||
};
|
||||
declare (RWGDlist, VolTableEntry)
|
||||
|
||||
class G3VolTable {
|
||||
class G3VolTable{
|
||||
private:
|
||||
RWGDlist(VolTableEntry) VolT;
|
||||
RWGDlist(VolTableEntry)* VolTable;
|
||||
VolTableEntry* curEntry;
|
||||
G4int ScanTmed;
|
||||
G4int nEntry;
|
||||
EAxis Rect[3];
|
||||
EAxis Polar[3];
|
||||
static G4VPhysicalVolume* mothPV; // mother of all mothers
|
||||
static G4LogicalVolume* mothLV; // mother of all mothers logical volume
|
||||
RWTPtrOrderedVector<G4VPhysicalVolume>* pVolsPtr;
|
||||
VolTableEntry* G3toG4TopVTE;
|
||||
G4String _FirstKey;
|
||||
VolTableEntry* _VTE;
|
||||
RWTPtrHashDictionary <G4String, VolTableEntry>* _VTD;
|
||||
G4int _NVTE;
|
||||
G4int _NG3Pos;
|
||||
|
||||
public:
|
||||
G3VolTable();
|
||||
~G3VolTable();
|
||||
G4LogicalVolume* GetLV();
|
||||
G4LogicalVolume* GetLVx(G4String &);
|
||||
G4LogicalVolume* GetLV(G4String* vname);
|
||||
G4VPhysicalVolume* GetPV(); // simply return the mother of all volumes
|
||||
G4VPhysicalVolume* GetPV(G4int npv); // Use pVols table of last retrieved phys vol
|
||||
// FindPV : look up PV in table to use in placement; if no associated PV, use
|
||||
// global mother
|
||||
void FindPV(G4int* npv, G4String* vname);
|
||||
// MatchPV: look up PV only
|
||||
void MatchPV(G4int* npv, G4String* vname);
|
||||
void GetLVPars(G4String* vname, G4int iaxis, G4double* rangehi,
|
||||
G4double* rangelo, EAxis*,
|
||||
G4String* shape, G4int* nmed, G4double* par[],
|
||||
G4int* npar, G4VSolid* solid);
|
||||
void GetLVInfo(G4String* vname, G4String* shape, G4int* nmed);
|
||||
void AddConstituentLVol(G4String* vname, G4LogicalVolume* lvol);
|
||||
void PutLV(G4String* vname, G4LogicalVolume* lvpt, G4int tmed,
|
||||
G4double rnghi[], G4double rnglo[],
|
||||
EAxis axis, G4String shape,
|
||||
G4double par[], G4int npar, G4VSolid* solid);
|
||||
// For case where nothing is known about the volume; it doesn't
|
||||
// come from g3tog4 (eg. externally specified global mother)
|
||||
void PutLV(G4String* vname, G4LogicalVolume* lvpt);
|
||||
// Builds List of all physical volume instantiations of a Indexed volume implemented
|
||||
// as individual logical volumes (so when daughters are added, they must be added
|
||||
// to the logical volumes of all the physical volumes in this List)
|
||||
void PutPV(G4String* vname, G4VPhysicalVolume* lvpt);
|
||||
// For non-Indexed volumes, builds a List of one element only
|
||||
void PutPV1(G4String* vname, G4VPhysicalVolume* lvpt);
|
||||
void MatchTmed(G4int tmed);
|
||||
G4LogicalVolume* NextTmed();
|
||||
G4int GetEntryCount() { return VolTable->entries();};
|
||||
void SetMother(G4VPhysicalVolume* mpv); // set mother-of-all
|
||||
void SetMother(G4LogicalVolume* mlv); // set mother-of-all
|
||||
void SetMother(); // set mother of all pointers to null
|
||||
VolTableEntry* find(G4String* vname); // find entry from vol name
|
||||
G4int Increment(G4String* vname); // Increment instantiation counter
|
||||
VolTableEntry* PutVTE(VolTableEntry* aVTE);
|
||||
RWTPtrHashDictionary <G4String, VolTableEntry>* GetVTD() ;
|
||||
VolTableEntry* GetVTE(const G4String& Vname);
|
||||
void ListVTE();
|
||||
G3VolTable();
|
||||
virtual ~G3VolTable();
|
||||
G4LogicalVolume* GetG3toG4Mother();
|
||||
VolTableEntry* GetFirstVTE();
|
||||
void SetFirstVTE();
|
||||
void VTEStat();
|
||||
void CountG3Pos();
|
||||
};
|
||||
|
||||
extern G3VolTable G3Vol; // logical volumes
|
||||
extern G3VolTable G3Vol;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3toG4.hh,v 2.0 1998/07/02 16:15:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
// $Id: G3toG4.hh,v 1.2 1999/05/15 00:16:53 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00-01 $
|
||||
//
|
||||
#ifndef _G3TOG4_
|
||||
#define _G3TOG4_
|
||||
@@ -20,8 +20,8 @@ extern RWCString Spar[1000];
|
||||
//extern G4double min(G4double, G4double);
|
||||
|
||||
void G3fillParams(RWCString *tokens, char *ptypes);
|
||||
G4bool G3NegVolPars(G4double pars[], G4int* np, G4String vol, G4String moth,
|
||||
char* routine);
|
||||
// G4bool G3NegVolPars(G4double pars[], G4int* np, G4String vol, G4String moth,
|
||||
// char* routine);
|
||||
|
||||
#include "G3G4Interface.hh"
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
* based on the Program) you indicate your acceptance of this statement,
|
||||
* and all its terms.
|
||||
*
|
||||
* $Id: G3toG4.inc,v 2.1 1998/09/18 08:54:55 lockman Exp $
|
||||
* GEANT4 tag $Name: geant4-00 $
|
||||
* $Id: G3toG4.inc,v 1.1 1999/01/07 16:06:44 gunter Exp $
|
||||
* GEANT4 tag $Name: geant4-00-01 $
|
||||
*
|
||||
integer maxlines
|
||||
parameter (maxlines = 750) ! max no. of cmd lines per C++ source file
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#ifndef _G3TOG4BUILDTREE_
|
||||
#define _G3TOG4BUILDTREE_ 1
|
||||
#include "VolTableEntry.hh"
|
||||
void G3toG4BuildTree(VolTableEntry* MotherVTE);
|
||||
#endif
|
||||
@@ -0,0 +1,9 @@
|
||||
#ifndef _G3TOG4MAKESOLID_
|
||||
#define _G3TOG4MAKESOLID_ 1
|
||||
G4VSolid* G3toG4MakeSolid(const G4String& vname, const G4String& shape,
|
||||
const G4double* Rpar, const G4int npar,
|
||||
G4bool& NegVolPars, G4bool& Deferred,
|
||||
G4bool* OKAxis);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3toG4RotationMatrix.hh,v 2.1 1998/11/07 04:11:44 lockman Exp $
|
||||
// $Id: G3toG4RotationMatrix.hh,v 1.1 1999/01/07 16:06:44 gunter Exp $
|
||||
//
|
||||
#ifndef _G3toG4ROTATION_
|
||||
#define _G3toG4ROTATION_
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
// This code implementation is the intellectual property of
|
||||
// the RD44 GEANT4 collaboration.
|
||||
//
|
||||
// By copying, distributing or modifying the Program (or any work
|
||||
// based on the Program) you indicate your acceptance of this statement,
|
||||
// and all its terms.
|
||||
//
|
||||
// $Id: G3toG4SetRotation.hh,v 2.1 1998/09/18 08:55:18 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
#ifndef _G3TOG4ROTATION_
|
||||
#define _G3TOG4ROTATION_
|
||||
|
||||
#include "G4RotationMatrix.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G3toG4SetRotation : public G4RotationMatrix
|
||||
{
|
||||
public:
|
||||
G3toG4SetRotation();
|
||||
|
||||
G3toG4SetRotation(const G4ThreeVector& col1,
|
||||
const G4ThreeVector& col2,
|
||||
const G4ThreeVector& col3);
|
||||
|
||||
~G3toG4SetRotation(){;}
|
||||
|
||||
inline void Setxx(const G4double axx) {rxx = axx;
|
||||
}
|
||||
|
||||
inline void Setxy(const G4double axy) {rxy = axy;
|
||||
}
|
||||
|
||||
inline void Setxz(const G4double axz) {rxz = axz;
|
||||
}
|
||||
|
||||
inline void Setyx(const G4double ayx) {ryx = ayx;
|
||||
}
|
||||
|
||||
inline void Setyy(const G4double ayy) {ryy = ayy;
|
||||
}
|
||||
|
||||
inline void Setyz(const G4double ayz) {ryz = ayz;
|
||||
}
|
||||
|
||||
inline void Setzx(const G4double azx) {rzx = azx;
|
||||
}
|
||||
|
||||
inline void Setzy(const G4double azy) {rzy = azy;
|
||||
}
|
||||
|
||||
inline void Setzz(const G4double azz) {rzz = azz;
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef _G4MAKEVOL_
|
||||
#define _G4MAKEVOL_ 1
|
||||
|
||||
void
|
||||
G4makevol(G4String& vname, G4String& shape, G4int nmed,
|
||||
G4double* Rpar, G4int npar);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
#ifndef _VOLTABLEENTRY_
|
||||
#define _VOLTABLEENTRY_ 1
|
||||
|
||||
#include <rw/tphdict.h>
|
||||
#include <rw/tpordvec.h>
|
||||
#include "G4ThreeVector.hh"
|
||||
#include "G3Pos.hh"
|
||||
|
||||
class G4LogicalVolume;
|
||||
class G4Material;
|
||||
class G4VSolid;
|
||||
|
||||
class VolTableEntry {
|
||||
private:
|
||||
G4int _Nmed;
|
||||
G4String _Vname;
|
||||
G4String _Shape;
|
||||
G4double* _Rpar;
|
||||
G4int _Npar;
|
||||
G4Material* _Mat;
|
||||
G4VSolid* _Solid;
|
||||
G4LogicalVolume* _LV;
|
||||
G4bool _Deferred;
|
||||
G4bool _NegVolPars;
|
||||
G4bool _OKAxis[3];
|
||||
G4int _DivisionAxis;
|
||||
VolTableEntry* _Mother;
|
||||
RWTPtrOrderedVector <VolTableEntry> _Daughters; // VolTableEntry Daughters
|
||||
RWTPtrOrderedVector <G3Pos> _G3Pos; // associated G3Pos objects
|
||||
|
||||
public:
|
||||
VolTableEntry(G4String& v, G4String& sh, G4double* R,
|
||||
G4int n, G4int nmed, G4Material* m,
|
||||
G4VSolid* so, G4bool Deferred,
|
||||
G4bool NegVolPars, G4bool* OKAxis);
|
||||
|
||||
virtual ~VolTableEntry();
|
||||
|
||||
void SetLV(G4LogicalVolume* ll);
|
||||
|
||||
G4String GetName();
|
||||
|
||||
G4VSolid* GetSolid();
|
||||
|
||||
void AddG3Pos(G3Pos* aG3Pos);
|
||||
|
||||
G4int NPCopies();
|
||||
|
||||
G3Pos* GetG3PosCopy(G4int copy=0);
|
||||
|
||||
G4bool HasNegVolPars();
|
||||
|
||||
G4bool HasDeferred();
|
||||
|
||||
G4String GetShape();
|
||||
|
||||
G4double* GetRpar();
|
||||
|
||||
G4int GetNpar();
|
||||
|
||||
G4Material* GetMaterial();
|
||||
|
||||
G4LogicalVolume* GetLV();
|
||||
|
||||
G4int GetNmed();
|
||||
|
||||
void AddDaughter(VolTableEntry* aDaughter);
|
||||
|
||||
G4int GetNoDaughters();
|
||||
|
||||
VolTableEntry* GetDaughter(G4int i);
|
||||
|
||||
VolTableEntry* GetMother();
|
||||
|
||||
void AddMother(VolTableEntry* itsMother);
|
||||
|
||||
VolTableEntry* FindDaughter(const G4String& vname);
|
||||
|
||||
G4bool operator == ( const VolTableEntry& vte) const;
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
* based on the Program) you indicate your acceptance of this statement,
|
||||
* and all its terms.
|
||||
*
|
||||
* $Id: gcbank.inc,v 2.0 1998/07/02 16:16:01 gunter Exp $
|
||||
* GEANT4 tag $Name: geant4-00 $
|
||||
* $Id: gcbank.inc,v 1.1 1999/01/07 16:06:45 gunter Exp $
|
||||
* GEANT4 tag $Name: geant4-00-01 $
|
||||
*
|
||||
INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG
|
||||
INTEGER KWBANK,KWWORK,IWS
|
||||
|
||||
Reference in New Issue
Block a user