Warning, /eic-opticks/ana/tpmt_debug.rst is written in an unsupported language. File is not indexed.
0001 pmt_test.py debugging notes
0002 ==============================
0003
0004
0005 Issues
0006 --------
0007
0008 * source issue in cfg4 (b), allmost all photons doing same thing,
0009 fixed by handling discLinear
0010
0011 * different G4 geometry, photon interaction positions in the interop visualization
0012 show that primitives are there, but Z offsets not positioned correctly so the
0013 boolean processing produces a more complicated geometry
0014
0015 * modify cfg4-/Detector to make just the Pyrex for simplification
0016
0017 * after first order fixing G4 geometry to look OK,
0018 still very different sequence histories because are missing surface/SD
0019 handling that leads to great simplification for Opticks as most photons
0020 are absorbed/detected on the photocathode
0021
0022 * suspect the DYB detdesc G4 positioning of the photocathode inside the vacuum
0023 with coincident surfaces will lead to comparison problems, as this "feature"
0024 was fixed for the surface-based translation
0025
0026 May need to compare against a correspondingly "fixed" G4 geometry
0027
0028 * examining the sensdet/hit handling in LXe example observe
0029 that its essentially a manual thing for optical photons, so
0030 the overhead of sensdet and hits is not useful for cfg4 purposes.
0031 Instead just need to modify cfg4-/RecordStep to return done=true
0032 on walking onto the photocathode : but need to identify, and
0033 need the EFFICIENCY ?
0034
0035 * hmm what happened to to the EFFICIENCY ?
0036 transmogrified to GSurfaceLib "detect" property that gets
0037 copied across to GPU texture
0038
0039
0040 assimpwrap-/AssimpGGeo.cc/AssimpGGeo::convertMaterials::
0041
0042 438 if(hasVectorProperty(mat, EFFICIENCY ))
0043 439 {
0044 440 assert(gg->getCathode() == NULL && "only expecting one material with an EFFICIENCY property" );
0045 441 gg->setCathode(gmat) ;
0046 442 m_cathode = mat ;
0047 443 }
0048 ...
0049 466 void AssimpGGeo::convertSensors(GGeo* gg)
0050 467 {
0051 468 /*
0052 469 Opticks is a surface based simulation, as opposed to
0053 470 Geant4 which is CSG volume based. In Geant4 hits are formed
0054 471 on stepping into volumes with associated SensDet.
0055 472 The Opticks equivalent is intersecting with a "SensorSurface",
0056 473 which are fabricated by AssimpGGeo::convertSensors.
0057 474 */
0058 475 convertSensors( gg, m_tree->getRoot(), 0);
0059 476
0060
0061
0062 ::
0063
0064 [2016-Feb-25 13:15:57.521542]:info: Detector::convertMaterial name Pyrex materialIndex 13
0065 [2016-Feb-25 13:15:57.523946]:info: Detector::convertMaterial name Vacuum materialIndex 12
0066 [2016-Feb-25 13:15:57.526100]:info: Detector::convertMaterial name Bialkali materialIndex 4
0067 [2016-Feb-25 13:15:57.527616]:info: Detector::convertMaterial name OpaqueVacuum materialIndex 10
0068 [2016-Feb-25 13:15:57.528817]:info: Detector::convertMaterial name OpaqueVacuum materialIndex 10
0069
0070 simon:GMaterialLib blyth$ cat order.json
0071
0072 "MineralOil": "4",
0073 "Bialkali": "5",
0074 "OpaqueVacuum": "11",
0075 "Vacuum": "13",
0076 "Pyrex": "14",
0077
0078
0079 G4 Efficiency
0080 ~~~~~~~~~~~~~~~
0081
0082 Where does the random check against EFFICIENCY as
0083 function of wavelength happen for G4 ? Need to get G4 to decide between
0084 absorb/detect and return status ?
0085
0086 * answer: G4OpBoundaryProcess::DoAbsorption
0087
0088 * but it seems that will never be called without an optical surface to
0089 set the EFFICIENCY to allow DoAbsorption to get called
0090
0091
0092 ::
0093
0094 simon:geant4.10.02 blyth$ find source -name '*.cc' -exec grep -H EFFICIENCY {} \;
0095 source/global/HEPNumerics/src/G4ConvergenceTester.cc: out << std::setw(20) << "EFFICIENCY = " << std::setw(13) << efficiency << G4endl;
0096 source/processes/optical/src/G4OpBoundaryProcess.cc: aMaterialPropertiesTable->GetProperty("EFFICIENCY");
0097 simon:geant4.10.02 blyth$
0098
0099
0100 165 G4VParticleChange*
0101 166 G4OpBoundaryProcess::PostStepDoIt(const G4Track& aTrack, const G4Step& aStep)
0102 167 {
0103 ...
0104
0105 387 PropertyPointer =
0106 388 aMaterialPropertiesTable->GetProperty("EFFICIENCY");
0107 389 if (PropertyPointer) {
0108 390 theEfficiency =
0109 391 PropertyPointer->Value(thePhotonMomentum);
0110 392 }
0111
0112
0113 306 inline
0114 307 void G4OpBoundaryProcess::DoAbsorption()
0115 308 {
0116 309 theStatus = Absorption;
0117 310
0118 311 if ( G4BooleanRand(theEfficiency) ) {
0119 312
0120 313 // EnergyDeposited =/= 0 means: photon has been detected
0121 314 theStatus = Detection;
0122 315 aParticleChange.ProposeLocalEnergyDeposit(thePhotonMomentum);
0123 316 }
0124 317 else {
0125 318 aParticleChange.ProposeLocalEnergyDeposit(0.0);
0126 319 }
0127 320
0128 321 NewMomentum = OldMomentum;
0129 322 NewPolarization = OldPolarization;
0130 323
0131 324 // aParticleChange.ProposeEnergy(0.0);
0132 325 aParticleChange.ProposeTrackStatus(fStopAndKill);
0133 326 }
0134
0135
0136 suspect g4dae export is missing some optical surfaces
0137 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0138
0139 Huh DDDB/PMT/properties.xml appears to set EFFICIENCY and REFLECIVITY to zero
0140 for PMT border surfaces
0141
0142
0143 /usr/local/env/dyb/NuWa-trunk/dybgaudi/Detector/XmlDetDesc/DDDB/PMT/properties.xml::
0144
0145
0146 01 <?xml version='1.0' encoding='UTF-8'?>
0147 2 <!DOCTYPE DDDB SYSTEM "../DTD/geometry.dtd">
0148 3
0149 4 <DDDB>
0150 5
0151 6 <catalog name="PmtSurfaces">
0152 7 <surfaceref href="#PmtGlassPhoCatSurface"/>
0153 8 <surfaceref href="#PmtGlassVacuumSurface"/>
0154 9 </catalog>
0155 10
0156 11 <catalog name="PmtSurfaceTabProperty">
0157 12 <tabpropertyref href="#PmtGlassPhoCatReflectivity"/>
0158 13 <tabpropertyref href="#PmtGlassPhoCatEfficiency"/>
0159 14 <tabpropertyref href="#PmtGlassVacuumReflectivity"/>
0160 15 <tabpropertyref href="#PmtGlassVacuumEfficiency"/>
0161 16 </catalog>
0162 17
0163 18 <!-- Surfaces -->
0164 19
0165 20 <surface name="PmtGlassPhoCatSurface"
0166 21 model="glisur"
0167 22 finish="polished"
0168 23 type="dielectric_dielectric"
0169 24 value="0"
0170 25 volfirst="/dd/Geometry/PMT/lvPmtHemiGlass"
0171 26 volsecond="/dd/Geometry/PMT/lvPmtHemiCathode">
0172 //
0173 // name lvPmtHemiGlass looks wrong would expect /dd/Geometry/PMT/lvPmtHemi
0174 // also the lvPmtHemiCathode is child of the lvPmtHemiVacuum ??
0175 //
0176 //
0177 27 <tabprops address="/dd/Geometry/PMT/PmtSurfaceTabProperty/PmtGlassPhoCatReflectivity"/>
0178 28 <tabprops address="/dd/Geometry/PMT/PmtSurfaceTabProperty/PmtGlassPhoCatEfficiency"/>
0179 29 </surface>
0180 30
0181 31 <surface name="PmtGlassVacuumSurface"
0182 32 model="glishur"
0183 //
0184 // typo but glisur is default anyhow
0185 //
0186 33 finish="polished"
0187 34 type="dielectric_dielectric"
0188 35 value="0"
0189 36 volfirst="/dd/Geometry/PMT/lvPmtHemiGlass"
0190 37 volsecond="/dd/Geometry/PMT/lvPmtHemiVacuum">
0191 //
0192 // again name lvPmtHemiGlass looks wrong, would expect /dd/Geometry/PMT/lvPmtHemi
0193 // border surfaces work
0194 //
0195 38 <tabprops address="/dd/Geometry/PMT/PmtSurfaceTabProperty/PmtGlassVacuumReflectivity"/>
0196 39 <tabprops address="/dd/Geometry/PMT/PmtSurfaceTabProperty/PmtGlassVacuumEfficiency"/>
0197 40 </surface>
0198 41
0199 42 <!-- Tabled properties -->
0200 43
0201 44 <tabproperty name="PmtGlassPhoCatReflectivity"
0202 45 type="REFLECTIVITY"
0203 46 xunit="eV"
0204 47 xaxis="PhotonEnergy"
0205 48 yaxis="Reflectivity">
0206 49 1.0 0.0
0207 50 2.0 0.0
0208 51 3.0 0.0
0209 52 4.0 0.0
0210 53 5.0 0.0
0211
0212
0213
0214 The above looks to be outdated, this one is better
0215
0216 * /usr/local/env/dyb/NuWa-trunk/dybgaudi/Detector/XmlDetDesc/DDDB/PmtPanel/properties.xml
0217
0218 ::
0219
0220 simon:npy blyth$ diff /usr/local/env/dyb/NuWa-trunk/dybgaudi/Detector/XmlDetDesc/DDDB/PMT/properties.xml /usr/local/env/dyb/NuWa-trunk/dybgaudi/Detector/XmlDetDesc/DDDB/PmtPanel/properties.xml
0221 25c25
0222 < volfirst="/dd/Geometry/PMT/lvPmtHemiGlass"
0223 ---
0224 > volfirst="/dd/Geometry/PMT/lvPmtHemi"
0225 36c36
0226 < volfirst="/dd/Geometry/PMT/lvPmtHemiGlass"
0227 ---
0228 > volfirst="/dd/Geometry/PMT/lvPmtHemi"
0229 simon:npy blyth$
0230
0231
0232
0233 With theReflectivity and theTransmittance set to zero via the logical border surface
0234 the DoAbsorption will always get called on the photocathode boundary::
0235
0236 483 else if (type == dielectric_dielectric) {
0237 484
0238 485 if ( theFinish == polishedbackpainted ||
0239 486 theFinish == groundbackpainted ) {
0240 487 DielectricDielectric();
0241 488 }
0242 489 else {
0243 490 G4double rand = G4UniformRand();
0244 491 if ( rand > theReflectivity ) {
0245 492 if (rand > theReflectivity + theTransmittance) {
0246 493 DoAbsorption();
0247 494 } else {
0248 495 theStatus = Transmission;
0249 496 NewMomentum = OldMomentum;
0250 497 NewPolarization = OldPolarization;
0251 498 }
0252 499 }
0253
0254
0255
0256 names for breakpointing
0257 ~~~~~~~~~~~~~~~~~~~~~~~~~
0258
0259 ::
0260
0261 simon:env blyth$ nm /usr/local/env/g4/geant4.10.02.install/lib/libG4processes.dylib | c++filt | grep G4OpBoundaryProcess
0262 0000000001390d00 unsigned short G4OpBoundaryProcess::DoAbsorption()
0263 0000000001390de0 unsigned short G4OpBoundaryProcess::DoReflection()
0264 0000000001391b70 unsigned short G4OpBoundaryProcess::IsApplicable(G4ParticleDefinition const&)
0265 0000000001386f40 T G4OpBoundaryProcess::PostStepDoIt(G4Track const&, G4Step const&)
0266 000000000138afe0 T G4OpBoundaryProcess::DielectricLUT()
0267 000000000138a4a0 T G4OpBoundaryProcess::DielectricMetal()
0268 000000000138ee20 T G4OpBoundaryProcess::GetMeanFreePath(G4Track const&, double, G4ForceCondition*)
0269 000000000138eef0 T G4OpBoundaryProcess::GetReflectivity(double, double, double, double, double)
0270 0000000001391430 unsigned short G4OpBoundaryProcess::ChooseReflection()
0271 000000000138ee50 T G4OpBoundaryProcess::GetIncidentAngle()
0272 000000000138b920 T G4OpBoundaryProcess::DielectricDichroic()
0273 000000000138c560 T G4OpBoundaryProcess::DielectricDielectric()
0274 0000000001389ec0 T G4OpBoundaryProcess::CalculateReflectivity()
0275 000000000138e470 T G4OpBoundaryProcess::InvokeSD(G4Step const*)
0276 0000000001386e20 T G4OpBoundaryProcess::G4OpBoundaryProcess(G4String const&, G4ProcessType)
0277 0000000001386a70 T G4OpBoundaryProcess::G4OpBoundaryProcess(G4String const&, G4ProcessType)
0278 0000000001386f10 T G4OpBoundaryProcess::~G4OpBoundaryProcess()
0279 0000000001386ef0 T G4OpBoundaryProcess::~G4OpBoundaryProcess()
0280 0000000001386e50 T G4OpBoundaryProcess::~G4OpBoundaryProcess()
0281 00000000013913f0 unsigned short G4OpBoundaryProcess::G4BooleanRand(double) const
0282 000000000138e590 T G4OpBoundaryProcess::GetFacetNormal(CLHEP::Hep3Vector const&, CLHEP::Hep3Vector const&) const
0283 0000000001389200 T G4OpBoundaryProcess::BoundaryProcessVerbose() const
0284 000000000191a720 S typeinfo for G4OpBoundaryProcess
0285 00000000017ba0c0 S typeinfo name for G4OpBoundaryProcess
0286 000000000191a650 S vtable for G4OpBoundaryProcess
0287 simon:env blyth$
0288
0289
0290 ::
0291
0292
0293 simon:env blyth$ ggv-;ggv-pmt-test --cfg4 --dbg
0294
0295 (lldb) b "G4OpBoundaryProcess::PostStepDoIt(G4Track const&, G4Step const&)"
0296 Breakpoint 1: no locations (pending).
0297 WARNING: Unable to resolve breakpoint to any actual locations.
0298 (lldb) r
0299 (lldb) expr verboseLevel = 1
0300 (lldb) b "G4OpBoundaryProcess::DielectricDielectric()"
0301
0302
0303 * a Opticks
0304 * b CFG4
0305
0306 After kludge photocathode are getting closer to the ballpark
0307 ::
0308
0309 In [18]: a.history_table()
0310 Evt(1,"torch","PmtInBox","", seqs="[]")
0311 noname
0312 8cd 351558 [3 ] TO BT SA
0313 7cd 111189 [3 ] TO BT SD
0314 4d 18047 [2 ] TO AB
0315 8ccd 11661 [4 ] TO BT BT SA
0316 86d 3040 [3 ] TO SC SA
0317 4cd 1736 [3 ] TO BT AB
0318 4ccd 884 [4 ] TO BT BT AB
0319 8bd 742 [3 ] TO BR SA
0320 8c6d 394 [4 ] TO SC BT SA
0321 46d 187 [3 ] TO SC AB
0322 86ccd 140 [5 ] TO BT BT SC SA
0323 7c6d 103 [4 ] TO SC BT SD
0324 4bd 63 [3 ] TO BR AB
0325 8cccccbcd 54 [9 ] TO BT BR BT BT BT BT BT SA
0326 866d 33 [4 ] TO SC SC SA
0327
0328
0329 In [19]: b.history_table()
0330 Evt(-1,"torch","PmtInBox","", seqs="[]")
0331 noname
0332 8cd 337740 [3 ] TO BT SA
0333 7cd 106833 [3 ] TO BT SD
0334
0335 8ccd 23119 [4 ] TO BT BT SA << CFG4 (vs 11661 for Opticks) : edge scims MO Py MO MO
0336
0337 4d 19117 [2 ] TO AB
0338 86d 3199 [3 ] TO SC SA
0339 4cd 2174 [3 ] TO BT AB
0340 8ccccbcd 1999 [8 ] TO BT BR BT BT BT BT SA
0341
0342 4ccd 1693 [4 ] TO BT BT AB << CFG4 (vs 884 for Opticks) ... scimmers again
0343 8bd 1267 [3 ] TO BR SA << CFG4 (vs 742 for Opticks) ???
0344
0345 ccccbccbcd 641 [10] TO BT BR BT BT BR BT BT BT BT
0346 cbccbccbcd 458 [10] TO BT BR BT BT BR BT BT BR BT
0347 8c6d 405 [4 ] TO SC BT SA
0348 86ccd 285 [5 ] TO BT BT SC SA
0349 8cbbcd 198 [6 ] TO BT BR BR BT SA
0350 46d 179 [3 ] TO SC AB
0351 4ccccbcd 136 [8 ] TO BT BR BT BT BT BT AB
0352 7c6d 115 [4 ] TO SC BT SD
0353
0354
0355 Detection to absorb fraction matches efficiency fed in for 380nm::
0356
0357 A
0358 375203+118603=493806
0359 118603./493806.=0.24018
0360
0361 351558+111189=462747
0362 111189./462747.=0.24028
0363
0364 B
0365 337740+106833=444573
0366 106833./444573.=0.24030
0367
0368 ggv --surf 6 shows
0369 380 0.24 0.76
0370
0371
0372
0373 Agreement when avoid edges (reduce beam radius 100mm to 50mm)
0374 ---------------------------------------------------------------
0375
0376 ::
0377
0378 In [1]: run pmt_test.py
0379
0380 1:PmtInBox -1:PmtInBox c2
0381 8cd 363294 363027 0.10 [3 ] TO BT SA
0382 7cd 114962 114826 0.08 [3 ] TO BT SD
0383 4d 16924 17342 5.10 [2 ] TO AB
0384 86d 2798 2821 0.09 [3 ] TO SC SA
0385 4cd 1238 1198 0.66 [3 ] TO BT AB
0386 8c6d 381 385 0.02 [4 ] TO SC BT SA
0387 46d 181 164 0.84 [3 ] TO SC AB
0388 7c6d 110 111 0.00 [4 ] TO SC BT SD
0389 8bd 38 29 1.21 [3 ] TO BR SA
0390 866d 32 34 0.06 [4 ] TO SC SC SA
0391 8cc6d 28 24 0.31 [5 ] TO SC BT BT SA
0392 8b6d 3 22 0.00 [4 ] TO SC BR SA
0393 466d 0 4 0.00 [4 ] TO SC SC AB
0394 4c6d 4 2 0.00 [4 ] TO SC BT AB
0395 8c66d 3 3 0.00 [5 ] TO SC SC BT SA
0396 8cbc6d 1 2 0.00 [6 ] TO SC BT BR BT SA
0397 4cc6d 2 1 0.00 [5 ] TO SC BT BT AB
0398 4b6d 0 1 0.00 [4 ] TO SC BR AB
0399 86cd 0 1 0.00 [4 ] TO BT SC SA
0400 8c6cd 1 0 0.00 [5 ] TO BT SC BT SA
0401 4bd 0 1 0.00 [3 ] TO BR AB
0402 8cbc66d 0 1 0.00 [7 ] TO SC SC BT BR BT SA
0403 8ccbc66d 0 1 0.00 [8 ] TO SC SC BT BR BT BT SA
0404 500000 500000 0.77
0405
0406
0407
0408 Annular beam zenith 0.9,1 with radius 100mm accentuates skimmers
0409 ------------------------------------------------------------------
0410
0411 ::
0412
0413 INFO:opticks.ana.evt:rx shape (500000, 10, 2, 4)
0414 1:PmtInBox -1:PmtInBox c2
0415 8cd 252271 234626 639.45 [3 ] TO BT SA
0416 8ccd 117329 121978 90.32 [4 ] TO BT BT SA
0417 7cd 79667 74423 178.46 [3 ] TO BT SD
0418 4d 21673 21783 0.28 [2 ] TO AB
0419
0420 8ccccbcd 215 10721 10092.91 [8 ] TO BT BR BT BT BT BT SA
0421
0422 4ccd 8795 9246 11.27 [4 ] TO BT BT AB
0423 8bd 6985 6500 17.44 [3 ] TO BR SA
0424 4cd 5116 4919 3.87 [3 ] TO BT AB
0425 86d 3623 3775 3.12 [3 ] TO SC SA
0426
0427 ccccbccbcd 0 3632 3632.00 [10] TO BT BR BT BT BR BT BT BT BT
0428 cbccbccbcd 0 2448 2448.00 [10] TO BT BR BT BT BR BT BT BR BT
0429
0430 86ccd 1415 1526 4.19 [5 ] TO BT BT SC SA
0431 8cbbcd 0 985 985.00 [6 ] TO BT BR BR BT SA
0432 4ccccbcd 9 766 739.42 [8 ] TO BT BR BT BT BT BT AB
0433 8cccccbcd 599 0 599.00 [9 ] TO BT BR BT BT BT BT BT SA
0434
0435
0436
0437 Select skimmers with::
0438
0439 seqs=["TO BT BR BT BT BT BT SA"]
0440 see 215/10721 from Opticks/CfG4
0441
0442
0443 Note all the 10k CfG4 skimmers within ~0.4mm of radial range 96.71:97.1mm::
0444
0445 In [25]: a0r.shape, a0r.min(), a0r.max(), b0r.shape, b0r.min(), b0r.max()
0446 Out[25]:
0447 ((215,),
0448 97.090540043228771,
0449 99.972196508157936,
0450 (10721,),
0451 96.710607829543051,
0452 97.092838713641243)
0453
0454
0455 Focus on this range with zenith 0.9671,0.9709 radius 100mm
0456 See very differnt skimmer behavior within that annulus::
0457
0458 1:PmtInBox -1:PmtInBox c2
0459 8cd 348896 0 348896.00 [3 ] TO BT SA
0460 8ccccbcd 0 275990 275990.00 [8 ] TO BT BR BT BT BT BT SA
0461 7cd 110471 0 110471.00 [3 ] TO BT SD
0462 ccccbccbcd 0 91652 91652.00 [10] TO BT BR BT BT BR BT BT BT BT
0463 cbccbccbcd 0 61105 61105.00 [10] TO BT BR BT BT BR BT BT BR BT
0464 4d 22079 22258 0.72 [2 ] TO AB
0465 4ccccbcd 0 19812 19812.00 [8 ] TO BT BR BT BT BT BT AB
0466 4cd 6553 6596 0.14 [3 ] TO BT AB
0467 8bd 4545 3895 50.06 [3 ] TO BR SA
0468 86d 3681 3653 0.11 [3 ] TO SC SA
0469 86ccccbcd 0 3351 3351.00 [9 ] TO BT BR BT BT BT BT SC SA
0470 cccccccbcd 1 3060 3057.00 [10] TO BT BR BT BT BT BT BT BT BT
0471 8ccd 2183 2182 0.00 [4 ] TO BT BT SA
0472 8ccbbbcd 0 1959 1959.00 [8 ] TO BT BR BR BR BT BT SA
0473 4cccbcd 0 966 966.00 [7 ] TO BT BR BT BT BT AB
0474 8c6d 489 420 5.24 [4 ] TO SC BT SA
0475
0476 ::
0477
0478 In [28]: a0r.shape, a0r.min(), a0r.max(), b0r.shape, b0r.min(), b0r.max()
0479 Out[28]:
0480 ((500000,),
0481 96.704678194845826,
0482 97.095561650354725,
0483 (500000,),
0484 96.704262560710802,
0485 97.095972587881292)
0486
0487
0488 After fixing photocathode shape (had omitted startTheta/deltaThera)
0489 get better agreement for the 0.9671,0.9709 radius 100mm skimmers.
0490 Note still some difference in reflection off Pyrex, maybe dont have same
0491 polarization distrib between Opticks/CFG4::
0492
0493 1:PmtInBox -1:PmtInBox c2
0494 8cd 348896 349456 0.45 [3 ] TO BT SA
0495 7cd 110471 110351 0.07 [3 ] TO BT SD
0496 4d 22079 22131 0.06 [2 ] TO AB
0497 4cd 6553 6534 0.03 [3 ] TO BT AB
0498 8bd 4545 4002 34.50 [3 ] TO BR SA
0499 86d 3681 3819 2.54 [3 ] TO SC SA
0500 8ccd 2183 2182 0.00 [4 ] TO BT BT SA
0501 8c6d 489 423 4.78 [4 ] TO SC BT SA
0502 4bd 351 333 0.47 [3 ] TO BR AB
0503 46d 219 219 0.00 [3 ] TO SC AB
0504 4ccd 139 153 0.67 [4 ] TO BT BT AB
0505 7c6d 136 138 0.01 [4 ] TO SC BT SD
0506 86bd 69 43 6.04 [4 ] TO BR SC SA
0507 86ccd 42 26 3.76 [5 ] TO BT BT SC SA
0508 8b6d 5 42 29.13 [4 ] TO SC BR SA
0509 8cc6d 38 41 0.11 [5 ] TO SC BT BT SA
0510
0511
0512 After match polarization, are left with "TO SC BR SA". CFG4 is reflection prone
0513 after a scatter ? But borderline stats. This is still just for the skimmers::
0514
0515 1:PmtInBox -1:PmtInBox c2
0516 8cd 348896 349452 0.44 [3 ] TO BT SA
0517 7cd 110471 109961 1.18 [3 ] TO BT SD
0518 4d 22079 21915 0.61 [2 ] TO AB
0519 4cd 6553 6537 0.02 [3 ] TO BT AB
0520 8bd 4545 4643 1.05 [3 ] TO BR SA
0521 86d 3681 3571 1.67 [3 ] TO SC SA
0522 8ccd 2183 2202 0.08 [4 ] TO BT BT SA
0523 8c6d 489 513 0.57 [4 ] TO SC BT SA
0524 4bd 351 383 1.40 [3 ] TO BR AB
0525 46d 219 220 0.00 [3 ] TO SC AB
0526 4ccd 139 180 5.27 [4 ] TO BT BT AB
0527 7c6d 136 162 2.27 [4 ] TO SC BT SD
0528 86bd 69 59 0.78 [4 ] TO BR SC SA
0529 86ccd 42 30 2.00 [5 ] TO BT BT SC SA
0530 866d 41 38 0.11 [4 ] TO SC SC SA
0531
0532 8b6d 5 40 27.22 [4 ] TO SC BR SA
0533
0534 8cc6d 38 33 0.35 [5 ] TO SC BT BT SA
0535 8cbbcd 0 10 0.00 [6 ] TO BT BR BR BT SA
0536 8cccccbcd 9 0 0.00 [9 ] TO BT BR BT BT BT BT BT SA
0537 86cd 1 7 0.00 [4 ] TO BT SC SA
0538 ...
0539 4bcd 0 1 0.00 [4 ] TO BT BR AB
0540 866ccd 1 1 0.00 [6 ] TO BT BT SC SC SA
0541 500000 500000 2.65
0542
0543
0544 Inner half zenith 0,0.5 still in agreement::
0545
0546 1:PmtInBox -1:PmtInBox c2
0547 8cd 363294 363351 0.00 [3 ] TO BT SA
0548 7cd 114962 114575 0.65 [3 ] TO BT SD
0549 4d 16924 17217 2.51 [2 ] TO AB
0550 86d 2798 2853 0.54 [3 ] TO SC SA
0551 4cd 1238 1214 0.23 [3 ] TO BT AB
0552 8c6d 381 390 0.11 [4 ] TO SC BT SA
0553 46d 181 165 0.74 [3 ] TO SC AB
0554 7c6d 110 125 0.96 [4 ] TO SC BT SD
0555 8bd 38 31 0.71 [3 ] TO BR SA
0556 866d 32 28 0.27 [4 ] TO SC SC SA
0557 8cc6d 28 23 0.49 [5 ] TO SC BT BT SA
0558 8b6d 3 16 0.00 [4 ] TO SC BR SA
0559 4c6d 4 2 0.00 [4 ] TO SC BT AB
0560 8c66d 3 2 0.00 [5 ] TO SC SC BT SA
0561 466d 0 2 0.00 [4 ] TO SC SC AB
0562 4cc6d 2 2 0.00 [5 ] TO SC BT BT AB
0563 4b6d 0 1 0.00 [4 ] TO SC BR AB
0564 7c66d 0 1 0.00 [5 ] TO SC SC BT SD
0565 8cbc6d 1 0 0.00 [6 ] TO SC BT BR BT SA
0566 8c6cd 1 1 0.00 [5 ] TO BT SC BT SA
0567 4bd 0 1 0.00 [3 ] TO BR AB
0568 500000 500000 0.66
0569
0570
0571 Pushing out to 0,0.9 "TO AB" starting to go awry.::
0572
0573 1:PmtInBox -1:PmtInBox c2
0574 8cd 362427 362211 0.06 [3 ] TO BT SA
0575 7cd 114703 113770 3.81 [3 ] TO BT SD
0576 4d 17693 18680 26.78 [2 ] TO AB
0577 86d 2965 2916 0.41 [3 ] TO SC SA
0578 4cd 1379 1535 8.35 [3 ] TO BT AB
0579 8c6d 392 400 0.08 [4 ] TO SC BT SA
0580 46d 186 177 0.22 [3 ] TO SC AB
0581 7c6d 105 115 0.45 [4 ] TO SC BT SD
0582 8bd 73 92 2.19 [3 ] TO BR SA
0583 866d 33 25 1.10 [4 ] TO SC SC SA
0584 8cc6d 26 31 0.44 [5 ] TO SC BT BT SA
0585 8b6d 3 25 0.00 [4 ] TO SC BR SA
0586 8c66d 5 2 0.00 [5 ] TO SC SC BT SA
0587 4c6d 5 1 0.00 [4 ] TO SC BT AB
0588 4bd 0 5 0.00 [3 ] TO BR AB
0589 4cc6d 2 4 0.00 [5 ] TO SC BT BT AB
0590 86bd 0 3 0.00 [4 ] TO BR SC SA
0591 466d 0 2 0.00 [4 ] TO SC SC AB
0592 86cc6d 1 0 0.00 [6 ] TO SC BT BT SC SA
0593 4b6d 0 1 0.00 [4 ] TO SC BR AB
0594 4cc66d 0 1 0.00 [6 ] TO SC SC BT BT AB
0595 8cbc66bd 0 1 0.00 [8 ] TO BR SC SC BT BR BT SA
0596 8cbc6d 1 1 0.00 [6 ] TO SC BT BR BT SA
0597 8c6cd 1 1 0.00 [5 ] TO BT SC BT SA
0598 7c66d 0 1 0.00 [5 ] TO SC SC BT SD
0599 500000 500000 3.99
0600
0601 ::
0602
0603 94.995 97.005 94.995 97.005
0604 1:PmtInBox -1:PmtInBox c2
0605 8cd 352957 353582 0.55 [3 ] TO BT SA
0606 7cd 111793 111427 0.60 [3 ] TO BT SD
0607 4d 21816 21692 0.35 [2 ] TO AB
0608 4cd 5273 5198 0.54 [3 ] TO BT AB
0609 86d 3643 3594 0.33 [3 ] TO SC SA
0610 8bd 3299 3229 0.75 [3 ] TO BR SA
0611 8c6d 482 474 0.07 [4 ] TO SC BT SA
0612 4bd 221 275 5.88 [3 ] TO BR AB
0613 46d 219 195 1.39 [3 ] TO SC AB
0614 7c6d 133 157 1.99 [4 ] TO SC BT SD
0615 86bd 50 42 0.70 [4 ] TO BR SC SA
0616 866d 41 40 0.01 [4 ] TO SC SC SA
0617 8cc6d 35 25 1.67 [5 ] TO SC BT BT SA
0618 8b6d 5 34 21.56 [4 ] TO SC BR SA
0619 4b6d 0 5 0.00 [4 ] TO SC BR AB
0620 ...
0621 8cbc66d 0 1 0.00 [7 ] TO SC SC BT BR BT SA
0622 4ccc6bd 1 0 0.00 [7 ] TO BR SC BT BT BT AB
0623 500000 500000 2.60
0624
0625
0626 Not too bad all way out to 97mm::
0627
0628 0.000 97.002 0.117 97.004
0629 1:PmtInBox -1:PmtInBox c2
0630 8cd 361978 361339 0.56 [3 ] TO BT SA
0631 7cd 114537 113731 2.85 [3 ] TO BT SD
0632 4d 17934 18876 24.11 [2 ] TO AB
0633 86d 3021 3015 0.01 [3 ] TO SC SA
0634 4cd 1571 1869 25.82 [3 ] TO BT AB
0635 8c6d 390 415 0.78 [4 ] TO SC BT SA
0636 8bd 184 330 41.47 [3 ] TO BR SA
0637 46d 185 198 0.44 [3 ] TO SC AB
0638 7c6d 104 102 0.02 [4 ] TO SC BT SD
0639 866d 33 27 0.60 [4 ] TO SC SC SA
0640 4bd 20 30 2.00 [3 ] TO BR AB
0641 8cc6d 22 20 0.10 [5 ] TO SC BT BT SA
0642 8b6d 2 18 0.00 [4 ] TO SC BR SA
0643 ...
0644 8666d 0 1 0.00 [5 ] TO SC SC SC SA
0645 500000 500000 8.23
0646
0647 Goes belly up beyond 97mm::
0648
0649 96.995 100.005 96.995 100.005
0650 1:PmtInBox -1:PmtInBox c2
0651 8ccd 391394 391429 0.00 [4 ] TO BT BT SA
0652 4ccd 29418 29306 0.21 [4 ] TO BT BT AB
0653 4d 22602 22571 0.02 [2 ] TO AB
0654 8bd 18671 19186 7.01 [3 ] TO BR SA
0655 8cd 10338 10116 2.41 [3 ] TO BT SA
0656 4cd 7554 7510 0.13 [3 ] TO BT AB
0657 86ccd 4602 4626 0.06 [5 ] TO BT BT SC SA
0658 86d 3762 3729 0.15 [3 ] TO SC SA
0659 7cd 3233 3181 0.42 [3 ] TO BT SD
0660 4bd 1811 1662 6.39 [3 ] TO BR AB
0661
0662 Reordered to put discrepants together,
0663 looks like edge geometry difference between Opticks analytic and CfG4
0664 is culprit.
0665
0666 3598 G4 skimmers do a double internal reflect in Pyrex
0667 that puts them on path to transmit out and miss the
0668 rest of the PMT "TO BT BR BR BT SA"
0669
0670 Opticks analytic somehow manages to transmit after the 1st reflect
0671 leading to a path "TO BT BR BT BT BT BT SA" with many varying BT
0672 May be material bug... need to get material codes going in CFG4.
0673
0674
0675 8cbbcd 0 3598 3598.00 [6 ] TO BT BR BR BT SA
0676
0677 8ccccbcd 762 0 762.00 [8 ] TO BT BR BT BT BT BT SA
0678 8cccccbcd 1885 0 1885.00 [9 ] TO BT BR BT BT BT BT BT SA
0679 8ccccccbcd 746 0 746.00 [10] TO BT BR BT BT BT BT BT BT SA
0680 1885+762+746=3393
0681
0682 8ccc6ccd 386 2 380.04 [8 ] TO BT BT SC BT BT BT SA
0683 8ccccc6ccd 159 1 156.03 [10] TO BT BT SC BT BT BT BT BT SA
0684 cccccc6ccd 191 259 10.28 [10] TO BT BT SC BT BT BT BT BT BT
0685 1885+762+746+386=3779
0686
0687 8cbc6ccd 26 307 237.12 [8 ] TO BT BT SC BT BR BT SA
0688 8c6ccd 20 296 241.06 [6 ] TO BT BT SC BT SA
0689
0690 8c6d 509 440 5.02 [4 ] TO SC BT SA
0691 46ccd 275 310 2.09 [5 ] TO BT BT SC AB
0692 86bd 287 271 0.46 [4 ] TO BR SC SA
0693 46d 223 224 0.00 [3 ] TO SC AB
0694 4cbbcd 0 211 211.00 [6 ] TO BT BR BR BT AB
0695 7c6d 140 160 1.33 [4 ] TO SC BT SD
0696 8cc6ccd 77 77 0.00 [7 ] TO BT BT SC BT BT SA
0697 ....
0698 500000 500000 217.45
0699
0700
0701 To see whats happening need to viz the real geometry (not triangulated standins)
0702 together with the photon paths.
0703 With Opticks that is difficult but probably not impossible:
0704
0705 * compositing OptiX rendered analytic geometry together with OpenGL lines,
0706 see optix- for notes on compositing
0707
0708 With Geant4 its probably impossible as only way to draw real geometry
0709 (not triangulated standins) is with the G4RayTracer which doesnt do photon paths.
0710
0711
0712 After TIR bug fix
0713 ------------------
0714
0715 Point beam at skimmer position (tag 5) in better agreement (maybe low level scatter difference remains)::
0716
0717 98.999 98.999
0718 98.999 98.999
0719 5:PmtInBox -5:PmtInBox c2
0720 8ccd 404485 404018 0.27 [4 ] TO BT BT SA
0721 4ccd 30537 30458 0.10 [4 ] TO BT BT AB
0722 4d 22743 23066 2.28 [2 ] TO AB
0723 8bd 18353 18369 0.01 [3 ] TO BR SA
0724 4cd 6282 6265 0.02 [3 ] TO BT AB
0725 86ccd 4790 4865 0.58 [5 ] TO BT BT SC SA
0726 8cbbcd 4157 4280 1.79 [6 ] TO BT BR BR BT SA
0727 86d 3709 3725 0.03 [3 ] TO SC SA
0728 4bd 1575 1672 2.90 [3 ] TO BR AB
0729 8c6d 529 506 0.51 [4 ] TO SC BT SA
0730 8cbc6ccd 497 301 48.14 [8 ] TO BT BT SC BT BR BT SA
0731 46ccd 271 327 5.24 [5 ] TO BT BT SC AB
0732 8c6ccd 0 295 295.00 [6 ] TO BT BT SC BT SA
0733 4cbbcd 292 287 0.04 [6 ] TO BT BR BR BT AB
0734 86bd 290 257 1.99 [4 ] TO BR SC SA
0735 46d 221 209 0.33 [3 ] TO SC AB
0736 cccccc6ccd 134 219 20.47 [10] TO BT BT SC BT BT BT BT BT BT
0737 7c6d 157 178 1.32 [4 ] TO SC BT SD
0738 8ccccc6ccd 147 0 147.00 [10] TO BT BT SC BT BT BT BT BT SA
0739 4bcd 84 68 1.68 [4 ] TO BT BR AB
0740 8cc6ccd 67 77 0.69 [7 ] TO BT BT SC BT BT SA
0741 4bbcd 58 54 0.14 [5 ] TO BT BR BR AB
0742 866ccd 58 53 0.23 [6 ] TO BT BT SC SC SA
0743 8ccbbbbcd 0 54 54.00 [9 ] TO BT BR BR BR BR BT BT SA
0744 8cc6d 53 45 0.65 [5 ] TO SC BT BT SA
0745 cbccbbbbcd 53 0 53.00 [10] TO BT BR BR BR BR BT BT BR BT
0746 8b6d 46 38 0.76 [4 ] TO SC BR SA
0747 86cbbcd 40 36 0.21 [7 ] TO BT BR BR BT SC SA
0748 866d 37 39 0.05 [4 ] TO SC SC SA
0749 8b6ccd 26 37 1.92 [6 ] TO BT BT SC BR SA
0750 4cbc6ccd 34 20 3.63 [8 ] TO BT BT SC BT BR BT AB
0751 bbbbcc6ccd 25 0 0.00 [10] TO BT BT SC BT BT BR BR BR BR
0752 46bd 21 16 0.68 [4 ] TO BR SC AB
0753
0754
0755
0756 Geant4 viz
0757 --------------
0758
0759 Attempt to get G4 vis operational to check the geometry
0760
0761 * https://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_ASCIITree_.html
0762 * https://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/ForApplicationDeveloper/html/AllResources/Control/UIcommands/_vis_rayTracer_.html
0763
0764 TODO: hookup G4DAE so can export and check the COLLADA
0765
0766 * circularity of this is interesting as can then run Opticks running on 2nd generation geometry
0767 * also visualization with my tools is much better than G4
0768
0769
0770 Material Debug
0771 ---------------
0772
0773 Opticks reflection "TO BR SA" has material assignment "MO MO",
0774 hmm would be useful to see the seqmat for a choice of seqhis.
0775 CFG4 reflection
0776
0777
0778 Agreement out to 97mm now includes material history::
0779
0780 0.000 97.002
0781 0.117 97.004
0782 1:PmtInBox -1:PmtInBox c2
0783 8cd 361978 361339 0.56 [3 ] TO BT SA
0784 7cd 114537 113731 2.85 [3 ] TO BT SD
0785 4d 17934 18876 24.11 [2 ] TO AB
0786 86d 3021 3015 0.01 [3 ] TO SC SA
0787 4cd 1571 1869 25.82 [3 ] TO BT AB
0788 8c6d 390 415 0.78 [4 ] TO SC BT SA
0789 8bd 184 330 41.47 [3 ] TO BR SA
0790 46d 185 198 0.44 [3 ] TO SC AB
0791 7c6d 104 102 0.02 [4 ] TO SC BT SD
0792 866d 33 27 0.60 [4 ] TO SC SC SA
0793 4bd 20 30 2.00 [3 ] TO BR AB
0794 8cc6d 22 20 0.10 [5 ] TO SC BT BT SA
0795 8b6d 2 18 0.00 [4 ] TO SC BR SA
0796 86bd 4 7 0.00 [4 ] TO BR SC SA
0797 8c66d 4 4 0.00 [5 ] TO SC SC BT SA
0798 4c6d 2 4 0.00 [4 ] TO SC BT AB
0799 4b6d 0 3 0.00 [4 ] TO SC BR AB
0800 466d 0 3 0.00 [4 ] TO SC SC AB
0801 8cbc6d 3 2 0.00 [6 ] TO SC BT BR BT SA
0802 4cc6d 2 2 0.00 [5 ] TO SC BT BT AB
0803 8cbc6bd 0 1 0.00 [7 ] TO BR SC BT BR BT SA
0804 86cc6d 1 1 0.00 [6 ] TO SC BT BT SC SA
0805 76cd 0 1 0.00 [4 ] TO BT SC SD
0806 8cccccc6bd 0 1 0.00 [10] TO BR SC BT BT BT BT BT BT SA
0807 8c6cd 1 0 0.00 [5 ] TO BT SC BT SA
0808 bbbbbbbc6d 1 0 0.00 [10] TO SC BT BR BR BR BR BR BR BR
0809 8ccbc6d 1 0 0.00 [7 ] TO SC BT BR BT BT SA
0810 8666d 0 1 0.00 [5 ] TO SC SC SC SA
0811 500000 500000 8.23
0812
0813 1:PmtInBox -1:PmtInBox c2
0814 ee4 478088 476939 1.38 [3 ] MO Py Py
0815 44 17934 18876 24.11 [2 ] MO MO
0816 444 3408 3573 3.90 [3 ] MO MO MO
0817 ee44 481 521 1.60 [4 ] MO MO Py Py
0818 4444 54 58 0.14 [4 ] MO MO MO MO
0819 44e44 24 22 0.09 [5 ] MO MO Py MO MO
0820 ee444 4 4 0.00 [5 ] MO MO MO Py Py
0821 44ee44 3 2 0.00 [6 ] MO MO Py Py MO MO
0822 44eee44 1 0 0.00 [7 ] MO MO Py Py Py MO MO
0823 eeeeeeee44 1 0 0.00 [10] MO MO Py Py Py Py Py Py Py Py
0824 44ee444 0 1 0.00 [7 ] MO MO MO Py Py MO MO
0825 44e5dbe444 0 1 0.00 [10] MO MO MO Py OV Vm Bk Py MO MO
0826 44444 0 1 0.00 [5 ] MO MO MO MO MO
0827 44ee4 1 0 0.00 [5 ] MO Py Py MO MO
0828 444e44 1 1 0.00 [6 ] MO MO Py MO MO MO
0829 eee4 0 1 0.00 [4 ] MO Py Py Py
0830 500000 500000 5.20
0831
0832
0833
0834 CFG4 skimmer Double Reflect, FIXED Opticks TIR bug
0835 -----------------------------------------------------
0836
0837 * relocate to graphics/ggeoview/issues/cfg4_pmt_edge_double_reflect
0838
0839
0840 After fix the PMT edge is agreeing rather well::
0841
0842 96.995 100.005
0843 96.995 100.005
0844 2:PmtInBox -2:PmtInBox c2
0845 8ccd 391394 391429 0.00 [4 ] TO BT BT SA
0846 4ccd 29418 29306 0.21 [4 ] TO BT BT AB
0847 4d 22602 22571 0.02 [2 ] TO AB
0848 8bd 18671 19186 7.01 [3 ] TO BR SA
0849 8cd 10338 10116 2.41 [3 ] TO BT SA
0850 4cd 7554 7510 0.13 [3 ] TO BT AB
0851 86ccd 4602 4626 0.06 [5 ] TO BT BT SC SA
0852 86d 3762 3729 0.15 [3 ] TO SC SA
0853 8cbbcd 3462 3598 2.62 [6 ] TO BT BR BR BT SA
0854 7cd 3233 3181 0.42 [3 ] TO BT SD
0855 4bd 1811 1662 6.39 [3 ] TO BR AB
0856 8c6d 484 440 2.10 [4 ] TO SC BT SA
0857 8cbc6ccd 477 307 36.86 [8 ] TO BT BT SC BT BR BT SA
0858 46ccd 275 310 2.09 [5 ] TO BT BT SC AB
0859 8c6ccd 1 296 293.01 [6 ] TO BT BT SC BT SA
0860 86bd 287 271 0.46 [4 ] TO BR SC SA
0861 cccccc6ccd 129 259 43.56 [10] TO BT BT SC BT BT BT BT BT BT
0862 4cbbcd 251 211 3.46 [6 ] TO BT BR BR BT AB
0863 46d 223 224 0.00 [3 ] TO SC AB
0864 7c6d 140 160 1.33 [4 ] TO SC BT SD
0865 8ccccc6ccd 138 1 135.03 [10] TO BT BT SC BT BT BT BT BT SA
0866 8cc6ccd 67 77 0.69 [7 ] TO BT BT SC BT BT SA
0867 4bcd 68 50 2.75 [4 ] TO BT BR AB
0868 866ccd 55 59 0.14 [6 ] TO BT BT SC SC SA
0869 4bbcd 51 42 0.87 [5 ] TO BT BR BR AB
0870 866d 42 33 1.08 [4 ] TO SC SC SA
0871
0872
0873
0874 Full range not so good ? EXPLAINED : disc/disclin mismatch
0875 ---------------------------------------------------------------
0876
0877 Curious going full range 0:1 worse than would expect from pieces::
0878
0879 NFO:opticks.ana.evt:rx shape (500000, 10, 2, 4)
0880 0.000 100.004
0881 0.187 100.004
0882 4:PmtInBox -4:PmtInBox c2
0883 8cd 351558 340273 184.08 [3 ] TO BT SA
0884 7cd 111189 107251 70.99 [3 ] TO BT SD
0885 8ccd 11661 23260 3852.60 [4 ] TO BT BT SA
0886 4d 18047 19048 27.01 [2 ] TO AB
0887 86d 3040 3133 1.40 [3 ] TO SC SA
0888 4cd 1736 2249 66.04 [3 ] TO BT AB
0889 4ccd 884 1732 274.89 [4 ] TO BT BT AB
0890 8bd 742 1455 231.39 [3 ] TO BR SA
0891 8c6d 375 424 3.01 [4 ] TO SC BT SA
0892 86ccd 140 260 36.00 [5 ] TO BT BT SC SA
0893 46d 187 215 1.95 [3 ] TO SC AB
0894 8cbbcd 90 213 49.93 [6 ] TO BT BR BR BT SA
0895 7c6d 103 132 3.58 [4 ] TO SC BT SD
0896 4bd 63 125 20.45 [3 ] TO BR AB
0897 866d 33 38 0.35 [4 ] TO SC SC SA
0898 8cc6d 28 29 0.02 [5 ] TO SC BT BT SA
0899 8cbc6ccd 20 22 0.10 [8 ] TO BT BT SC BT BR BT SA
0900 8b6d 21 20 0.02 [4 ] TO SC BR SA
0901 46ccd 8 19 0.00 [5 ] TO BT BT SC AB
0902 86bd 15 16 0.03 [4 ] TO BR SC SA
0903 8c6ccd 0 16 0.00 [6 ] TO BT BT SC BT SA
0904 4cbbcd 12 9 0.00 [6 ] TO BT BR BR BT AB
0905
0906
0907 Radial distrib of "TO BT BT SA" looks same for both. Too large a difference, must
0908 be migration from "TO BT SA". Comparing those note different radial distrib
0909
0910 * flat in r for (Op)
0911 * linear in r for CfG4, from 0 at center to twice Op at 100mm
0912
0913 Maybe a difference of Annular and Circle regarding position distrib ?
0914 Nope tried using 0.0001,1 to use Annular for cicle and still getting
0915 the same.
0916
0917 Aha, using disc for Op and disclin for CfG4 gets agreement, TODO:fix CSource bug?::
0918
0919 1.005 100.004
0920 0.187 100.004
0921 4:PmtInBox -4:PmtInBox c2
0922 8cd 340271 340273 0.00 [3 ] TO BT SA
0923 7cd 107598 107251 0.56 [3 ] TO BT SD
0924 8ccd 23217 23260 0.04 [4 ] TO BT BT SA
0925 4d 18866 19048 0.87 [2 ] TO AB
0926 86d 3179 3133 0.34 [3 ] TO SC SA
0927 4cd 2204 2249 0.45 [3 ] TO BT AB
0928 4ccd 1696 1732 0.38 [4 ] TO BT BT AB
0929 8bd 1446 1455 0.03 [3 ] TO BR SA
0930 8c6d 382 424 2.19 [4 ] TO SC BT SA
0931 86ccd 260 260 0.00 [5 ] TO BT BT SC SA
0932 46d 197 215 0.79 [3 ] TO SC AB
0933 8cbbcd 190 213 1.31 [6 ] TO BT BR BR BT SA
0934 4bd 132 125 0.19 [3 ] TO BR AB
0935 7c6d 111 132 1.81 [4 ] TO SC BT SD
0936 866d 35 38 0.12 [4 ] TO SC SC SA
0937 8cc6d 31 29 0.07 [5 ] TO SC BT BT SA
0938 8cbc6ccd 31 22 1.53 [8 ] TO BT BT SC BT BR BT SA
0939 8b6d 26 20 0.78 [4 ] TO SC BR SA
0940 4cbbcd 24 9 6.82 [6 ] TO BT BR BR BT AB
0941 86bd 19 16 0.26 [4 ] TO BR SC SA
0942 46ccd 17 19 0.11 [5 ] TO BT BT SC AB
0943 8c6ccd 0 16 0.00 [6 ] TO BT BT SC BT SA
0944 cccccc6ccd 6 12 0.00 [10] TO BT BT SC BT BT BT BT BT BT
0945 8ccccc6ccd 7 0 0.00 [10] TO BT BT SC BT BT BT BT BT SA
0946 cbccbbbbcd 7 0 0.00 [10] TO BT BR BR BR BR BT BT BR BT
0947
0948
0949
0950
0951