Import Geant4 0.1.0 source tree
This commit is contained in:
@@ -2,7 +2,15 @@
|
||||
// G4Polycone.hh
|
||||
//
|
||||
// Declaration of a CSG type "PCON" geant volume, inherited from
|
||||
// class G4CSGSolid
|
||||
// class G4VCSGSolid
|
||||
//
|
||||
// ----------------------------------------------------------
|
||||
// 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.
|
||||
//
|
||||
|
||||
#ifndef G4Polycone_hh
|
||||
@@ -11,6 +19,9 @@
|
||||
#include "G4VCSGfaceted.hh"
|
||||
#include "G4PolyconeSide.hh"
|
||||
|
||||
|
||||
class G4EnclosingCylinder;
|
||||
class G4ReduciblePolygon;
|
||||
class G4VCSGface;
|
||||
|
||||
class G4Polycone : public G4VCSGfaceted
|
||||
@@ -33,6 +44,19 @@ class G4Polycone : public G4VCSGfaceted
|
||||
|
||||
virtual ~G4Polycone();
|
||||
|
||||
G4Polycone( const G4Polycone &source );
|
||||
const G4Polycone &operator=( const G4Polycone &source );
|
||||
|
||||
//
|
||||
// A couple overrides to speed things up
|
||||
//
|
||||
EInside Inside( const G4ThreeVector &p ) const;
|
||||
G4double DistanceToIn( const G4ThreeVector &p, const G4ThreeVector &v ) const;
|
||||
G4double DistanceToIn( const G4ThreeVector &p ) const { return G4VCSGfaceted::DistanceToIn(p); }
|
||||
|
||||
//
|
||||
// The usual G4VCSGface stuff
|
||||
//
|
||||
void ComputeDimensions( G4VPVParameterisation* p,
|
||||
const G4int n,
|
||||
const G4VPhysicalVolume* pRep);
|
||||
@@ -42,6 +66,9 @@ class G4Polycone : public G4VCSGfaceted
|
||||
G4Polyhedron* CreatePolyhedron() const;
|
||||
G4NURBS* CreateNURBS() const;
|
||||
|
||||
//
|
||||
// Access routines
|
||||
//
|
||||
inline G4double GetStartPhi() const { return startPhi; }
|
||||
inline G4double GetEndPhi() const { return endPhi; }
|
||||
inline G4bool IsOpen() const { return phiIsOpen; }
|
||||
@@ -61,27 +88,34 @@ class G4Polycone : public G4VCSGfaceted
|
||||
//
|
||||
// The following is temporary until graphics_reps is brought up to this design
|
||||
//
|
||||
typedef struct {
|
||||
struct G4PolyconeHistorical {
|
||||
G4PolyconeHistorical() {;}
|
||||
~G4PolyconeHistorical();
|
||||
G4PolyconeHistorical( const G4PolyconeHistorical &source );
|
||||
|
||||
G4double Start_angle;
|
||||
G4double Opening_angle;
|
||||
G4int Num_z_planes;
|
||||
G4double *Z_values;
|
||||
G4double *Rmin;
|
||||
G4double *Rmax;
|
||||
G4bool exist;
|
||||
} G4PolyconeKluge;
|
||||
};
|
||||
|
||||
G4PolyconeKluge original_parameters;
|
||||
|
||||
G4PolyconeHistorical *original_parameters;
|
||||
|
||||
//
|
||||
// Generic initializer, call by all constructors
|
||||
// Our quick test
|
||||
//
|
||||
G4EnclosingCylinder *enclosingCylinder;
|
||||
|
||||
//
|
||||
// Generic initializer, called by all constructors
|
||||
//
|
||||
void Create( const G4double phiStart, // initial phi starting angle
|
||||
const G4double phiTotal, // total phi angle
|
||||
const G4int numRZ, // number corners in r,z space
|
||||
const G4double r[], // r coordinate of these corners
|
||||
const G4double z[] ); // z coordinate of these corners
|
||||
G4ReduciblePolygon *rz ); // r/z coordinate of these corners
|
||||
|
||||
void CopyStuff( const G4Polycone &source );
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user