Import Geant4 3.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:55:53 +02:00
parent e7d7193284
commit cfcb558cfe
3050 changed files with 91703 additions and 48310 deletions
-77
View File
@@ -1,77 +0,0 @@
// 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: G3CalcParams.hh,v 1.3 1999/12/09 01:27:41 lockman Exp $
// GEANT4 tag $Name: geant4-02-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 1
#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
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G3DetTable.hh,v 1.6 1999/12/15 14:49:42 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// G3DetTable class
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G3DetTableEntry.hh,v 1.3 1999/12/09 01:27:42 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// G3DetTableEntry class
+17 -3
View File
@@ -5,8 +5,20 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3Division.hh,v 1.3 1999/12/09 01:27:42 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3Division.hh,v 1.4 2000/11/24 09:50:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// This class tranforms G3 divided volumes to G4 replicated volumes.
// UpdateVTE() method checks parameters of mother volume
// and in case they are complete the solid that will be replicated
// is created. In case of division with offset an additinal envelope
// VTE (G3VolTableEntry instance) is created.
// CreatePVReplica() methods creates the G4PVReplica instance.
// ----------------------
//
// by I.Hrivnacova, V.Berejnoi, 27 Sep 99
@@ -24,7 +36,8 @@ enum G3DivType { kDvn, kDvn2, kDvt, kDvt2 };
class G3Division
{
public:
public: // with description
G3Division(G3DivType type, G3VolTableEntry* vte, G3VolTableEntry* mvte,
G4int nofDivision, G4int iaxis, G4int nmed, G4double c0,
G4double step);
@@ -37,6 +50,7 @@ class G3Division
G4VPhysicalVolume* CreatePVReplica();
private:
// methods
void SetRangeAndAxis();
void CreateSolid(G4String shape, G4double par[], G4int npar);
+19 -4
View File
@@ -5,9 +5,20 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3EleTable.hh,v 1.4 1999/12/09 01:27:42 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3EleTable.hh,v 1.5 2000/11/24 09:50:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// The table of elements.
// In the constructor an array of strings with element name,
// symbol and A are created.
// The G4Element instances of given Z are created when
// GetEle(G4double Z) is called using the string array.
// For each Z the G4Element is created only once.
// ----------------------
#ifndef G4ELETABLE_HH
#define G4ELETABLE_HH 1
@@ -17,18 +28,22 @@
#include "globals.hh"
#include "G4Element.hh"
class G3EleTable{
class G3EleTable
{
public: // with description
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;
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G3G4Interface.hh,v 1.7 1999/12/09 01:27:42 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// Interfaces for G3 equivalent routines
//
+13 -4
View File
@@ -5,8 +5,16 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3MatTable.hh,v 1.8 1999/12/09 01:27:42 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3MatTable.hh,v 1.9 2000/11/24 09:50:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// G3 materials table.
// Maps G3 material indices to their G4Material object counterparts.
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -25,17 +33,18 @@ typedef G4RWTPtrOrderedVector<G3MatTableEntry> G3MaterialVector;
class G3MatTable
{
public:
public: // with description
G3MatTable();
virtual ~G3MatTable();
// methods
// keep the same names of methods as in G4 g3tog4
G4Material* get(G4int id) const;
void put(G4int id, G4Material* material);
void Clear();
private:
G3MaterialVector* fMatVector;
};
+13 -3
View File
@@ -5,8 +5,16 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3MatTableEntry.hh,v 1.3 1999/12/09 01:27:43 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3MatTableEntry.hh,v 1.4 2000/11/24 09:50:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// The class associates the G3 material index with the
// corresponding G4Material object.
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -19,7 +27,8 @@ class G4Material;
class G3MatTableEntry
{
public:
public: // with description
G3MatTableEntry(G4int id, G4Material* material);
G3MatTableEntry(const G3MatTableEntry& right);
virtual ~G3MatTableEntry();
@@ -34,6 +43,7 @@ class G3MatTableEntry
G4Material* GetMaterial() const;
private:
// data members
G4int fID;
G4Material* fMaterial;
+16 -4
View File
@@ -5,8 +5,18 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3MedTable.hh,v 1.7 1999/12/09 01:27:43 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3MedTable.hh,v 1.8 2000/11/24 09:50:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// G3 tracking medium table.
// Maps G3 tracking medium indices to their corresponding
// G4 objects (G4Material, G4MagneticField, G4UserLimits)
// and the sensitivity flag (isvol).
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -27,17 +37,19 @@ typedef G4RWTPtrOrderedVector<G3MedTableEntry> G3MediumVector;
class G3MedTable
{
public:
public: // with description
G3MedTable();
virtual ~G3MedTable();
// methods
G3MedTableEntry* get(G4int id) const;
void put(G4int id, G4Material* material, G4MagneticField* field,
G4UserLimits* limits, G4int isvol);
G4UserLimits* limits, G4int isvol);
void Clear();
private:
G3MediumVector* fMedVector;
};
+14 -3
View File
@@ -5,8 +5,17 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3MedTableEntry.hh,v 1.3 1999/12/09 01:27:43 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3MedTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// The class associates the G3 tracking medium index
// with the corresponding G4Material, G4MagneticField, G4UserLimits
// instances and sensitivity flag (isvol).
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -21,7 +30,8 @@ class G4UserLimits;
class G3MedTableEntry
{
public:
public: // with description
G3MedTableEntry(G4int id, G4Material* material, G4MagneticField* field,
G4UserLimits* limits, G4int isvol);
G3MedTableEntry(const G3MedTableEntry& right);
@@ -46,6 +56,7 @@ class G3MedTableEntry
G4int GetISVOL() const;
private:
// data members
G4int fID;
G4Material* fMaterial;
+21 -11
View File
@@ -5,30 +5,40 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3PartTable.hh,v 1.6 1999/12/15 14:49:42 gunter Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3PartTable.hh,v 1.7 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// 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.
// G3 particles table.
// Maps G3 particles indices to their G4 particle object counterparts.
// ----------------------
#ifndef G3PARTTABLE_HH
#define G3PARTTABLE_HH 1
#include "g4std/map"
#include "G4ParticleDefinition.hh"
class G3PartTable {
private:
G4std::map<G4String, G4ParticleDefinition*, G4std::less<G4String> > PTD;
void HashID(G4int partid, G4String* _HID);
void HashID(G4int partid, G4String& _HID);
public:
class G3PartTable
{
public: // with description
G3PartTable();
virtual ~G3PartTable();
G4ParticleDefinition* Get(G4int partid);
void Put(G4int partid, G4ParticleDefinition* partpt);
void PrintAll();
private:
G4std::map<G4String, G4ParticleDefinition*, G4std::less<G4String> > PTD;
void HashID(G4int partid, G4String* _HID);
void HashID(G4int partid, G4String& _HID);
};
extern G3PartTable G3Part;
#endif
+24 -12
View File
@@ -5,8 +5,15 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3Pos.hh,v 1.8 2000/03/02 17:54:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3Pos.hh,v 1.9 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// G3 volume position
// ----------------------
//
// modified by I.Hrivnacova, 13.10.99
@@ -15,14 +22,11 @@
#include "G4ThreeVector.hh"
class G3Pos{
private:
G4String _MotherName;
G4int _Copy;
G4ThreeVector* _Position;
G4int _Irot;
G4String _Only;
public:
class G3Pos
{
public: // with description
G3Pos(){;}
G3Pos(G4String M, G4int C, G4ThreeVector* T, G4int R, G4String O);
@@ -40,6 +44,14 @@ public:
G4int GetCopy();
G4String& GetOnly();
};
#endif
private:
G4String _MotherName;
G4int _Copy;
G4ThreeVector* _Position;
G4int _Irot;
G4String _Only;
};
#endif
+14 -6
View File
@@ -5,8 +5,16 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3RotTable.hh,v 1.10 1999/12/09 01:27:46 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3RotTable.hh,v 1.11 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// G3 rotations table.
// Maps G3 rotations indices to their G4RotationMatrix object counterparts.
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -25,19 +33,19 @@ typedef G4RWTPtrOrderedVector<G3RotTableEntry> G3RotMatrixVector;
class G3RotTable
{
public:
public: // with description
G3RotTable();
virtual ~G3RotTable();
// methods
// keep the same names of methods as in G4 g3tog4
// G3toG4RotationMatrix type changed to G4RotationMatrix)
//
G4RotationMatrix* Get(G4int id) const;
void Put(G4int id, G4RotationMatrix* matrix);
void Clear();
private:
G3RotMatrixVector* fRotVector;
};
+13 -3
View File
@@ -5,8 +5,16 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3RotTableEntry.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3RotTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// The class associates the G3 rotation matrix index to its
// corresponding G4RotationMatrix object.
// ----------------------
//
// by I.Hrivnacova, 27 Sep 99
@@ -20,7 +28,8 @@ class G3toG4RotationMatrix;
class G3RotTableEntry
{
public:
public: // with description
G3RotTableEntry(G4int id, G4RotationMatrix* matrix);
G3RotTableEntry(const G3RotTableEntry& right);
virtual ~G3RotTableEntry();
@@ -35,6 +44,7 @@ class G3RotTableEntry
G4RotationMatrix* GetMatrix() const;
private:
// data members
G4int fID;
G4RotationMatrix* fMatrix;
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G3SensVolVector.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// vector of logical volumes that were defined with
// tracking medium with ISVOL=1
+33 -9
View File
@@ -5,8 +5,26 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3VolTable.hh,v 1.14 2000/03/02 17:54:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3VolTable.hh,v 1.15 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// G3 volumes table.
// The G3 volumes are represented with the G3VolTableEntry objects
// that are stored in the map (sorted by names).
// In the phase of filling the G3 tables (defining G3 geometry,
// eg. by parsing the G3 input via clparse.cc)
// a G3 volume can be defined with incomplete parameters
// (negative or none) that have to be retrieved from its mother
// which may be defined later. These parameters are being resolved
// subsequently in the phase of filling G3 tables.
// That's why the G4 object counterparts (solids, logical volumes
// and physical volumes) can be created only after filling the G3 tables
// is finished and all incomplete parameters are resolved.
// ----------------------
//
// modified by I.Hrivnacova, 13.10.99
@@ -20,14 +38,11 @@ class G4LogicalVolume;
class G4Material;
class G4VSolid;
class G3VolTable{
private:
G3VolTableEntry* G3toG4TopVTE;
G4String _FirstKey;
G4std::map<G4String, G3VolTableEntry*, G4std::less<G4String> > VTD;
G4int _NG3Pos;
class G3VolTable
{
public: // with description
public:
G3VolTableEntry* PutVTE(G3VolTableEntry* aVTE);
G3VolTableEntry* GetVTE(const G4String& Vname);
void PrintAll();
@@ -39,6 +54,15 @@ public:
void VTEStat();
void CountG3Pos();
void Clear();
private:
G3VolTableEntry* G3toG4TopVTE;
G4String _FirstKey;
G4std::map<G4String, G3VolTableEntry*, G4std::less<G4String> > VTD;
G4int _NG3Pos;
};
extern G3VolTable G3Vol;
#endif
+46 -15
View File
@@ -5,8 +5,45 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3VolTableEntry.hh,v 1.3 1999/12/09 01:27:46 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3VolTableEntry.hh,v 1.4 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class description:
//
// This class is a temporary representation of G3 volume.
// Its methods enables successive updating of its instances
// during the phase of filling the G3 tables (defining G3 geometry,
// eg. by parsing the G3 input via clparse.cc).
// See G3VolTable class description, too.
//
// Data members:
// fVname volume name;
// fShape G3 shape name;
// fRpar array of G3 volumes parameters;
// fNpar number of G3 volumes parameters;
// fNmed G3 tracking medium number;
// fSolid the G4VSolid of this volume;
// fLV the G4LogicalVolume;
// fHasNegPars true if G3 volume was defined with incomplete
// parameters;
// fDaughters vector of daughter VTEs (VTEs of volumes placed inside
// this volume);
// fMothers vector of mother VTEs (VTEs of volumes inside which this
// volume is placed);
// fClones vector of clone VTEs (see explanation below);
// fG3Pos vector of G3 positions (G3Pos objects)
// fDivision G3Division object created in case the G4 volume
// was defined as division;
//
// Clone volumes:
// In case a G3 volume (e.g. XYZ) has changed its solid parameters
// with its new position (placement with GSPOSP) a new G3VolTableEntry
// (associated with this new solid) with a new name (XYZ_N)
// is created and registered as a clone volume in the fClones vector
// data member of its master G3VolTableEntry object.
// ----------------------
//
// by I.Hrivnacova, 13.10.99
@@ -22,8 +59,10 @@ class G4LogicalVolume;
class G4Material;
class G4VSolid;
class G3VolTableEntry {
public:
class G3VolTableEntry
{
public: // with description
G3VolTableEntry(G4String& vname, G4String& shape, G4double* rpar,
G4int npar, G4int nmed, G4VSolid* solid,
G4bool hasNegPars);
@@ -52,6 +91,8 @@ class G3VolTableEntry {
void SetNRpar(G4int npar, G4double* Rpar);
void SetDivision(G3Division* division);
void SetHasNegPars(G4bool hasNegPars);
void ClearG3PosCopy(G4int copy);
void ClearDivision();
// get methods
G4String GetName();
@@ -76,6 +117,7 @@ class G3VolTableEntry {
G3VolTableEntry* GetMasterClone();
private:
G4String fVname;
G4String fShape;
G4double* fRpar;
@@ -100,14 +142,3 @@ inline G3Division* G3VolTableEntry::GetDivision()
{ return fDivision; }
#endif
+1 -1
View File
@@ -6,7 +6,7 @@
// and all its terms.
//
// $Id: G3toG4.hh,v 1.6 2000/03/07 10:51:40 stesting Exp $
// GEANT4 tag $Name: geant4-02-00 $
// GEANT4 tag $Name: geant4-03-00 $
//
// modified by I.Hrivnacova, 27 Sep 99
+1 -1
View File
@@ -6,7 +6,7 @@
* and all its terms.
*
* $Id: G3toG4.inc,v 1.2 1999/12/05 17:50:04 gcosmo Exp $
* GEANT4 tag $Name: geant4-02-00 $
* GEANT4 tag $Name: geant4-03-00 $
*
integer maxlines
parameter (maxlines = 750) ! max no. of cmd lines per C++ source file
+20 -2
View File
@@ -5,8 +5,26 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4BuildTree.hh,v 1.4 1999/12/09 01:27:47 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3toG4BuildTree.hh,v 1.5 2000/11/24 09:50:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class Description:
//
// Definition of a global method:
//
// void G3toG4BuildTree(G3VolTableEntry* curVTE,
// G3VolTableEntry* motherVTE)
//
// which processes the G3 volumes table (G3VolTable) and creates
// remaining G4 objects that could not be created during the phase of
// filling the G3 tables (defining G3 geometry, eg. by parsing the G3
// input via clparse.cc):
// G4LogicalVolume, G4PVPlacement and G4PVReplica objects.
// After processing of this method the G4 geometry is completely
// created and the G3 tables can be deleted.
// ----------------------
//
// modified by I.Hrivnacova, 13.10.99
-5
View File
@@ -1,5 +0,0 @@
#ifndef G3TOG4DEBUG_HH
#define G3TOG4DEBUG_HH 1
#include "globals.hh"
G4int G3toG4Debug();
#endif
+22 -2
View File
@@ -5,9 +5,29 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4MakeSolid.hh,v 1.4 1999/12/09 01:27:47 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3toG4MakeSolid.hh,v 1.5 2000/11/24 09:50:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
//
// ----------------------
// Class Description:
//
// Definition of a global method:
//
// G4VSolid* G3toG4MakeSolid(const G4String& vname,
// const G4String& shape,
// const G4double* Rpar,
// const G4int npar,
// G4bool& NegVolPars,
// G4bool& Deferred,
// G4bool* OKAxis);
//
// which checks the volume parameters and creates the G4VSolid
// subclass object corresponding to the specified shape.
// If volume parameters are incomplete (negative or none)
// it returns 0.
// ----------------------
#ifndef G3TOG4MAKESOLID_HH
#define G3TOG4MAKESOLID_HH 1
+20 -4
View File
@@ -5,9 +5,21 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G3toG4RotationMatrix.hh,v 1.3 1999/12/09 01:27:47 lockman Exp $
// GEANT4 tag $Name: geant4-02-00 $
// $Id: G3toG4RotationMatrix.hh,v 1.4 2000/11/24 09:50:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-03-00 $
// ----------------------
// Class description:
//
// An "extended" rotation matrix class.
// The SetRotationMatrixByCol/Row() methods enables
// to define the rotation matrix by column/row vectors.
// The result matrix may be a matrix that does not
// represent a rotation transformation (!) as
// G3 "rotation" matrices can be a composition of
// rotation and reflection.
// ----------------------
#ifndef G3TOG4ROTATION_HH
#define G3TOG4ROTATION_HH 1
@@ -16,7 +28,9 @@
class G3toG4RotationMatrix : public G4RotationMatrix
{
public:
public: // with description
G3toG4RotationMatrix();
void SetRotationMatrixByCol(const G4ThreeVector& Col1,
@@ -27,6 +41,8 @@ public:
const G4ThreeVector& Row2,
const G4ThreeVector& Row3);
~G3toG4RotationMatrix();
~G3toG4RotationMatrix();
};
#endif
+1 -1
View File
@@ -6,7 +6,7 @@
* and all its terms.
*
* $Id: gcbank.inc,v 1.2 1999/12/05 17:50:05 gcosmo Exp $
* GEANT4 tag $Name: geant4-02-00 $
* GEANT4 tag $Name: geant4-03-00 $
*
INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG
INTEGER KWBANK,KWWORK,IWS