Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/brachytherapy/src/BrachyDetectorConstructionOncura6711.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/advanced/brachytherapy/src/BrachyDetectorConstructionOncura6711.cc (Version 11.3.0) and /examples/advanced/brachytherapy/src/BrachyDetectorConstructionOncura6711.cc (Version 10.7.p4)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 // -------------------------------------------     27 // --------------------------------------------------------------
 28 //                 GEANT 4 - Brachytherapy exa     28 //                 GEANT 4 - Brachytherapy example
 29 // -------------------------------------------     29 // --------------------------------------------------------------
 30 //                                                 30 //
 31 // Code developed by:                              31 // Code developed by:
 32 // D. Cutajar, A. Le                               32 // D. Cutajar, A. Le
 33 //                                                 33 //
 34 //    ****************************************     34 //    ********************************************
 35 //    *                                            35 //    *                                          *
 36 //    *  BrachyDetectorConstructionOncura6711.     36 //    *  BrachyDetectorConstructionOncura6711.cc *
 37 //    *                                            37 //    *                                          *
 38 //    ****************************************     38 //    ********************************************
 39 //                                                 39 //
 40 //                                                 40 // 
 41 //                                                 41 //
 42 #include "BrachyDetectorConstructionOncura6711 << 
 43 #include "globals.hh"                              42 #include "globals.hh"
 44 #include "G4SystemOfUnits.hh"                      43 #include "G4SystemOfUnits.hh"
                                                   >>  44 #include "BrachyDetectorConstructionOncura6711.hh"
 45 #include "G4Sphere.hh"                             45 #include "G4Sphere.hh"
 46 #include "G4RunManager.hh"                         46 #include "G4RunManager.hh"
 47 #include "G4Box.hh"                                47 #include "G4Box.hh"
 48 #include "G4Tubs.hh"                               48 #include "G4Tubs.hh"
 49 #include "G4LogicalVolume.hh"                      49 #include "G4LogicalVolume.hh"
 50 #include "G4ThreeVector.hh"                        50 #include "G4ThreeVector.hh"
 51 #include "G4PVPlacement.hh"                        51 #include "G4PVPlacement.hh"
 52 #include "G4Transform3D.hh"                        52 #include "G4Transform3D.hh"
 53 #include "G4RotationMatrix.hh"                     53 #include "G4RotationMatrix.hh"
 54 #include "G4TransportationManager.hh"              54 #include "G4TransportationManager.hh"
 55 #include "G4NistManager.hh"                    <<  55 #include "BrachyMaterial.hh"
 56 #include "G4VisAttributes.hh"                      56 #include "G4VisAttributes.hh"
 57 #include "G4Colour.hh"                             57 #include "G4Colour.hh"
 58                                                    58 
 59 BrachyDetectorConstructionOncura6711::BrachyDe     59 BrachyDetectorConstructionOncura6711::BrachyDetectorConstructionOncura6711()
 60   :                                                60   : 
 61    fOncuraCapsule(nullptr), fOncuraCapsuleLog(     61    fOncuraCapsule(nullptr), fOncuraCapsuleLog(nullptr),
 62    fOncuraCapsulePhys(nullptr),                    62    fOncuraCapsulePhys(nullptr),
 63    fOncuraCapsuleTip1(nullptr), fOncuraCapsule     63    fOncuraCapsuleTip1(nullptr), fOncuraCapsuleTip1Log(nullptr),
 64    fOncuraCapsuleTip1Phys(nullptr),                64    fOncuraCapsuleTip1Phys(nullptr),
 65    fOncuraCapsuleTip2(nullptr), fOncuraCapsule     65    fOncuraCapsuleTip2(nullptr), fOncuraCapsuleTip2Log(nullptr),
 66    fOncuraCapsuleTip2Phys(nullptr),                66    fOncuraCapsuleTip2Phys(nullptr),
 67    fOncuraAirGap(nullptr), fOncuraAirGapLog(nu     67    fOncuraAirGap(nullptr), fOncuraAirGapLog(nullptr),
 68    fOncuraAirGapPhys(nullptr),                     68    fOncuraAirGapPhys(nullptr),
 69    fOncuraSilverCore(nullptr), fOncuraSilverCo     69    fOncuraSilverCore(nullptr), fOncuraSilverCoreLog(nullptr),
 70    fOncuraSilverCorePhys(nullptr),                 70    fOncuraSilverCorePhys(nullptr),
 71    fOncuraCapsuleShellVisAtt(nullptr), fOncura     71    fOncuraCapsuleShellVisAtt(nullptr), fOncuraCapsuleTipVisAtt(nullptr),
 72    fOncuraSilverCoreVisAtt(nullptr)                72    fOncuraSilverCoreVisAtt(nullptr)
 73 {}                                             <<  73 {
                                                   >>  74   fMat = new BrachyMaterial();
                                                   >>  75 }
                                                   >>  76 
                                                   >>  77 BrachyDetectorConstructionOncura6711::~BrachyDetectorConstructionOncura6711()
                                                   >>  78 { 
                                                   >>  79   delete fMat; 
                                                   >>  80 }
 74                                                    81 
 75 void BrachyDetectorConstructionOncura6711::Con     82 void BrachyDetectorConstructionOncura6711::ConstructOncura6711(G4VPhysicalVolume* mother)
 76 {                                                  83 {
 77 G4Colour  red     (1.0, 0.0, 0.0) ;                84 G4Colour  red     (1.0, 0.0, 0.0) ;
 78 G4Colour  magenta (1.0, 0.0, 1.0) ;                85 G4Colour  magenta (1.0, 0.0, 1.0) ; 
 79                                                    86 
 80 G4NistManager* nist = G4NistManager::Instance( <<  87 G4Material* titaniumMat = fMat -> GetMat("titanium");
 81 G4Material* titanium = nist -> FindOrBuildMate <<  88 G4Material* airMat = fMat -> GetMat("Air");
 82 G4Material* air = nist -> FindOrBuildMaterial( <<  89 G4Material* silverMat = fMat -> GetMat("Silver");
 83 G4Material* silver = nist -> FindOrBuildMateri << 
 84                                                    90 
 85 //Capsule shell                                    91 //Capsule shell
 86 fOncuraCapsule = new G4Tubs("OncuraCapsule",0,     92 fOncuraCapsule = new G4Tubs("OncuraCapsule",0,0.4*mm,1.875*mm,0.*deg,360.*deg);
 87 fOncuraCapsuleLog = new G4LogicalVolume(fOncur <<  93 fOncuraCapsuleLog = new G4LogicalVolume(fOncuraCapsule,titaniumMat,"OncuraCapsuleLog", 0,0,0);
 88 fOncuraCapsulePhys = new G4PVPlacement(nullptr     94 fOncuraCapsulePhys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,0), 
 89                   "OncuraCapsulePhys", fOncura     95                   "OncuraCapsulePhys", fOncuraCapsuleLog, 
 90                   mother, false, 0, true);         96                   mother, false, 0, true);
 91                                                    97             
 92 //Capsule tips                                     98 //Capsule tips
 93 fOncuraCapsuleTip1 = new G4Sphere("OncuraCapsu     99 fOncuraCapsuleTip1 = new G4Sphere("OncuraCapsuleTip1", 0, 0.4*mm, 0., 360*deg, 0., 90*deg);
 94 fOncuraCapsuleTip1Log = new G4LogicalVolume(fO << 100 fOncuraCapsuleTip1Log = new G4LogicalVolume(fOncuraCapsuleTip1, titaniumMat, "OncuraCapsuleTip1Log",0,0,0);
 95 fOncuraCapsuleTip1Phys = new G4PVPlacement(nul    101 fOncuraCapsuleTip1Phys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,1.875*mm), 
 96                 "OncuraCapsuleTip1Phys", fOncu    102                 "OncuraCapsuleTip1Phys", fOncuraCapsuleTip1Log,
 97                 mother, false,                    103                 mother, false, 
 98                 0, true);                         104                 0, true);
 99                                                   105 
100 fOncuraCapsuleTip2 = new G4Sphere("OncuraCapsu    106 fOncuraCapsuleTip2 = new G4Sphere("OncuraCapsuleTip2", 0, 0.4*mm, 0., 360*deg, 90*deg, 90*deg);
101 fOncuraCapsuleTip2Log = new G4LogicalVolume(fO << 107 fOncuraCapsuleTip2Log = new G4LogicalVolume(fOncuraCapsuleTip2, titaniumMat, "OncuraCapsuleTip2Log",0,0,0);
102 fOncuraCapsuleTip2Phys = new G4PVPlacement(nul    108 fOncuraCapsuleTip2Phys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,-1.875*mm), 
103                 "OncuraCapsuleTip2Phys", fOncu    109                 "OncuraCapsuleTip2Phys", fOncuraCapsuleTip2Log,
104                 mother, false,                    110                 mother, false, 
105                 0, true);                         111                 0, true);
106                                                   112 
107 //Air gap                                         113 //Air gap
108 fOncuraAirGap = new G4Tubs("OncuraAirGap",0,0.    114 fOncuraAirGap = new G4Tubs("OncuraAirGap",0,0.33*mm,1.825*mm,0.*deg,360.*deg);
109 fOncuraAirGapLog = new G4LogicalVolume(fOncura << 115 fOncuraAirGapLog = new G4LogicalVolume(fOncuraAirGap, airMat, "OncuraAirGapLog");
110 fOncuraAirGapPhys = new G4PVPlacement(nullptr,    116 fOncuraAirGapPhys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,0), 
111                                 "OncuraAirGapP    117                                 "OncuraAirGapPhys", fOncuraAirGapLog, 
112                                 fOncuraCapsule    118                                 fOncuraCapsulePhys, false,
113                                 0, true);         119                                 0, true);
114                                                   120 
115 //Silver core                                     121 //Silver core
116 fOncuraSilverCore = new G4Tubs("OncuraSilverCo    122 fOncuraSilverCore = new G4Tubs("OncuraSilverCore",0,0.25*mm,1.4*mm,0.*deg,360.*deg);
117 fOncuraSilverCoreLog = new G4LogicalVolume(fOn << 123 fOncuraSilverCoreLog = new G4LogicalVolume(fOncuraSilverCore, silverMat, "silverCoreLog");
118 fOncuraSilverCorePhys = new G4PVPlacement(null    124 fOncuraSilverCorePhys = new G4PVPlacement(nullptr, G4ThreeVector(0,0,0), 
119                 "OncuraSilverCorePhys", fOncur    125                 "OncuraSilverCorePhys", fOncuraSilverCoreLog,
120                                 fOncuraAirGapP    126                                 fOncuraAirGapPhys, false,
121                                 0, true);         127                                 0, true);
122                                                   128 
123 fOncuraCapsuleShellVisAtt = new G4VisAttribute    129 fOncuraCapsuleShellVisAtt = new G4VisAttributes(red);
124 fOncuraCapsuleShellVisAtt -> SetVisibility(tru    130 fOncuraCapsuleShellVisAtt -> SetVisibility(true);  
125 fOncuraCapsuleShellVisAtt -> SetForceWireframe    131 fOncuraCapsuleShellVisAtt -> SetForceWireframe(true);
126 fOncuraCapsuleLog -> SetVisAttributes(fOncuraC    132 fOncuraCapsuleLog -> SetVisAttributes(fOncuraCapsuleShellVisAtt);
127                                                   133 
128 fOncuraCapsuleTipVisAtt = new G4VisAttributes(    134 fOncuraCapsuleTipVisAtt = new G4VisAttributes(red);
129 fOncuraCapsuleTipVisAtt -> SetVisibility(true)    135 fOncuraCapsuleTipVisAtt -> SetVisibility(true);  
130 fOncuraCapsuleTipVisAtt -> SetForceSolid(true)    136 fOncuraCapsuleTipVisAtt -> SetForceSolid(true);
131 fOncuraCapsuleTip1Log -> SetVisAttributes(fOnc    137 fOncuraCapsuleTip1Log -> SetVisAttributes(fOncuraCapsuleTipVisAtt);
132 fOncuraCapsuleTip2Log -> SetVisAttributes(fOnc    138 fOncuraCapsuleTip2Log -> SetVisAttributes(fOncuraCapsuleTipVisAtt);
133                                                   139 
134 fOncuraSilverCoreVisAtt = new G4VisAttributes(    140 fOncuraSilverCoreVisAtt = new G4VisAttributes(magenta);
135 fOncuraSilverCoreVisAtt -> SetVisibility(true)    141 fOncuraSilverCoreVisAtt -> SetVisibility(true);
136 fOncuraSilverCoreVisAtt -> SetForceSolid(true)    142 fOncuraSilverCoreVisAtt -> SetForceSolid(true);
137 fOncuraSilverCoreLog -> SetVisAttributes(fOncu    143 fOncuraSilverCoreLog -> SetVisAttributes(fOncuraSilverCoreVisAtt);
138 }                                                 144 }
139                                                   145 
140 void BrachyDetectorConstructionOncura6711::Cle    146 void BrachyDetectorConstructionOncura6711::CleanOncura6711()
141 {                                                 147 { 
142  delete fOncuraSilverCoreVisAtt;                  148  delete fOncuraSilverCoreVisAtt;
143  fOncuraSilverCoreVisAtt = nullptr;               149  fOncuraSilverCoreVisAtt = nullptr;
144                                                   150 
145  delete fOncuraCapsuleTipVisAtt;                  151  delete fOncuraCapsuleTipVisAtt;
146  fOncuraCapsuleTipVisAtt = nullptr;               152  fOncuraCapsuleTipVisAtt = nullptr;
147                                                   153 
148  delete fOncuraCapsuleShellVisAtt;                154  delete fOncuraCapsuleShellVisAtt;
149  fOncuraCapsuleShellVisAtt = nullptr;             155  fOncuraCapsuleShellVisAtt = nullptr;
150                                                   156 
151  delete fOncuraSilverCorePhys;                    157  delete fOncuraSilverCorePhys;
152  fOncuraSilverCorePhys = nullptr;                 158  fOncuraSilverCorePhys = nullptr;
153                                                   159 
154  delete fOncuraSilverCoreLog;                     160  delete fOncuraSilverCoreLog;
155  fOncuraSilverCoreLog = nullptr;                  161  fOncuraSilverCoreLog = nullptr;
156                                                   162 
157  delete fOncuraSilverCore;                        163  delete fOncuraSilverCore;
158  fOncuraSilverCore = nullptr;                     164  fOncuraSilverCore = nullptr;
159                                                   165 
160  delete fOncuraAirGapPhys;                        166  delete fOncuraAirGapPhys;
161  fOncuraAirGapPhys = nullptr;                     167  fOncuraAirGapPhys = nullptr;
162                                                   168 
163  delete fOncuraAirGapLog;                         169  delete fOncuraAirGapLog;
164  fOncuraAirGapLog = nullptr;                      170  fOncuraAirGapLog = nullptr;
165                                                   171 
166  delete fOncuraAirGap;                            172  delete fOncuraAirGap;
167  fOncuraAirGap = nullptr;                         173  fOncuraAirGap = nullptr;
168                                                   174 
169  delete fOncuraCapsuleTip2Phys;                   175  delete fOncuraCapsuleTip2Phys;
170  fOncuraCapsuleTip2Phys = nullptr;                176  fOncuraCapsuleTip2Phys = nullptr;
171                                                   177 
172  delete fOncuraCapsuleTip2Log;                    178  delete fOncuraCapsuleTip2Log;
173  fOncuraCapsuleTip2Log = nullptr;                 179  fOncuraCapsuleTip2Log = nullptr;
174                                                   180  
175  delete fOncuraCapsuleTip2;                       181  delete fOncuraCapsuleTip2;
176  fOncuraCapsuleTip2 = nullptr;                    182  fOncuraCapsuleTip2 = nullptr;
177                                                   183 
178  delete fOncuraCapsuleTip1Phys;                   184  delete fOncuraCapsuleTip1Phys;
179  fOncuraCapsuleTip1Phys = nullptr;                185  fOncuraCapsuleTip1Phys = nullptr;
180                                                   186 
181  delete fOncuraCapsuleTip1Log;                    187  delete fOncuraCapsuleTip1Log;
182  fOncuraCapsuleTip1Log = nullptr;                 188  fOncuraCapsuleTip1Log = nullptr;
183                                                   189 
184  delete fOncuraCapsuleTip1;                       190  delete fOncuraCapsuleTip1;
185  fOncuraCapsuleTip1 = nullptr;                    191  fOncuraCapsuleTip1 = nullptr;
186                                                   192 
187  delete fOncuraCapsulePhys;                       193  delete fOncuraCapsulePhys;
188  fOncuraCapsulePhys = nullptr;                    194  fOncuraCapsulePhys = nullptr;
189                                                   195   
190  delete fOncuraCapsuleLog;                        196  delete fOncuraCapsuleLog;
191  fOncuraCapsuleLog = nullptr;                     197  fOncuraCapsuleLog = nullptr;
192                                                   198 
193  delete fOncuraCapsule;                           199  delete fOncuraCapsule;
194  fOncuraCapsule = nullptr;                        200  fOncuraCapsule = nullptr;
195                                                   201   
196  G4RunManager::GetRunManager() -> GeometryHasB    202  G4RunManager::GetRunManager() -> GeometryHasBeenModified();
197 }                                                 203 }
198                                                   204