Warning, file /geant4/examples/advanced/gammaknife/include/GammaKnifeDetectorConstruction.hh was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef GammaKnifeDetectorConstruction_H
0028 #define GammaKnifeDetectorConstruction_H 1
0029
0030 #include "globals.hh"
0031 #include "G4VUserDetectorConstruction.hh"
0032 #include "G4RotationMatrix.hh"
0033
0034 class G4VPhysicalVolume;
0035 class G4LogicalVolume;
0036 class G4Tubs;
0037 class G4Cons;
0038 class GammaKnifeBeamLine;
0039 class GammaKnifeDetectorMessenger;
0040
0041
0042 class GammaKnifeDetectorConstruction : public G4VUserDetectorConstruction
0043 {
0044 public:
0045
0046 GammaKnifeDetectorConstruction();
0047
0048 ~GammaKnifeDetectorConstruction();
0049
0050 G4VPhysicalVolume* Construct();
0051
0052 private:
0053
0054 void ConstructBeamLine();
0055
0056
0057
0058 void UpdateHelmet();
0059
0060
0061
0062
0063 public:
0064
0065
0066
0067 void SetHelmetSize(G4int);
0068
0069
0070 private:
0071
0072 G4VPhysicalVolume* physicalTreatmentRoom;
0073
0074 G4VPhysicalVolume* patientPhysicalVolume;
0075 G4LogicalVolume* patientLogicalVolume;
0076 G4Cons* solidColl_helmet;
0077
0078
0079 G4Tubs* solidTube_source;
0080 G4LogicalVolume* logicTube_source;
0081 G4VPhysicalVolume* physiTube_source;
0082
0083 G4Tubs* solidTube;
0084 G4LogicalVolume* logicTube;
0085 G4VPhysicalVolume* physiTube;
0086
0087 G4Tubs* solidTube_Al;
0088 G4LogicalVolume* logicTube_Al;
0089 G4VPhysicalVolume* physiTube_Al;
0090
0091 G4Tubs* solidTube_Fe;
0092 G4LogicalVolume* logicTube_Fe;
0093 G4VPhysicalVolume* physiTube_Fe;
0094
0095 G4int helmetSize;
0096
0097 G4Tubs* solidTube_post;
0098 G4LogicalVolume* logicTube_post;
0099 G4VPhysicalVolume* physiTube_post;
0100
0101 G4Tubs* solidTube_coll;
0102 G4LogicalVolume* logicTube_coll;
0103 G4VPhysicalVolume* physiTube_coll;
0104
0105 G4Tubs* solidTube_coll_Fe;
0106 G4LogicalVolume* logicTube_coll_Fe;
0107 G4VPhysicalVolume* physiTube_coll_Fe;
0108
0109
0110 G4Cons* solidColl_fixed;
0111 G4LogicalVolume* logicColl_fixed;
0112 G4VPhysicalVolume* physiColl_fixed;
0113
0114 G4Cons* solidColl_fixed_Fe;
0115 G4LogicalVolume* logicColl_fixed_Fe;
0116 G4VPhysicalVolume* physiColl_fixed_Fe;
0117
0118
0119 G4LogicalVolume* logicColl_helmet;
0120 G4VPhysicalVolume* physiColl_helmet;
0121
0122 G4Cons* solidColl_helmet_Fe;
0123 G4LogicalVolume* logicColl_helmet_Fe;
0124 G4VPhysicalVolume* physiColl_helmet_Fe;
0125
0126
0127 GammaKnifeDetectorMessenger* detectorMessenger;
0128
0129 };
0130 #endif