157610 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop">
157611 <physvolref ref="__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xabcc228"/>
157612 <physvolref ref="__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xab4bd50"/>
157613 </bordersurface>
157614 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot">
157615 <physvolref ref="__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap0xaa6e3d8"/>
157616 <physvolref ref="__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR0xae4eda0"/>
157617 </bordersurface>
http://hypernews.slac.stanford.edu/HyperNews/geant4/get/docsexamples/263.html
http://hypernews.slac.stanford.edu/HyperNews/geant4/get/opticalphotons/428.html
http://geant4.in2p3.fr/2005/Workshop/ShortCourse/session4/P.Gumplinger.pdf
Hmm physvolref/@ref attributes are PV names, these cannot directly be matched against node.id as that has a uniquing count tacked on. Using pvlookup reveals that cannot match to precise PV in many cases getting two possibilites one from each of the 2 AD.
Maybe need to change G4DAE to pluck the uid at C++ level ? Or could be bug in BorderSurface creation ? Persisting has lost the association.
[blyth@belle7 source]$ find . -name '*.cc' -exec grep -l G4LogicalBorderSurface {} \;
./persistency/gdml/src/G4GDMLReadStructure.cc
./processes/optical/src/G4OpBoundaryProcess.cc
./geometry/volumes/src/G4LogicalBorderSurface.cc
[blyth@belle7 source]$
processes/optical/src/G4OpBoundaryProcess.cc:
132 G4VParticleChange*
133 G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
134 {
218 theModel = glisur;
219 theFinish = polished;
220
221 G4SurfaceType type = dielectric_dielectric;
222
223 Rindex = NULL;
224 OpticalSurface = NULL;
225
226 G4LogicalSurface* Surface = NULL;
227
228 Surface = G4LogicalBorderSurface::GetSurface
229 (pPreStepPoint ->GetPhysicalVolume(),
230 pPostStepPoint->GetPhysicalVolume());
// THIS IS ONLY CHANCE TO SNAG A BORDERSURFACE
231
232 if (Surface == NULL){
233 G4bool enteredDaughter=(pPostStepPoint->GetPhysicalVolume()
234 ->GetMotherLogical() ==
235 pPreStepPoint->GetPhysicalVolume()
236 ->GetLogicalVolume());
// poststep.PV.motherLV == prestep.PV.LV
// poststep mother logical is prestep logical ... so poststep must be daughter of prestep
237 if(enteredDaughter){
238 Surface = G4LogicalSkinSurface::GetSurface
239 (pPostStepPoint->GetPhysicalVolume()->
240 GetLogicalVolume());
241 if(Surface == NULL)
242 Surface = G4LogicalSkinSurface::GetSurface
243 (pPreStepPoint->GetPhysicalVolume()->
244 GetLogicalVolume());
245 }
246 else {
// does this imply poststep must be mother of prestep ?
// what about stepping between siblings ?
247 Surface = G4LogicalSkinSurface::GetSurface
248 (pPreStepPoint->GetPhysicalVolume()->
249 GetLogicalVolume());
250 if(Surface == NULL)
251 Surface = G4LogicalSkinSurface::GetSurface
252 (pPostStepPoint->GetPhysicalVolume()->
253 GetLogicalVolume());
254 }
255 }
Translating that into something digestable,
// Surface = G4LogicalBorderSurface::GetSurface(pPreStepPoint ->GetPhysicalVolume(),pPostStepPoint->GetPhysicalVolume());
// * border surface takes priority
//
// if(Surface == NULL){
// ...
// if(enteredDaughter){ // first try post and then pre : daughter has first dibs
// Surface = G4LogicalSkinSurface::GetSurface(pPostStepPoint->GetPhysicalVolume()->GetLogicalVolume());
// if(Surface == NULL){
// Surface = G4LogicalSkinSurface::GetSurface(pPreStepPoint->GetPhysicalVolume()->GetLogicalVolume());
// }
// }
// else
// { // first pre then post :
//
//
256
257 if (Surface) OpticalSurface =
258 dynamic_cast <G4OpticalSurface*> (Surface->GetSurfaceProperty());
259
dump_bordersurface
[00] <BorderSurface AdDetails__AdSurfacesAll__ESRAirSurfaceTop REFLECTIVITY >
pv1 (2) AdDetails__lvTopReflector--pvTopRefGap0xabcc228
__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xabcc228.0 __dd__Materials__Air0xab09580
__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xabcc228.1 __dd__Materials__Air0xab09580
pv2 (2) AdDetails__lvTopRefGap--pvTopESR0xab4bd50
__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xab4bd50.0 __dd__Materials__ESR0xaeaaeb8
__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xab4bd50.1 __dd__Materials__ESR0xaeaaeb8
Oil http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvSST--pvOIL0xaa6d998.0.html
http://belle7.nuu.edu.tw/dae/tree/3155.html (many children)
Acr http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvOIL--pvTopReflector0xab22490.0.html
http://belle7.nuu.edu.tw/dae/tree/4425.html (Acrylic, single child)
pv1 http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xabcc228.0___4.html
pv1 http://belle7.nuu.edu.tw/dae/tree/4426___4.html (Air, single child)
pv2 http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xab4bd50.0.html
pv2 http://belle7.nuu.edu.tw/dae/tree/4427.html (EST, leaf )
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xabcc228.1___4.html
http://belle7.nuu.edu.tw/dae/tree/6086___4.html
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xab4bd50.1.html
http://belle7.nuu.edu.tw/dae/tree/6087.html
This bordersurface pair are (single-parent)-(single-child) with the child being leaf node
The PV ambiguity is between the two ADs.
Construction is simarly shaped discs
Oil-Acrylic-Air-ESR
pv1 pv2
Double ambiguity, should yield two border surfaces ... the parent child pairings
can be used to break ambiguity ?
[01] <BorderSurface AdDetails__AdSurfacesAll__ESRAirSurfaceBot REFLECTIVITY >
pv1 (2) AdDetails__lvBotReflector--pvBotRefGap0xaa6e3d8
__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap0xaa6e3d8.0 __dd__Materials__Air0xab09580
__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap0xaa6e3d8.1 __dd__Materials__Air0xab09580
pv2 (2) AdDetails__lvBotRefGap--pvBotESR0xae4eda0
__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR0xae4eda0.0 __dd__Materials__ESR0xaeaaeb8
__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR0xae4eda0.1 __dd__Materials__ESR0xaeaaeb8
Presumably same pattern as top reflector
Double ambiguity, means this should yield two surfaces... one for each AD
[02] <BorderSurface AdDetails__AdSurfacesAll__SSTOilSurface REFLECTIVITY >
pv1 (2) AD__lvSST--pvOIL0xaa6d998
__dd__Geometry__AD__lvSST--pvOIL0xaa6d998.0 __dd__Materials__MineralOil0xaecfd78
__dd__Geometry__AD__lvSST--pvOIL0xaa6d998.1 __dd__Materials__MineralOil0xaecfd78
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvSST--pvOIL0xaa6d998.0.html
http://belle7.nuu.edu.tw/dae/tree/3155.html Oil
pv2 (2) AD__lvADE--pvSST0xaba3f60
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.0 __dd__Materials__StainlessSteel0xadf7930
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.1 __dd__Materials__StainlessSteel0xadf7930
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvADE--pvSST0xaba3f60.0.html
http://belle7.nuu.edu.tw/dae/tree/3154.html
(4 children, one of which os the Oil)
child(Oil)-parent(Steel) border
Thanks to the double ambiguity, this should yield two surfaces ? One for each AD
[03] <BorderSurface AdDetails__AdSurfacesNear__SSTWaterSurfaceNear1 REFLECTIVITY >
pv1 (1) Pool__lvNearPoolIWS--pvNearADE10xaa9d608
__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE10xaa9d608.0 __dd__Materials__IwsWater0xab82978
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE10xaa9d608.0.html
http://belle7.nuu.edu.tw/dae/tree/3153___1.html cylindrical Iws containing SST
pv2 (2) AD__lvADE--pvSST0xaba3f60
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.0 __dd__Materials__StainlessSteel0xadf7930
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.1 __dd__Materials__StainlessSteel0xadf7930
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvADE--pvSST0xaba3f60.0.html
http://belle7.nuu.edu.tw/dae/tree/3154.html
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__AD__lvADE--pvSST0xaba3f60.1.html
http://belle7.nuu.edu.tw/dae/tree/4814.html
Parent(water)-child(Steel),
[04] <BorderSurface AdDetails__AdSurfacesNear__SSTWaterSurfaceNear2 REFLECTIVITY >
pv1 (1) Pool__lvNearPoolIWS--pvNearADE20xaaa18b8
__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE20xaaa18b8.0 __dd__Materials__IwsWater0xab82978
pv2 (2) AD__lvADE--pvSST0xaba3f60
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.0 __dd__Materials__StainlessSteel0xadf7930
__dd__Geometry__AD__lvADE--pvSST0xaba3f60.1 __dd__Materials__StainlessSteel0xadf7930
Same for other AD, no ambiguity for pv1 but is for pv2
[05] <BorderSurface PoolDetails__NearPoolSurfaces__NearIWSCurtainSurface BACKSCATTERCONSTANT,SPECULARSPIKECONSTANT,REFLECTIVITY,SPECULARLOBECONSTANT >
pv1 (1) Pool__lvNearPoolCurtain--pvNearPoolIWS0xae08fa0
__dd__Geometry__Pool__lvNearPoolCurtain--pvNearPoolIWS0xae08fa0.0 __dd__Materials__IwsWater0xab82978
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolCurtain--pvNearPoolIWS0xae08fa0.0.html
http://belle7.nuu.edu.tw/dae/tree/3152.html
pv2 (1) Pool__lvNearPoolOWS--pvNearPoolCurtain0xae9ba38
__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain0xae9ba38.0 __dd__Materials__Tyvek0xab26538
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain0xae9ba38.0.html
http://belle7.nuu.edu.tw/dae/tree/3151.html
child-parent
[06] <BorderSurface PoolDetails__NearPoolSurfaces__NearOWSLinerSurface BACKSCATTERCONSTANT,SPECULARSPIKECONSTANT,REFLECTIVITY,SPECULARLOBECONSTANT >
pv1 (1) Pool__lvNearPoolLiner--pvNearPoolOWS0xaa64f68
__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS0xaa64f68.0 __dd__Materials__OwsWater0xabb2118
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS0xaa64f68.0.html
http://belle7.nuu.edu.tw/dae/tree/3150.html
pv2 (1) Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300
__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300.0 __dd__Materials__Tyvek0xab26538
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300.0.html
http://belle7.nuu.edu.tw/dae/tree/3149.html
child-parent
[07] <BorderSurface PoolDetails__NearPoolSurfaces__NearDeadLinerSurface BACKSCATTERCONSTANT,SPECULARSPIKECONSTANT,REFLECTIVITY,SPECULARLOBECONSTANT >
pv1 (1) Sites__lvNearHallBot--pvNearPoolDead0xaa63ff0
__dd__Geometry__Sites__lvNearHallBot--pvNearPoolDead0xaa63ff0.0 __dd__Materials__DeadWater0xaabb308
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Sites__lvNearHallBot--pvNearPoolDead0xaa63ff0.0.html
http://belle7.nuu.edu.tw/dae/tree/3148.html
pv2 (1) Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300
__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300.0 __dd__Materials__Tyvek0xab26538
http://belle7.nuu.edu.tw/dae/tree/__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xab6b300.0.html
http://belle7.nuu.edu.tw/dae/tree/3149.html
parent-child
G4VRML2SceneHandlerFunc.icc:
169 void G4VRML2SCENEHANDLER::AddPrimitive(const G4Polyhedron& polyhedron)
170 {
...
182 // Current Model
183 const G4VModel* pv_model = GetModel();
184 G4String pv_name = "No model";
185 if (pv_model) pv_name = pv_model->GetCurrentTag() ;
186
187 // VRML codes are generated below
188
189 //std::cerr << "SCB " << pv_name << "\n";
190 fDest << "#---------- SOLID: " << pv_name << "\n";
191
192
visualization/modeling/include/G4VModel.hh:
74 virtual G4String GetCurrentTag () const;
75 // A tag which depends on the current state of the model.
76
visualization/modeling/src/G4VModel.cc:
49 G4String G4VModel::GetCurrentTag () const {
50 // Override in concrete class if concept of "current" is meaningful.
51 return fGlobalTag;
52 }
visualization/modeling/src/G4PhysicalVolumeModel.cc:
181 G4String G4PhysicalVolumeModel::GetCurrentTag () const
182 {
183 if (fpCurrentPV) {
184 std::ostringstream o;
185 o << fpCurrentPV -> GetCopyNo ();
186 return fpCurrentPV -> GetName () + "." + o.str();
187 }
188 else {
189 return "WARNING: NO CURRENT VOLUME - global tag is " + fGlobalTag;
190 }
191 }
geometry/management/include/G4VPhysicalVolume.hh:
140 virtual G4bool IsMany() const = 0;
141 // Return true if the volume is MANY (not implemented yet).
142 virtual G4int GetCopyNo() const = 0;
143 // Return the volumes copy number.
144 virtual void SetCopyNo(G4int CopyNo) = 0;
145 // Set the volumes copy number.
146 virtual G4bool IsReplicated() const = 0;
147 // Return true if replicated (single object instance represents
148 // many real volumes), else false.
149 virtual G4bool IsParameterised() const = 0;
150 // Return true if parameterised (single object instance represents
151 // many real parameterised volumes), else false.
geometry/volumes/src/G4PVPlacement.cc:
174 // GetCopyNo
175 //
176 G4int G4PVPlacement::GetCopyNo() const
177 {
178 return fcopyNo;
179 }
180
181 // ----------------------------------------------------------------------
182 // SetCopyNo
183 //
184 void G4PVPlacement::SetCopyNo(G4int newCopyNo)
185 {
186 fcopyNo= newCopyNo;
187 }
188
What is setting the CopyNo?:
[blyth@belle7 source]$ find . -name '*.cc' -exec grep -H SetCopyNo {} \;
./persistency/ascii/src/G4tgbPlaceParamCircle.cc: physVol->SetCopyNo( copyNo );
./persistency/ascii/src/G4tgbPlaceParamLinear.cc: physVol->SetCopyNo( copyNo );
./persistency/ascii/src/G4tgbPlaceParamSquare.cc: physVol->SetCopyNo( copyNo );
./visualization/modeling/src/G4PhysicalVolumeModel.cc: pVPV -> SetCopyNo (n);
./visualization/modeling/src/G4PhysicalVolumeModel.cc: pVPV -> SetCopyNo (n);
./geometry/volumes/src/G4PVReplica.cc:void G4PVReplica::SetCopyNo(G4int newCopyNo)
./geometry/volumes/src/G4PVPlacement.cc:// SetCopyNo
./geometry/volumes/src/G4PVPlacement.cc:void G4PVPlacement::SetCopyNo(G4int newCopyNo)
./geometry/divisions/src/G4PVDivision.cc:void G4PVDivision::SetCopyNo(G4int newCopyNo)
./geometry/navigation/src/G4RegularNavigation.cc: pPhysical->SetCopyNo(replicaNo);
./geometry/navigation/src/G4ParameterisedNavigation.cc: pPhysical->SetCopyNo(replicaNo);
./geometry/navigation/src/G4Navigator.cc: fBlockedPhysicalVolume->SetCopyNo(fBlockedReplicaNo);
./geometry/navigation/src/G4Navigator.cc: fBlockedPhysicalVolume->SetCopyNo(fBlockedReplicaNo);
[blyth@belle7 source]$
CopyNo is non trivial to persist into DAE, as DAE retains the tree structure unlike VRML2 that fully unwinds it. The copyNo kinda emerges from the traverse. Despite this it is included in DAE metadata elements, but difficult to interpret.
Interleaving the bordersurface with the debug bsurf from the meta element. Observations:
157610 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop">
157611 <physvolref ref="__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xc05e0f0"/>
157612 <physvolref ref="__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xc208d58"/>
157613 </bordersurface>
157614 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot">
157615 <physvolref ref="__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap0xbd9e0e0"/>
157616 <physvolref ref="__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR0xbd93990"/>
157617 </bordersurface>
157618 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesAll__SSTOilSurface" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__SSTOilSurface">
157619 <physvolref ref="__dd__Geometry__AD__lvSST--pvOIL0xc039198"/>
157620 <physvolref ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157621 </bordersurface>
157642 <meta>
157643 <bsurf name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceTop">
157644 <pv copyNo="1000" name="__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap" ref="__dd__Geometry__AdDetails__lvTopReflector--pvTopRefGap0xc05e0f0"/>
157645 <pv copyNo="1000" name="__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR" ref="__dd__Geometry__AdDetails__lvTopRefGap--pvTopESR0xc208d58"/>
157646 </bsurf>
157647 <bsurf name="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__ESRAirSurfaceBot">
157648 <pv copyNo="1000" name="__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap" ref="__dd__Geometry__AdDetails__lvBotReflector--pvBotRefGap0xbd9e0e0"/>
157649 <pv copyNo="1000" name="__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR" ref="__dd__Geometry__AdDetails__lvBotRefGap--pvBotESR0xbd93990"/>
157650 </bsurf>
157651 <bsurf name="__dd__Geometry__AdDetails__AdSurfacesAll__SSTOilSurface" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesAll__SSTOilSurface">
157652 <pv copyNo="1000" name="__dd__Geometry__AD__lvSST--pvOIL" ref="__dd__Geometry__AD__lvSST--pvOIL0xc039198"/>
157653 <pv copyNo="1000" name="__dd__Geometry__AD__lvADE--pvSST" ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157654 </bsurf>
157622 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear1" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear1">
157623 <physvolref ref="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE10xc0c71b0"/>
157624 <physvolref ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157625 </bordersurface>
157626 <bordersurface name="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear2" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear2">
157627 <physvolref ref="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE20xbe3f650"/>
157628 <physvolref ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157629 </bordersurface>
157655 <bsurf name="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear1" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear1">
157656 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE1" ref="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE10xc0c71b0"/>
157657 <pv copyNo="1000" name="__dd__Geometry__AD__lvADE--pvSST" ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157658 </bsurf>
157659 <bsurf name="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear2" surfaceproperty="__dd__Geometry__AdDetails__AdSurfacesNear__SSTWaterSurfaceNear2">
157660 <pv copyNo="1001" name="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE2" ref="__dd__Geometry__Pool__lvNearPoolIWS--pvNearADE20xbe3f650"/>
157661 <pv copyNo="1000" name="__dd__Geometry__AD__lvADE--pvSST" ref="__dd__Geometry__AD__lvADE--pvSST0xbf20a18"/>
157662 </bsurf>
157630 <bordersurface name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearIWSCurtainSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearIWSCurtainSurface">
157631 <physvolref ref="__dd__Geometry__Pool__lvNearPoolCurtain--pvNearPoolIWS0xbf52120"/>
157632 <physvolref ref="__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain0xc3bdb90"/>
157633 </bordersurface>
157675 <bsurf name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearIWSCurtainSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearIWSCurtainSurface">
157676 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolCurtain--pvNearPoolIWS" ref="__dd__Geometry__Pool__lvNearPoolCurtain--pvNearPoolIWS0xbf52120"/>
157677 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain" ref="__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain0xc3bdb90"/>
157678 </bsurf>
157634 <bordersurface name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSLinerSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSLinerSurface">
157635 <physvolref ref="__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS0xbd579a8"/>
157636 <physvolref ref="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xbd42ef8"/>
157637 </bordersurface>
157663 <bsurf name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSLinerSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSLinerSurface">
157664 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS" ref="__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS0xbd579a8"/>
157665 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner" ref="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xbd42ef8"/>
157666 </bsurf>
########### HUH THIS ONE WITH SAME PV1 AS PRIOR IS MISSING IN THE ABOVE
########### THE GDML EXTRACTED CODE THAT JUST CHECKS THE FIRST OF THE PAIR IS WRONG
157671 <bsurf name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSCurtainSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearOWSCurtainSurface">
157672 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS" ref="__dd__Geometry__Pool__lvNearPoolLiner--pvNearPoolOWS0xbd579a8"/>
157673 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain" ref="__dd__Geometry__Pool__lvNearPoolOWS--pvNearPoolCurtain0xc3bdb90"/>
157674 </bsurf>
157638 <bordersurface name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearDeadLinerSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearDeadLinerSurface">
157639 <physvolref ref="__dd__Geometry__Sites__lvNearHallBot--pvNearPoolDead0xbf33ca0"/>
157640 <physvolref ref="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xbd42ef8"/>
157641 </bordersurface>
157667 <bsurf name="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearDeadLinerSurface" surfaceproperty="__dd__Geometry__PoolDetails__NearPoolSurfaces__NearDeadLinerSurface">
157668 <pv copyNo="1000" name="__dd__Geometry__Sites__lvNearHallBot--pvNearPoolDead" ref="__dd__Geometry__Sites__lvNearHallBot--pvNearPoolDead0xbf33ca0"/>
157669 <pv copyNo="1000" name="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner" ref="__dd__Geometry__Pool__lvNearPoolDead--pvNearPoolLiner0xbd42ef8"/>
157670 </bsurf>
157679 </meta>
157680 </extra>
157681 </library_nodes>
[blyth@belle7 lhcb]$ find . -name '*.cpp' -exec grep -H G4LogicalBorderSurface {} \;
./Sim/GiGaCnv/src/component/GiGaSurfaceCnv.cpp:#include "G4LogicalBorderSurface.hh"
./Sim/GiGaCnv/src/component/GiGaSurfaceCnv.cpp: G4LogicalBorderSurface* surf =
./Sim/GiGaCnv/src/component/GiGaSurfaceCnv.cpp: G4LogicalBorderSurface::GetSurface( pv1 , pv2 );
./Sim/GiGaCnv/src/component/GiGaSurfaceCnv.cpp: { logsurf = new G4LogicalBorderSurface( surface->registry()->identifier() ,
[blyth@belle7 lhcb]$
[blyth@belle7 DDDB]$ pwd
/data1/env/local/dybx/NuWa-trunk/dybgaudi/Detector/XmlDetDesc/DDDB
[blyth@belle7 DDDB]$ find . -name surfaces.xml
./AdDetails/surfaces.xml
./Parameters/surfaces.xml
./AdDetails_213/surfaces.xml
./PoolDetails/surfaces.xml
Only one surface definition for all such reflectors in all ADs ?
AdDetails/surfaces.xml:
43
44 <!-- Reflector top and bottom -->
45
46 <surface name="ESRAirSurfaceTop"
47 model="unified"
48 finish="polished"
49 type="dielectric_metal"
50 value="0.0"
51 volfirst="/dd/Geometry/AdDetails/lvTopReflector#pvTopRefGap"
52 volsecond="/dd/Geometry/AdDetails/lvTopRefGap#pvTopESR">
53 <tabprops address="/dd/Geometry/AdDetails/AdTabProperties/ESRAirReflectivity"/>
54 </surface>
55 <surface name="ESRAirSurfaceBot"
56 model="unified"
57 finish="polished"
58 type="dielectric_metal"
59 value="0.0"
60 volfirst="/dd/Geometry/AdDetails/lvBotReflector#pvBotRefGap"
61 volsecond="/dd/Geometry/AdDetails/lvBotRefGap#pvBotESR">
62 <tabprops address="/dd/Geometry/AdDetails/AdTabProperties/ESRAirReflectivity"/>
63 </surface>
Parameters/surfaces.xml:
09 <!-- Geant4's G4OpticalSurface enums -->
10 <parameter name="polished" value="0"/>
11 <parameter name="polishedfrontpainted" value="1" />
12 <parameter name="polishedbackpainted" value="2" />
13 <parameter name="ground" value="3" />
14 <parameter name="groundfrontpainted" value="4" />
15 <parameter name="groundbackpainted" value="5" />
16
17 <parameter name="dielectric_metal" value="0" />
18 <parameter name="dielectric_dielectric" value="1" />
19
20 <parameter name="glisur" value="0" />
21 <parameter name="unified" value="1" />
[blyth@belle7 DDDB]$ diff AdDetails/surfaces.xml AdDetails_213/surfaces.xml
6a7,8
> <!-- Modified for 2-1-3 configuration -->
>
18c20
< <surfaceref href="#SSTWaterSurfaceNear2"/>
---
> <!-- REMOVED surfaceref href="#SSTWaterSurfaceNear2"/ Unneeded for 2-1-3 config -->
24c26
< <surfaceref href="#SSTWaterSurfaceFar4"/>
---
> <!-- REMOVED surfaceref href="#SSTWaterSurfaceFar4"/ Unneeded for 2-1-3 config -->
28,37c30,39
< <tabpropertyref href="properties.xml#RSOilReflectivity"/> <!--Radial Shield-->
< <tabpropertyref href="properties.xml#RSOilSpecularLobe"/> <!--Radial Shield-->
< <tabpropertyref href="properties.xml#RSOilSpecularSpike"/> <!--Radial Shield-->
< <tabpropertyref href="properties.xml#RSOilBackScattering"/> <!--Radial Shield-->
< <tabpropertyref href="properties.xml#ESRAirReflectivity"/>
< <tabpropertyref href="properties.xml#ESRAirSpecularLobe"/>
< <tabpropertyref href="properties.xml#ESRAirSpecularSpike"/>
< <tabpropertyref href="properties.xml#ESRAirBackScattering"/>
< <tabpropertyref href="properties.xml#SSTOilReflectivity"/>
< <tabpropertyref href="properties.xml#SSTWaterReflectivity"/>
---
> <tabpropertyref href="../AdDetails/properties.xml#RSOilReflectivity"/> <!--Radial Shield-->
> <tabpropertyref href="../AdDetails/properties.xml#RSOilSpecularLobe"/> <!--Radial Shield-->
> <tabpropertyref href="../AdDetails/properties.xml#RSOilSpecularSpike"/> <!--Radial Shield-->
> <tabpropertyref href="../AdDetails/properties.xml#RSOilBackScattering"/> <!--Radial Shield-->
> <tabpropertyref href="../AdDetails/properties.xml#ESRAirReflectivity"/>
> <tabpropertyref href="../AdDetails/properties.xml#ESRAirSpecularLobe"/>
> <tabpropertyref href="../AdDetails/properties.xml#ESRAirSpecularSpike"/>
> <tabpropertyref href="../AdDetails/properties.xml#ESRAirBackScattering"/>
> <tabpropertyref href="../AdDetails/properties.xml#SSTOilReflectivity"/>
> <tabpropertyref href="../AdDetails/properties.xml#SSTWaterReflectivity"/>
88,96c90,92
< <surface name="SSTWaterSurfaceNear2"
< model="unified"
< finish="ground"
< type="dielectric_metal"
< value="1.0"
< volfirst="/dd/Geometry/Pool/lvNearPoolIWS#pvNearADE2"
< volsecond="/dd/Geometry/AD/lvADE#pvSST">
< <tabprops address="/dd/Geometry/AdDetails/AdTabProperties/SSTWaterReflectivity"/>
< </surface>
---
>
> <!-- Removed pvNearADE2 for 2-1-3 configuration -->
>
128,136c124,125
< <surface name="SSTWaterSurfaceFar4"
< model="unified"
< finish="ground"
< type="dielectric_metal"
< value="1.0"
< volfirst="/dd/Geometry/Pool/lvFarPoolIWS#pvFarADE4"
< volsecond="/dd/Geometry/AD/lvADE#pvSST">
< <tabprops address="/dd/Geometry/AdDetails/AdTabProperties/SSTWaterReflectivity"/>
< </surface>
---
>
> <!-- Removed pvFarADE4 for 2-1-3 configuration -->
[blyth@belle7 DDDB]$
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvRadialShield:27[27]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvRadialShield:28[28]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvRadialShield:29[29]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvRadialShield:30[30]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvRadialShield:31[31]
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvTopRefGap#pvTopESR[1000]
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/AdDetails/lvTopReflector#pvTopRefGap
PV2 [copyNo]name [1000]/dd/Geometry/AdDetails/lvTopRefGap#pvTopESR
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvTopReflector#pvTopRefGap[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/AdDetails/lvTopReflector#pvTopRefGap
PV2 [copyNo]name [1000]/dd/Geometry/AdDetails/lvTopRefGap#pvTopESR
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvTopReflector[1429]
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvBotRefGap#pvBotESR[1000]
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/AdDetails/lvBotReflector#pvBotRefGap
PV2 [copyNo]name [1000]/dd/Geometry/AdDetails/lvBotRefGap#pvBotESR
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvBotReflector#pvBotRefGap[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/AdDetails/lvBotReflector#pvBotRefGap
PV2 [copyNo]name [1000]/dd/Geometry/AdDetails/lvBotRefGap#pvBotESR
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvBotReflector[1430]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvSstBotRadiusRibs#SstBotRibs#SstBotRibRot[1431]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvSstBotRadiusRibs#SstBotRibs:1#SstBotRibRot[1]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvSstBotRadiusRibs#SstBotRibs:2#SstBotRibRot[2]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvSstBotRadiusRibs#SstBotRibs:3#SstBotRibRot[3]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvWallUpperLedSourceAssy[1517]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvWallMidLedSourceAssy[1518]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvOIL#pvWallBotLedSourceAssy[1519]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvSST#pvOIL[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/AD/lvSST#pvOIL
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvSST#lvCenterCalibHoleSST[1001]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvSST#pvOffCenterCalibHoleSST[1002]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvSST#pvGCatCalibHoleSST[1003]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvADE#pvSST[1000]
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/AD/lvSST#pvOIL
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolIWS#pvNearADE1
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1001]/dd/Geometry/Pool/lvNearPoolIWS#pvNearADE2
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface ... /dd/Geometry/CalibrationBox/lvCenterCalibE#pvCenterBottomPlate[1000]
G4DAE::GetBorderSurface ... /dd/Geometry/CalibrationBox/lvDomeInterior#pvShieldingPuck[1000]
G4DAE::GetBorderSurface ... /dd/Geometry/CalibrationBox/lvDomeInterior#pvBearingRing[1001]
G4DAE::GetBorderSurface ... /dd/Geometry/CalibrationBox/lvDomeInterior#pvTurntableLowerPlate[1002]
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvMOOverflowTankE#pvMOFTTopFlangeInterior[1004]
G4DAE::GetBorderSurface ... /dd/Geometry/AdDetails/lvMOOverflowTankE#pvMOFTTopCover[1005]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvADE#pvlvMOOverflowTankE1[1009]
G4DAE::GetBorderSurface ... /dd/Geometry/AD/lvADE#pvlvMOOverflowTankE2[1010]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolIWS#pvNearADE1[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolIWS#pvNearADE1
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolIWS#pvNearADE2[1001]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1001]/dd/Geometry/Pool/lvNearPoolIWS#pvNearADE2
PV2 [copyNo]name [1000]/dd/Geometry/AD/lvADE#pvSST
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolIWS#pvVetoPmtNearInn#pvNearInnWall1#pvNearInnWall1:1#pvVetoPmtUnit#pvPmtHemi[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolIWS#pvVetoPmtNearInn#pvNearInnWall1#pvNearInnWall1:1#pvVetoPmtUnit#pvPmtMount#pvPmtTopRing[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolIWS#pvVetoPmtNearInn#pvNearInnWall1#pvNearInnWall1:1#pvVetoPmtUnit#pvPmtMount#pvPmtBaseRing[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolOWS#pvNearMuonCableTray#pvMuonCableTrayNear:2#MuonHalfCableTrayNear:7[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolOWS#pvOutWaterPipeNear#OutWaterPipeNear:1[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolOWS#pvOutWaterPipeNear#OutWaterPipeNear:2[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearPoolOWS[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolLiner#pvNearPoolOWS
PV2 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolDead#pvNearPoolLiner
G4DAE::GetBorderSurface surf other PV1 match
PV1 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolLiner#pvNearPoolOWS
PV2 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolOWS#pvNearPoolCurtain
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE1LinerLegs#pvLegInLiner:1#pvLegInLinerUnit[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE1LinerLegs#pvLegInLiner:2#pvLegInLinerUnit[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE1LinerLegs#pvLegInLiner:3#pvLegInLinerUnit[3]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE1LinerLegs#pvLegInLiner:4#pvLegInLinerUnit[4]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE2LinerLegs#pvLegInLiner:1#pvLegInLinerUnit[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE2LinerLegs#pvLegInLiner:2#pvLegInLinerUnit[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE2LinerLegs#pvLegInLiner:3#pvLegInLinerUnit[3]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolLiner#pvNearADE2LinerLegs#pvLegInLiner:4#pvLegInLinerUnit[4]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearPoolLiner[1000]
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolLiner#pvNearPoolOWS
PV2 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolDead#pvNearPoolLiner
G4DAE::GetBorderSurface surf PV2 match
PV1 [copyNo]name [1000]/dd/Geometry/Sites/lvNearHallBot#pvNearPoolDead
PV2 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolDead#pvNearPoolLiner
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE1DeadLegs#pvLegInDead:1#pvLegInDeadUnit[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE1DeadLegs#pvLegInDead:2#pvLegInDeadUnit[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE1DeadLegs#pvLegInDead:3#pvLegInDeadUnit[3]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE1DeadLegs#pvLegInDead:4#pvLegInDeadUnit[4]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE2DeadLegs#pvLegInDead:1#pvLegInDeadUnit[1]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE2DeadLegs#pvLegInDead:2#pvLegInDeadUnit[2]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE2DeadLegs#pvLegInDead:3#pvLegInDeadUnit[3]
G4DAE::GetBorderSurface ... /dd/Geometry/Pool/lvNearPoolDead#pvNearADE2DeadLegs#pvLegInDead:4#pvLegInDeadUnit[4]
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearPoolDead[1000]
G4DAE::GetBorderSurface surf_first_pv1
PV1 [copyNo]name [1000]/dd/Geometry/Sites/lvNearHallBot#pvNearPoolDead
PV2 [copyNo]name [1000]/dd/Geometry/Pool/lvNearPoolDead#pvNearPoolLiner
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearHallRadSlabs#pvNearHallRadSlab1[1001]
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearHallRadSlabs#pvNearHallRadSlab2[1002]
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearHallRadSlabs#pvNearHallRadSlab3[1003]
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearHallRadSlabs#pvNearHallRadSlab4[1004]
G4DAE::GetBorderSurface ... /dd/Geometry/Sites/lvNearHallBot#pvNearHallRadSlabs#pvNearHallRadSlab5[1005]