Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include "G4VisAttributes.hh"
|
||||
#include "G4LogicalVolume.hh"
|
||||
#include "G4UnitsTable.hh"
|
||||
#include "HadrontherapyDetectorROGeometry.hh"
|
||||
|
||||
class G4VPhysicalVolume;
|
||||
class G4LogicalVolume;
|
||||
@@ -47,7 +48,7 @@ class HadrontherapyDetectorROGeometry;
|
||||
class HadrontherapyDetectorMessenger;
|
||||
class HadrontherapyDetectorSD;
|
||||
class HadrontherapyMatrix;
|
||||
|
||||
class HadrontherapyLet;
|
||||
class HadrontherapyDetectorConstruction
|
||||
{
|
||||
public:
|
||||
@@ -56,18 +57,23 @@ public:
|
||||
|
||||
~HadrontherapyDetectorConstruction();
|
||||
|
||||
public:
|
||||
static HadrontherapyDetectorConstruction* GetInstance();
|
||||
void InitializeDetectorROGeometry(HadrontherapyDetectorROGeometry*,
|
||||
G4ThreeVector detectorToWorldPosition);
|
||||
G4VPhysicalVolume* motherPhys;
|
||||
HadrontherapyDetectorSD* detectorSD; // Pointer to sensitive detector
|
||||
|
||||
private:
|
||||
|
||||
void ConstructPhantom();
|
||||
void ConstructDetector();
|
||||
void ConstructSensitiveDetector(G4ThreeVector positionToWORLD);
|
||||
void ParametersCheck();
|
||||
|
||||
public:
|
||||
// Get detector position relative to WORLD
|
||||
inline G4ThreeVector GetDetectorToWorldPosition()
|
||||
{
|
||||
{
|
||||
return phantomPosition + detectorPosition;
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@@ -83,14 +89,13 @@ inline G4ThreeVector GetDetectorToPhantomPosition()
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Calculate (and set) detector position by displacement, phantom and detector sizes
|
||||
inline void SetDetectorPosition()
|
||||
{
|
||||
{
|
||||
// Adjust detector position
|
||||
detectorPosition.setX(detectorToPhantomPosition.getX() - phantomSizeX/2 + detectorSizeX/2);
|
||||
detectorPosition.setY(detectorToPhantomPosition.getY() - phantomSizeY/2 + detectorSizeY/2);
|
||||
detectorPosition.setZ(detectorToPhantomPosition.getZ() - phantomSizeZ/2 + detectorSizeZ/2);
|
||||
|
||||
//G4cout << "*************** DetectorToPhantomPosition " << detectorToPhantomPosition/cm << "\n";
|
||||
//G4cout << "*************** DetectorPosition " << detectorPosition/cm << "\n";
|
||||
|
||||
}
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Check whether detector is inside phantom
|
||||
@@ -159,18 +164,16 @@ inline bool IsInside(G4double detectorX,
|
||||
|
||||
|
||||
private:
|
||||
|
||||
static HadrontherapyDetectorConstruction* instance;
|
||||
HadrontherapyDetectorMessenger* detectorMessenger;
|
||||
|
||||
G4VisAttributes* skyBlue;
|
||||
G4VisAttributes* red;
|
||||
|
||||
G4VPhysicalVolume* motherPhys;
|
||||
|
||||
HadrontherapyDetectorSD* detectorSD; // Pointer to sensitive detector
|
||||
HadrontherapyDetectorROGeometry* detectorROGeometry; // Pointer to ROGeometry
|
||||
HadrontherapyMatrix* matrix;
|
||||
|
||||
HadrontherapyLet* let;
|
||||
|
||||
G4Box *phantom , *detector;
|
||||
G4LogicalVolume *phantomLogicalVolume, *detectorLogicalVolume;
|
||||
G4VPhysicalVolume *phantomPhysicalVolume, *detectorPhysicalVolume;
|
||||
|
||||
Reference in New Issue
Block a user