Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/geometry/management/include/G4Region.icc

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 /geometry/management/include/G4Region.icc (Version 11.3.0) and /geometry/management/include/G4Region.icc (Version 10.1.p3)


  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 //
                                                   >>  26 //
                                                   >>  27 // $Id: G4Region.icc 67975 2013-03-13 10:19:44Z gcosmo $
                                                   >>  28 //
 25 //                                                 29 // 
 26 // G4Region inline implementation              <<  30 // class G4Region Inline Implementation file
 27 //                                                 31 //
 28 // 19.09.02, G.Cosmo - Created                 <<  32 // 19.09.02 - G.Cosmo: Created
 29 // -------------------------------------------     33 // --------------------------------------------------------------------
 30                                                    34 
 31 // *******************************************     35 // ********************************************************************
 32 // Equality operator, defined by address only      36 // Equality operator, defined by address only
 33 // *******************************************     37 // ********************************************************************
 34 //                                                 38 //
 35 inline                                             39 inline
 36 G4bool G4Region::operator==(const G4Region& rg     40 G4bool G4Region::operator==(const G4Region& rg) const
 37 {                                                  41 {
 38   return this==&rg;                            <<  42   return (this==&rg) ? true : false;
 39 }                                                  43 }
 40                                                    44 
 41 // *******************************************     45 // ********************************************************************
 42 // GetInstanceID                                   46 // GetInstanceID
 43 // *******************************************     47 // ********************************************************************
 44 //                                                 48 //
 45 inline                                             49 inline
 46 G4int G4Region::GetInstanceID() const              50 G4int G4Region::GetInstanceID() const
 47 {                                                  51 {
 48   return instanceID;                               52   return instanceID;
 49 }                                                  53 }
 50                                                    54     
 51 // *******************************************     55 // ********************************************************************
 52 // GetName                                         56 // GetName
 53 // *******************************************     57 // ********************************************************************
 54 //                                                 58 //
 55 inline                                             59 inline
 56 const G4String& G4Region::GetName() const          60 const G4String& G4Region::GetName() const
 57 {                                                  61 {
 58   return fName;                                    62   return fName;
 59 }                                                  63 }
 60                                                    64     
 61 // *******************************************     65 // ********************************************************************
                                                   >>  66 // SetName
                                                   >>  67 // ********************************************************************
                                                   >>  68 //
                                                   >>  69 inline
                                                   >>  70 void G4Region::SetName(const G4String& pName)
                                                   >>  71 {
                                                   >>  72   fName = pName;
                                                   >>  73 }
                                                   >>  74 
                                                   >>  75 // ********************************************************************
 62 // RegionModified                                  76 // RegionModified
 63 // *******************************************     77 // ********************************************************************
 64 //                                                 78 //
 65 inline                                             79 inline
 66 void G4Region::RegionModified(G4bool flag)         80 void G4Region::RegionModified(G4bool flag)
 67 {                                                  81 {
 68   fRegionMod = flag;                               82   fRegionMod = flag;
 69 }                                                  83 }
 70                                                    84 
 71 // *******************************************     85 // ********************************************************************
 72 // IsModified                                      86 // IsModified
 73 // *******************************************     87 // ********************************************************************
 74 //                                                 88 //
 75 inline                                             89 inline
 76 G4bool G4Region::IsModified() const                90 G4bool G4Region::IsModified() const
 77 {                                                  91 {
 78   return fRegionMod;                               92   return fRegionMod;
 79 }                                                  93 }
 80                                                    94 
 81 // *******************************************     95 // ********************************************************************
 82 // SetProductionCuts                               96 // SetProductionCuts
 83 // *******************************************     97 // ********************************************************************
 84 //                                                 98 //
 85 inline                                             99 inline
 86 void G4Region::SetProductionCuts(G4ProductionC    100 void G4Region::SetProductionCuts(G4ProductionCuts* cut)
 87 {                                                 101 {
 88   fCut = cut;                                     102   fCut = cut;
 89   fRegionMod = true;                              103   fRegionMod = true;
 90 }                                                 104 }
 91                                                   105 
 92 // *******************************************    106 // ********************************************************************
 93 // GetProductionCuts                              107 // GetProductionCuts
 94 // *******************************************    108 // ********************************************************************
 95 //                                                109 //
 96 inline                                            110 inline
 97 G4ProductionCuts* G4Region::GetProductionCuts(    111 G4ProductionCuts* G4Region::GetProductionCuts() const
 98 {                                                 112 {
 99   return fCut;                                    113   return fCut;
100 }                                                 114 }
101                                                   115 
102 // *******************************************    116 // ********************************************************************
103 // GetLogicalVolumeIterator                       117 // GetLogicalVolumeIterator
104 // *******************************************    118 // ********************************************************************
105 //                                                119 //
106 inline                                            120 inline
107 std::vector<G4LogicalVolume*>::iterator           121 std::vector<G4LogicalVolume*>::iterator
108 G4Region::GetRootLogicalVolumeIterator()          122 G4Region::GetRootLogicalVolumeIterator()
109 {                                                 123 {
110   return G4RootLVList::iterator(fRootVolumes.b << 124   G4RootLVList::iterator iterator =
                                                   >> 125     G4RootLVList::iterator(fRootVolumes.begin());
                                                   >> 126   return iterator;
111 }                                                 127 }
112                                                   128 
113 // *******************************************    129 // ********************************************************************
114 // GetMaterialIterator                            130 // GetMaterialIterator
115 // *******************************************    131 // ********************************************************************
116 //                                                132 //
117 inline                                            133 inline
118 std::vector<G4Material*>::const_iterator          134 std::vector<G4Material*>::const_iterator
119 G4Region::GetMaterialIterator() const             135 G4Region::GetMaterialIterator() const
120 {                                                 136 {
121   return fMaterials.cbegin();                  << 137   G4MaterialList::const_iterator iterator = fMaterials.begin();
                                                   >> 138   return iterator;
122 }                                                 139 }
123                                                   140 
124 // *******************************************    141 // ********************************************************************
125 // GetNumberOfMaterials                           142 // GetNumberOfMaterials
126 // *******************************************    143 // ********************************************************************
127 //                                                144 //
128 inline                                            145 inline
129 size_t G4Region::GetNumberOfMaterials() const     146 size_t G4Region::GetNumberOfMaterials() const
130 {                                                 147 {
131   return fMaterials.size();                       148   return fMaterials.size();
132 }                                                 149 }
133                                                   150 
134 // *******************************************    151 // ********************************************************************
135 // GetNumberOfRootVolumes                         152 // GetNumberOfRootVolumes
136 // *******************************************    153 // ********************************************************************
137 //                                                154 //
138 inline                                            155 inline
139 size_t G4Region::GetNumberOfRootVolumes() cons    156 size_t G4Region::GetNumberOfRootVolumes() const
140 {                                                 157 {
141   return fRootVolumes.size();                     158   return fRootVolumes.size();
142 }                                                 159 }
143                                                   160 
144 // *******************************************    161 // ********************************************************************
145 // SetUserInformation                             162 // SetUserInformation
146 // *******************************************    163 // ********************************************************************
147 //                                                164 //
148 inline                                            165 inline
149 void G4Region::SetUserInformation(G4VUserRegio    166 void G4Region::SetUserInformation(G4VUserRegionInformation* ui)
150 {                                                 167 {
151   fUserInfo = ui;                                 168   fUserInfo = ui;
152 }                                                 169 }
153                                                   170 
154 // *******************************************    171 // ********************************************************************
155 // GetUserInformation                             172 // GetUserInformation
156 // *******************************************    173 // ********************************************************************
157 //                                                174 //
158 inline                                            175 inline
159 G4VUserRegionInformation* G4Region::GetUserInf    176 G4VUserRegionInformation* G4Region::GetUserInformation() const
160 {                                                 177 {
161   return fUserInfo;                               178   return fUserInfo;
162 }                                                 179 }
163                                                   180 
164 // *******************************************    181 // ********************************************************************
165 // SetUserLimits                                  182 // SetUserLimits
166 // *******************************************    183 // ********************************************************************
167 //                                                184 //
168 inline                                            185 inline
169 void G4Region::SetUserLimits(G4UserLimits* ul)    186 void G4Region::SetUserLimits(G4UserLimits* ul)
170 {                                                 187 {
171   fUserLimits = ul;                               188   fUserLimits = ul;
172 }                                                 189 }
173                                                   190 
174 // *******************************************    191 // ********************************************************************
175 // GetUserLimits                                  192 // GetUserLimits
176 // *******************************************    193 // ********************************************************************
177 //                                                194 //
178 inline                                            195 inline
179 G4UserLimits* G4Region::GetUserLimits() const     196 G4UserLimits* G4Region::GetUserLimits() const
180 {                                                 197 {
181   return fUserLimits;                             198   return fUserLimits;
182 }                                                 199 }
183                                                   200 
184 // *******************************************    201 // ********************************************************************
185 // ClearMap                                       202 // ClearMap
186 // *******************************************    203 // ********************************************************************
187 //                                                204 //
188 inline                                            205 inline
189 void G4Region::ClearMap()                         206 void G4Region::ClearMap()
190 {                                                 207 {
191   if(!(fMaterialCoupleMap.empty()))               208   if(!(fMaterialCoupleMap.empty()))
192   {                                               209   {
193     auto b = fMaterialCoupleMap.cbegin();      << 210     G4MaterialCoupleMap::iterator b = fMaterialCoupleMap.begin();
194     auto e = fMaterialCoupleMap.cend();        << 211     G4MaterialCoupleMap::iterator e = fMaterialCoupleMap.end();
195     fMaterialCoupleMap.erase(b,e);                212     fMaterialCoupleMap.erase(b,e);
196   }                                               213   }
197 }                                                 214 }
198                                                   215 
199 // *******************************************    216 // ********************************************************************
200 // RegisterMateralCouplePair                      217 // RegisterMateralCouplePair
201 // *******************************************    218 // ********************************************************************
202 //                                                219 //
203 inline                                            220 inline
204 void G4Region::RegisterMaterialCouplePair(G4Ma    221 void G4Region::RegisterMaterialCouplePair(G4Material* mat,
205                                           G4Ma    222                                           G4MaterialCutsCouple* couple)
206 {                                                 223 {
207   fMaterialCoupleMap.insert(G4MaterialCouplePa    224   fMaterialCoupleMap.insert(G4MaterialCouplePair(mat,couple));
208 }                                                 225 }
209                                                   226 
210 // *******************************************    227 // ********************************************************************
211 // FindCouple                                     228 // FindCouple
212 // *******************************************    229 // ********************************************************************
213 //                                                230 //
214 inline                                            231 inline
215 G4MaterialCutsCouple* G4Region::FindCouple(G4M    232 G4MaterialCutsCouple* G4Region::FindCouple(G4Material* mat)
216 {                                                 233 {
217   auto c = fMaterialCoupleMap.find(mat);       << 234   G4MaterialCoupleMap::iterator c = fMaterialCoupleMap.find(mat);
218   G4MaterialCutsCouple* couple = nullptr;      << 235   G4MaterialCutsCouple* couple = 0;
219   if(c!=fMaterialCoupleMap.cend()) couple = (* << 236   if(c!=fMaterialCoupleMap.end()) couple = (*c).second;
220   return couple;                                  237   return couple;
221 }                                                 238 }
222                                                   239 
223 // *******************************************    240 // ********************************************************************
                                                   >> 241 // SetFastSimulationManager
                                                   >> 242 // ********************************************************************
                                                   >> 243 //
                                                   >> 244 inline
                                                   >> 245 void G4Region::SetFastSimulationManager(G4FastSimulationManager* fsm)
                                                   >> 246 {
                                                   >> 247   G4MT_fsmanager = fsm;
                                                   >> 248 }
                                                   >> 249 
                                                   >> 250 // ********************************************************************
                                                   >> 251 // GetFastSimulationManager
                                                   >> 252 // ********************************************************************
                                                   >> 253 //
                                                   >> 254 inline 
                                                   >> 255 G4FastSimulationManager* G4Region::GetFastSimulationManager() const
                                                   >> 256 {
                                                   >> 257   return G4MT_fsmanager;
                                                   >> 258 }
                                                   >> 259 
                                                   >> 260 // ********************************************************************
224 // GetFieldManager                                261 // GetFieldManager
225 // *******************************************    262 // ********************************************************************
226 //                                                263 //
227 inline                                            264 inline 
228 G4FieldManager* G4Region::GetFieldManager() co    265 G4FieldManager* G4Region::GetFieldManager() const
229 {                                                 266 {
230   return fFieldManager;                           267   return fFieldManager;
231 }                                                 268 }
232                                                   269 
233 // *******************************************    270 // ********************************************************************
234 // SetFieldManager                                271 // SetFieldManager
235 // *******************************************    272 // ********************************************************************
236 //                                                273 //
237 inline                                            274 inline
238 void G4Region::SetFieldManager(G4FieldManager*    275 void G4Region::SetFieldManager(G4FieldManager* fm)
239 {                                                 276 {
240   fFieldManager = fm;                             277   fFieldManager = fm;
241 }                                                 278 }
242                                                   279 
243 // *******************************************    280 // ********************************************************************
244 // GetWorldPhysical                               281 // GetWorldPhysical
245 // *******************************************    282 // ********************************************************************
246 //                                                283 //
247 inline                                            284 inline
248 G4VPhysicalVolume* G4Region::GetWorldPhysical(    285 G4VPhysicalVolume* G4Region::GetWorldPhysical() const
249 {                                                 286 {
250   return fWorldPhys;                              287   return fWorldPhys;
251 }                                                 288 }
252                                                   289 
253 // *******************************************    290 // ********************************************************************
254 // AddMaterial                                    291 // AddMaterial
255 // *******************************************    292 // ********************************************************************
256 //                                                293 //
257 inline                                            294 inline
258 void G4Region::AddMaterial(G4Material* aMateri    295 void G4Region::AddMaterial(G4Material* aMaterial)
259 {                                                 296 {
260   auto pos = std::find(fMaterials.cbegin(),fMa << 297   G4MaterialList::iterator pos =
261   if (pos == fMaterials.cend())                << 298     std::find(fMaterials.begin(),fMaterials.end(),aMaterial);
                                                   >> 299   if (pos == fMaterials.end())
262   {                                               300   {
263     fMaterials.push_back(aMaterial);              301     fMaterials.push_back(aMaterial);
264     fRegionMod = true;                            302     fRegionMod = true;
265   }                                               303   }
                                                   >> 304 }
                                                   >> 305 
                                                   >> 306 // ********************************************************************
                                                   >> 307 // SetRegionalSteppingAction
                                                   >> 308 // ********************************************************************
                                                   >> 309 //
                                                   >> 310 inline
                                                   >> 311 void G4Region::SetRegionalSteppingAction(G4UserSteppingAction* rusa)
                                                   >> 312 {
                                                   >> 313   G4MT_rsaction = rusa;
                                                   >> 314 }
                                                   >> 315 
                                                   >> 316 // ********************************************************************
                                                   >> 317 // GetRegionalSteppingAction
                                                   >> 318 // ********************************************************************
                                                   >> 319 //
                                                   >> 320 inline
                                                   >> 321 G4UserSteppingAction* G4Region::GetRegionalSteppingAction() const
                                                   >> 322 {
                                                   >> 323   return G4MT_rsaction;
266 }                                                 324 }
267                                                   325 
268 // *******************************************    326 // ********************************************************************
269 // UsedInMassGeometry                             327 // UsedInMassGeometry
270 // *******************************************    328 // ********************************************************************
271 //                                                329 //
272 inline                                            330 inline 
273 void G4Region::UsedInMassGeometry(G4bool val)     331 void G4Region::UsedInMassGeometry(G4bool val)
274 {                                                 332 {
275   fInMassGeometry = val;                          333   fInMassGeometry = val;
276 }                                                 334 }
277                                                   335 
278 // *******************************************    336 // ********************************************************************
279 // UsedInParallelGeometry                         337 // UsedInParallelGeometry
280 // *******************************************    338 // ********************************************************************
281 //                                                339 //
282 inline                                            340 inline 
283 void G4Region::UsedInParallelGeometry(G4bool v    341 void G4Region::UsedInParallelGeometry(G4bool val)
284 {                                                 342 {
285   fInParallelGeometry = val;                      343   fInParallelGeometry = val;
286 }                                                 344 }
287                                                   345 
288 // *******************************************    346 // ********************************************************************
289 // IsInMassGeometry                               347 // IsInMassGeometry
290 // *******************************************    348 // ********************************************************************
291 //                                                349 //
292 inline                                            350 inline 
293 G4bool G4Region::IsInMassGeometry() const         351 G4bool G4Region::IsInMassGeometry() const
294 {                                                 352 {
295   return fInMassGeometry;                         353   return fInMassGeometry;
296 }                                                 354 }
297                                                   355 
298 // *******************************************    356 // ********************************************************************
299 // IsInParallelGeometry                           357 // IsInParallelGeometry
300 // *******************************************    358 // ********************************************************************
301 //                                                359 //
302 inline                                            360 inline 
303 G4bool G4Region::IsInParallelGeometry() const     361 G4bool G4Region::IsInParallelGeometry() const
304 {                                                 362 {
305   return fInParallelGeometry;                     363   return fInParallelGeometry;
306 }                                                 364 }
307                                                   365