Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 // **************************************** 27 // * * 28 // * BrachyDetectorConstruction.hh * 29 // * * 30 // **************************************** 31 // 32 // S. Guatelli, A. Le, University of Wollongong 33 34 #ifndef BrachyDetectorConstruction_H 35 #define BrachyDetectorConstruction_H 1 36 37 #include "G4VUserDetectorConstruction.hh" 38 #include "globals.hh" 39 #include "G4SystemOfUnits.hh" 40 41 class BrachyDetectorMessenger; 42 class BrachyFactory; 43 class G4LogicalVolume; 44 class G4Material; 45 class G4Box; 46 class G4Colour; 47 class G4VPhysicalVolume; 48 class G4VPhysicalVolume; 49 50 class BrachyDetectorConstruction : public G4VUserDetectorConstruction 51 { 52 public: 53 54 explicit BrachyDetectorConstruction(); 55 ~BrachyDetectorConstruction(); 56 57 G4VPhysicalVolume* Construct() override; 58 void SwitchBrachytherapicSeed(); //Change brachy source through GUI 59 void SelectBrachytherapicSeed(G4String val); 60 void ConstructPhantom(); 61 void PrintDetectorParameters(); 62 void SetPhantomMaterial(G4String); 63 64 private: 65 BrachyFactory* fFactory; 66 BrachyDetectorMessenger* fDetectorMessenger; 67 68 G4Box* fWorld; //pointer to the solid World 69 G4LogicalVolume* fWorldLog; //pointer to the logical World 70 G4VPhysicalVolume* fWorldPhys; //pointer to the physical World 71 72 G4Box* fPhantom; //pointer to solid phantom 73 G4LogicalVolume* fPhantomLog; //pointer to logic phantom 74 G4VPhysicalVolume* fPhantomPhys; //pointer to physical phantom 75 76 G4double fPhantomSizeX; //Phantom X Size 77 G4double fPhantomSizeY; //Phantom Y Size 78 G4double fPhantomSizeZ; //Phantom Z Size 79 80 G4double fWorldSizeX; //World X Size 81 G4double fWorldSizeY; //World Y Size 82 G4double fWorldSizeZ; //World X Size 83 84 G4int fDetectorChoice; //Select brachytherapic seed 85 }; 86 #endif 87