Import Geant4 0.0.0 source tree
This commit is contained in:
@@ -0,0 +1 @@
|
||||
*.rz
|
||||
@@ -0,0 +1,77 @@
|
||||
// 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: G3CalcParams.hh,v 2.3 1998/10/05 15:26:05 lockman Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
// class G3CalcParams
|
||||
//
|
||||
// Class inheriting from G4VPVParameterisation to provide GSDVN
|
||||
// functionality
|
||||
//
|
||||
// History:
|
||||
// 03.09.96 T. Wenaus Initial version
|
||||
|
||||
#ifndef G3CALCPARAMS_HH
|
||||
#define G3CALCPARAMS_HH
|
||||
|
||||
#include <math.h>
|
||||
#include "globals.hh"
|
||||
#include "G4VPVParameterisation.hh"
|
||||
|
||||
class G3CalcParams: public G4VPVParameterisation
|
||||
{
|
||||
public:
|
||||
G3CalcParams(G4int ndiv, G4double width, G4double offset)
|
||||
{ fNdiv = ndiv; fWidth = width; fOffset = offset;}
|
||||
|
||||
void ComputeTransformation(const G4int n,
|
||||
G4VPhysicalVolume *pRep) const;
|
||||
|
||||
void ComputeDimensions(G4Box &pBox,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *pRep) const;
|
||||
|
||||
void ComputeDimensions(G4Tubs &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Trd &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Trap &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Cons &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Sphere &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Torus &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Para &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
void ComputeDimensions(G4Hype &,
|
||||
const G4int,
|
||||
const G4VPhysicalVolume *) const;
|
||||
|
||||
private:
|
||||
G4int fNdiv;
|
||||
G4double fWidth;
|
||||
G4double fOffset;
|
||||
|
||||
};
|
||||
#endif
|
||||
@@ -0,0 +1,41 @@
|
||||
// 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: G3DetTable.hh,v 2.1 1998/07/12 02:54:11 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// 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"
|
||||
|
||||
class G4VSensitiveDetector;
|
||||
|
||||
struct DetTableEntry {
|
||||
G4String name;
|
||||
G4int detid;
|
||||
G4VSensitiveDetector* detpt;
|
||||
};
|
||||
declare (RWGDlist, DetTableEntry)
|
||||
|
||||
class G3DetTable {
|
||||
private:
|
||||
RWGDlist(DetTableEntry) DetT;
|
||||
RWGDlist(DetTableEntry)* DetTable;
|
||||
public:
|
||||
G3DetTable();
|
||||
~G3DetTable();
|
||||
G4VSensitiveDetector* get(G4String name);
|
||||
G4int GetID(G4String name);
|
||||
void put(G4String name, G4int detid, G4VSensitiveDetector* detpt);
|
||||
};
|
||||
|
||||
extern G3DetTable G3Det;
|
||||
@@ -0,0 +1,88 @@
|
||||
// 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: G3G4Interface.hh,v 2.1 1998/07/12 02:54:11 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// Interfaces for G3 equivalent routines
|
||||
//
|
||||
|
||||
#include "globals.hh"
|
||||
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 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);
|
||||
|
||||
void G4gsatt(G4String name, G4String attr, G4int ival);
|
||||
|
||||
void G4gsdvn(G4String vname, G4String vmoth, G4int ndiv, G4int iaxis);
|
||||
|
||||
void G4gsdvt(G4String name, G4String moth, G4double Step, G4int iaxis,
|
||||
G4int numed, G4int ndvmx);
|
||||
|
||||
void G4gsdvx(G4String name, G4String moth, G4int ndiv, G4int iaxis,
|
||||
G4double Step, G4double c0, G4int numed, G4int ndvmx);
|
||||
|
||||
void G4gsdvn2(G4String name, G4String moth, G4int ndiv, G4int iaxis,
|
||||
G4double c0, G4int numed);
|
||||
|
||||
void G4gsdvt2(G4String name, G4String moth, G4double Step, G4int iaxis,
|
||||
G4double c0, G4int numed, G4int ndvmx);
|
||||
|
||||
void G4gsmate(G4int imate, G4String name, G4double a, G4double z,
|
||||
G4double dens, G4double radl, G4int nwbf, G4double* ubuf);
|
||||
|
||||
void G4gsmixt(G4int imate, G4String name, G4double a[], G4double* z,
|
||||
G4double dens, G4int nlmat, G4double* wmat);
|
||||
|
||||
void G4gstmed(G4int itmed, G4String name, G4int nmat, G4int isvol,
|
||||
G4int ifield, G4double fieldm, G4double tmaxfd,
|
||||
G4double stemax, G4double deemax, G4double epsil,
|
||||
G4double stmin, G4double* par, G4int npar);
|
||||
|
||||
void G4gstpar(G4int itmed, G4String chpar, G4double parval);
|
||||
|
||||
void G4gspart(G4int ipart, G4String chnpar, G4int itrtyp, G4double amass,
|
||||
G4double charge, G4double tlife, G4double* ubuf,
|
||||
G4int nwb);
|
||||
|
||||
void G4gsdk(G4int ipart, G4double* bratio, G4int* mode);
|
||||
|
||||
void G4gsdet(G4String chset, G4String chdet, G4int nv, G4String* chnmsv,
|
||||
G4int* nbitsv, G4int idtyp, G4int nwhi, G4int nwdi);
|
||||
|
||||
void G4gsdetv(G4String chset, G4String chdet, G4int idtyp, G4int nwhi,
|
||||
G4int nwdi);
|
||||
|
||||
void G4gsdeta(G4String chset, G4String chdet, G4String chali,
|
||||
G4int nwhi, G4int nwdi);
|
||||
|
||||
void G4gsdeth(G4String chset, G4String chdet, G4int nh, G4String* chnamh,
|
||||
G4int* nbitsh, G4double* orig, G4double* fact);
|
||||
|
||||
void G4gsdetd(G4String chset, G4String chdet, G4int nd, G4String* chnmsd,
|
||||
G4int* nbitsd);
|
||||
|
||||
void G4gsdetu(G4String chset, G4String chdet, G4int nupar, G4double* upar);
|
||||
|
||||
void G4ggclos();
|
||||
|
||||
G4LogicalVolume* G4BuildGeom(G4String& inFile);
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
// 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: G3MatTable.hh,v 2.1 1998/07/12 02:54:12 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// 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 "G4Material.hh"
|
||||
|
||||
struct MatTableEntry {
|
||||
G4int matid;
|
||||
G4Material* matpt;
|
||||
};
|
||||
declare (RWGDlist, MatTableEntry)
|
||||
|
||||
class G3MatTable {
|
||||
private:
|
||||
RWGDlist(MatTableEntry) MatT;
|
||||
RWGDlist(MatTableEntry)* MatTable;
|
||||
public:
|
||||
G3MatTable();
|
||||
~G3MatTable();
|
||||
G4Material* get(G4int matid);
|
||||
void put(G4int* matid, G4Material* matpt);
|
||||
};
|
||||
|
||||
extern G3MatTable G3Mat;
|
||||
@@ -0,0 +1,50 @@
|
||||
// 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: G3MedTable.hh,v 2.1 1998/07/12 02:54:13 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// 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 "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 G3MedTable {
|
||||
private:
|
||||
RWGDlist(MedTableEntry) MedT;
|
||||
RWGDlist(MedTableEntry)* MedTable;
|
||||
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);
|
||||
};
|
||||
|
||||
extern G3MedTable G3Med;
|
||||
@@ -0,0 +1,38 @@
|
||||
// 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: G3PartTable.hh,v 2.1 1998/07/12 02:54:13 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// 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 "G4ParticleDefinition.hh"
|
||||
|
||||
struct PartTableEntry {
|
||||
G4int partid;
|
||||
G4ParticleDefinition* partpt;
|
||||
};
|
||||
declare (RWGDlist, PartTableEntry)
|
||||
|
||||
class G3PartTable {
|
||||
private:
|
||||
RWGDlist(PartTableEntry) PartT;
|
||||
RWGDlist(PartTableEntry)* PartTable;
|
||||
public:
|
||||
G3PartTable();
|
||||
~G3PartTable();
|
||||
G4ParticleDefinition* get(G4int partid);
|
||||
void put(G4int* partid, G4ParticleDefinition* partpt);
|
||||
};
|
||||
|
||||
extern G3PartTable G3Part;
|
||||
@@ -0,0 +1,38 @@
|
||||
// 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: G3RotTable.hh,v 2.1 1998/07/12 02:54:14 urbi Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
//
|
||||
// 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)
|
||||
|
||||
class G3RotTable {
|
||||
private:
|
||||
RWGDlist(RotTableEntry) RotT;
|
||||
RWGDlist(RotTableEntry)* RotTable;
|
||||
public:
|
||||
G3RotTable();
|
||||
~G3RotTable();
|
||||
G4RotationMatrix* get(G4int rotid);
|
||||
void put(G4int* rotid, G4RotationMatrix* rotpt);
|
||||
};
|
||||
|
||||
extern G3RotTable G3Rot;
|
||||
@@ -0,0 +1,100 @@
|
||||
// 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.
|
||||
|
||||
#include <rw/gdlist.h>
|
||||
#include <rw/tpordvec.h>
|
||||
|
||||
#include "globals.hh"
|
||||
#include "geomdefs.hh"
|
||||
#include "G4VSolid.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
|
||||
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 {
|
||||
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;
|
||||
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
|
||||
};
|
||||
|
||||
extern G3VolTable G3Vol; // logical volumes
|
||||
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
// 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: G3toG4.hh,v 2.0 1998/07/02 16:15:57 gunter Exp $
|
||||
// GEANT4 tag $Name: geant4-00 $
|
||||
//
|
||||
#ifndef _G3TOG4_
|
||||
#define _G3TOG4_
|
||||
|
||||
#include "globals.hh"
|
||||
|
||||
extern G4int Ipar[1000];
|
||||
extern G4double Rpar[1000];
|
||||
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);
|
||||
|
||||
#include "G3G4Interface.hh"
|
||||
|
||||
// Parameter types for Geant routines
|
||||
// s=string i=integer r=real capitalized=array
|
||||
// In case of arrays, the last integer before the array is the
|
||||
// number of elements.
|
||||
#define PTgsvolu "ssiiR"
|
||||
#define PTgspos "sisrrris"
|
||||
#define PTgsposp "sisrrrisiR"
|
||||
#define PTgsatt "ssi"
|
||||
#define PTgsrotm "irrrrrr"
|
||||
#define PTgsdvn "ssii"
|
||||
#define PTgsdvt "ssriii"
|
||||
#define PTgsdvx "ssiirrii"
|
||||
#define PTgsdvn2 "ssiiri"
|
||||
#define PTgsdvt2 "ssririi"
|
||||
#define PTgsmate "isrrrriR"
|
||||
#define PTgsmixt "isriRRR"
|
||||
#define PTgstmed "isiiirrrrrriR"
|
||||
#define PTgstpar "isr"
|
||||
#define PTgspart "isirrriR"
|
||||
#define PTgsdk "iiRI"
|
||||
#define PTgsdet "ssiSIiii"
|
||||
#define PTgsdetv "ssiii"
|
||||
#define PTgsdeta "sssii"
|
||||
#define PTgsdeth "ssiSIRR"
|
||||
#define PTgsdetd "ssiSI"
|
||||
#define PTgsdetu "ssiR"
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,26 @@
|
||||
* 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: G3toG4.inc,v 2.1 1998/09/18 08:54:55 lockman Exp $
|
||||
* GEANT4 tag $Name: geant4-00 $
|
||||
*
|
||||
integer maxlines
|
||||
parameter (maxlines = 750) ! max no. of cmd lines per C++ source file
|
||||
|
||||
integer irot_index
|
||||
integer imat_index
|
||||
character context*4
|
||||
logical doclist ! Build call list
|
||||
logical docode ! Build C++ code
|
||||
logical dogeom ! Build the Geant geometry as well
|
||||
integer lunlist ! Output logical unit for call list
|
||||
integer luncode ! Output logical unit for code
|
||||
integer nfile ! Current source code file number
|
||||
integer nlines ! Current source code line count
|
||||
common /g3tog4_c/ irot_index, imat_index,
|
||||
+ doclist, docode, dogeom, lunlist, luncode, context, nfile,
|
||||
+ nlines
|
||||
@@ -0,0 +1,32 @@
|
||||
// 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: G3toG4RotationMatrix.hh,v 2.1 1998/11/07 04:11:44 lockman Exp $
|
||||
//
|
||||
#ifndef _G3toG4ROTATION_
|
||||
#define _G3toG4ROTATION_
|
||||
|
||||
#include "G4RotationMatrix.hh"
|
||||
#include "globals.hh"
|
||||
|
||||
class G3toG4RotationMatrix : public G4RotationMatrix
|
||||
{
|
||||
public:
|
||||
G3toG4RotationMatrix();
|
||||
|
||||
void SetRotationMatrixByCol(const G4ThreeVector& Col1,
|
||||
const G4ThreeVector& Col2,
|
||||
const G4ThreeVector& Col3);
|
||||
|
||||
void SetRotationMatrixByRow(const G4ThreeVector& Row1,
|
||||
const G4ThreeVector& Row2,
|
||||
const G4ThreeVector& Row3);
|
||||
|
||||
~G3toG4RotationMatrix();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,56 @@
|
||||
// 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,29 @@
|
||||
* 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: gcbank.inc,v 2.0 1998/07/02 16:16:01 gunter Exp $
|
||||
* GEANT4 tag $Name: geant4-00 $
|
||||
*
|
||||
INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG
|
||||
INTEGER KWBANK,KWWORK,IWS
|
||||
REAL GVERSN,ZVERSN,FENDQ,WS,Q
|
||||
C
|
||||
PARAMETER (KWBANK=69000,KWWORK=5200)
|
||||
COMMON/GCBANK/NZEBRA,GVERSN,ZVERSN,IXSTOR,IXDIV,IXCONS,FENDQ(16)
|
||||
+ ,LMAIN,LR1,WS(KWBANK)
|
||||
DIMENSION IQ(2),Q(2),LQ(8000),IWS(2)
|
||||
EQUIVALENCE (Q(1),IQ(1),LQ(9)),(LQ(1),LMAIN),(IWS(1),WS(1))
|
||||
EQUIVALENCE (JCG,JGSTAT)
|
||||
C
|
||||
INTEGER JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART
|
||||
+ ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX
|
||||
+ ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT
|
||||
C
|
||||
COMMON/GCLINK/JDIGI ,JDRAW ,JHEAD ,JHITS ,JKINE ,JMATE ,JPART
|
||||
+ ,JROTM ,JRUNG ,JSET ,JSTAK ,JGSTAT,JTMED ,JTRACK,JVERTX
|
||||
+ ,JVOLUM,JXYZ ,JGPAR ,JGPAR2,JSKLT
|
||||
C
|
||||
Reference in New Issue
Block a user