From 7dd2cbe4f183e78c83c59e4a366a72cd04a7f660 Mon Sep 17 00:00:00 2001 From: fca Date: Tue, 16 Dec 2008 07:46:03 +0000 Subject: [PATCH] Several changes: - Removal of HBTAN - Removal of libAnalysisOld (related to the above) - Removal of the old event display (some remnants still need to be removed) - Removal of the fHistogram data member in AliDetector, and related code (it was never used) - Removal of Euclid files and related code - Removal of the class depending on the above - Simplification of AliRun (more to come!) --- ACORDE/AliACORDEv0.cxx | 7 - ACORDE/AliACORDEv0.h | 1 - ANALYSIS/AliAOD.cxx | 432 ---- ANALYSIS/AliAOD.h | 65 - ANALYSIS/AliAODPair.cxx | 657 ------- ANALYSIS/AliAODPair.h | 408 ---- ANALYSIS/AliAODPairBaseCut.cxx | 307 --- ANALYSIS/AliAODPairBaseCut.h | 415 ---- ANALYSIS/AliAODPairCut.cxx | 402 ---- ANALYSIS/AliAODPairCut.h | 93 - ANALYSIS/AliAODParticle.cxx | 487 ----- ANALYSIS/AliAODParticle.h | 165 -- ANALYSIS/AliAODParticleBaseCut.cxx | 192 -- ANALYSIS/AliAODParticleBaseCut.h | 311 --- ANALYSIS/AliAODParticleCut.cxx | 328 ---- ANALYSIS/AliAODParticleCut.h | 126 -- ANALYSIS/AliAODRun.cxx | 86 - ANALYSIS/AliAODRun.h | 96 - ANALYSIS/AliAnalysis.cxx | 163 -- ANALYSIS/AliAnalysis.h | 101 - ANALYSIS/AliAnalysisEventCuts.cxx | 314 --- ANALYSIS/AliAnalysisEventCuts.h | 72 - ANALYSIS/AliAnalysisTrackCuts.cxx | 564 ------ ANALYSIS/AliAnalysisTrackCuts.h | 99 - ANALYSIS/AliClusterMap.cxx | 172 -- ANALYSIS/AliClusterMap.h | 40 - ANALYSIS/AliEventBaseCut.cxx | 94 - ANALYSIS/AliEventBaseCut.h | 111 -- ANALYSIS/AliEventBuffer.cxx | 69 - ANALYSIS/AliEventBuffer.h | 42 - ANALYSIS/AliEventCut.cxx | 139 -- ANALYSIS/AliEventCut.h | 57 - ANALYSIS/AliFlowAnalysis.cxx | 221 --- ANALYSIS/AliFlowAnalysis.h | 45 - ANALYSIS/AliMuonAnalysis.cxx | 189 -- ANALYSIS/AliMuonAnalysis.h | 63 - ANALYSIS/AliReader.cxx | 501 ----- ANALYSIS/AliReader.h | 146 -- ANALYSIS/AliReaderAOD.cxx | 488 ----- ANALYSIS/AliReaderESD.cxx | 869 --------- ANALYSIS/AliReaderESD.h | 157 -- ANALYSIS/AliReaderESDTree.cxx | 165 -- ANALYSIS/AliReaderESDTree.h | 38 - ANALYSIS/AliReaderKineTree.cxx | 191 -- ANALYSIS/AliRunAnalysis.cxx | 155 -- ANALYSIS/AliRunAnalysis.h | 57 - ANALYSIS/AliTrackPoints.cxx | 704 ------- ANALYSIS/AliTrackPoints.h | 66 - ANALYSIS/AliVAODParticle.cxx | 68 - ANALYSIS/AliVAODParticle.h | 95 - ANALYSIS/AnalysisOldLinkDef.h | 95 - ANALYSIS/CMakeLists.txt | 2 - ANALYSIS/CMake_libAnalysisOld.txt | 36 - ANALYSIS/TGliteXmlEventlist.cxx | 249 --- ANALYSIS/libAnalysisOld.pkg | 41 - CMakeLists.txt | 1 - EMCAL/AliEMCALv0.cxx | 161 -- EMCAL/AliEMCALv0.h | 2 - EMCAL/AliEMCALv2.cxx | 1 - EMCAL/AliEMCALv3.cxx | 1 - Euclid/ITSgeometry_5.det | 2270 ---------------------- Euclid/ITSgeometry_5.euc | 2073 -------------------- Euclid/ITSgeometry_5.tme | 77 - Euclid/ITSgeometry_5asymm.det | 2270 ---------------------- Euclid/ITSgeometry_5asymm.euc | 2092 -------------------- Euclid/ITSgeometry_5asymm.tme | 77 - Euclid/ITSgeometry_5symm.det | 2270 ---------------------- Euclid/ITSgeometry_5symm.euc | 2076 -------------------- Euclid/ITSgeometry_5symm.tme | 77 - Euclid/bpipeb.euc | 233 --- Euclid/bpumpa.euc | 28 - Euclid/frame.tme | 16 - Euclid/frame1099h.euc | 751 ------- Euclid/frame1099i.euc | 634 ------ Euclid/pipe.tme | 25 - FMD/AliFMD.cxx | 222 --- FMD/AliFMD.h | 15 +- FMD/AliFMDDisplay.cxx | 15 - FMD/AliFMDDisplay.h | 5 - FMD/AliFMDPoints.cxx | 133 -- FMD/AliFMDPoints.h | 78 - FMD/CMake_libFMDsim.txt | 1 - FMD/libFMDsim.pkg | 1 - HBTAN/.rootrc | 7 - HBTAN/AliHBTAnalysis.cxx | 1743 ----------------- HBTAN/AliHBTAnalysis.h | 171 -- HBTAN/AliHBTAnalysisStavinskyMixing.cxx | 799 -------- HBTAN/AliHBTAnalysisStavinskyMixing.h | 67 - HBTAN/AliHBTCorrFitFctn.cxx | 116 -- HBTAN/AliHBTCorrFitFctn.h | 52 - HBTAN/AliHBTCorrectOSLCorrelFctn.cxx | 261 --- HBTAN/AliHBTCorrectOSLCorrelFctn.h | 80 - HBTAN/AliHBTCorrectQInvCorrelFctn.cxx | 465 ----- HBTAN/AliHBTCorrectQInvCorrelFctn.h | 126 -- HBTAN/AliHBTCorrelFctn.cxx | 351 ---- HBTAN/AliHBTCorrelFctn.h | 267 --- HBTAN/AliHBTCrab.cxx | 409 ---- HBTAN/AliHBTCrab.h | 89 - HBTAN/AliHBTFunction.cxx | 1287 ------------ HBTAN/AliHBTFunction.h | 642 ------ HBTAN/AliHBTLLWeights.cxx | 831 -------- HBTAN/AliHBTLLWeights.h | 105 - HBTAN/AliHBTMonDistributionFctns.cxx | 248 --- HBTAN/AliHBTMonDistributionFctns.h | 311 --- HBTAN/AliHBTMonResolutionFctns.cxx | 211 -- HBTAN/AliHBTMonResolutionFctns.h | 286 --- HBTAN/AliHBTMonSplitting.cxx | 57 - HBTAN/AliHBTMonSplitting.h | 51 - HBTAN/AliHBTMonitorFunction.cxx | 427 ---- HBTAN/AliHBTMonitorFunction.h | 293 --- HBTAN/AliHBTPIDPurityFctns.cxx | 929 --------- HBTAN/AliHBTPIDPurityFctns.h | 229 --- HBTAN/AliHBTPair.cxx | 66 - HBTAN/AliHBTPair.h | 49 - HBTAN/AliHBTPositionRandomizer.cxx | 374 ---- HBTAN/AliHBTPositionRandomizer.h | 162 -- HBTAN/AliHBTQDistributionVsKtFctns.cxx | 115 -- HBTAN/AliHBTQDistributionVsKtFctns.h | 96 - HBTAN/AliHBTQDistributionVsQInvFctns.cxx | 117 -- HBTAN/AliHBTQDistributionVsQInvFctns.h | 92 - HBTAN/AliHBTQResolutionFctns.cxx | 454 ----- HBTAN/AliHBTQResolutionFctns.h | 309 --- HBTAN/AliHBTRDistributions.cxx | 75 - HBTAN/AliHBTRDistributions.h | 54 - HBTAN/AliHBTTwoTrackEffFctn.cxx | 166 -- HBTAN/AliHBTTwoTrackEffFctn.h | 61 - HBTAN/AliHBTWeightFctn.cxx | 541 ------ HBTAN/AliHBTWeightFctn.h | 197 -- HBTAN/AliHBTWeightTheorFctn.cxx | 263 --- HBTAN/AliHBTWeightTheorFctn.h | 130 -- HBTAN/AliHBTWeights.cxx | 11 - HBTAN/AliHBTWeights.h | 23 - HBTAN/AliHBTWeightsPID.cxx | 212 -- HBTAN/AliHBTWeightsPID.h | 53 - HBTAN/AliHBTasCorrFctn.cxx | 383 ---- HBTAN/AliHBTasCorrFctn.h | 121 -- HBTAN/AliHBTashbtCorrFctn.cxx | 13 - HBTAN/AliHBTashbtCorrFctn.h | 27 - HBTAN/CMakeLists.txt | 25 - HBTAN/CMake_libHBTAN.txt | 33 - HBTAN/HBTANLinkDef.h | 188 -- HBTAN/WLedCOMMONS.h | 194 -- HBTAN/fsiini.F | 245 --- HBTAN/fsiw.F | 1208 ------------ HBTAN/hbtanalysis.C | 492 ----- HBTAN/hbtcorrections.C | 81 - HBTAN/led_bldata.F | 34 - HBTAN/libHBTAN.pkg | 28 - HBTAN/ltran12.F | 133 -- HBTAN/volya_complex.h | 800 -------- HMPID/AliHMPID.h | 1 - ITS/AliITS.h | 1 - ITS/AliITSv11.cxx | 74 +- ITS/AliITSv11.h | 30 - ITS/AliITSv11Hybrid.cxx | 92 +- ITS/AliITSv11Hybrid.h | 26 - ITS/AliITSvPPRasymmFMD.cxx | 103 +- ITS/AliITSvPPRasymmFMD.h | 34 +- ITS/AliITSvPPRcoarseasymm.cxx | 46 - ITS/AliITSvPPRcoarseasymm.h | 1 - ITS/AliITSvSDD03.cxx | 146 -- ITS/AliITSvSDD03.h | 18 +- ITS/AliITSvSPD02.cxx | 188 -- ITS/AliITSvSPD02.h | 18 +- ITS/AliITSvSSD03.cxx | 98 - ITS/AliITSvSSD03.h | 18 - ITS/AliITSvtest.cxx | 716 ------- ITS/AliITSvtest.h | 107 - ITS/CMake_libITSsim.txt | 1 - ITS/ITSsimLinkDef.h | 1 - ITS/libITSsim.pkg | 1 - MUON/AliMUON.cxx | 12 - MUON/AliMUON.h | 1 - MUON/Doxymodules_STEER.h | 1 - Makefile | 2 +- PHOS/AliPHOSv0.cxx | 231 --- PHOS/AliPHOSv0.h | 4 - PHOS/AliPHOSvFast.cxx | 57 - PHOS/AliPHOSvFast.h | 1 - PMD/AliPMD.cxx | 21 - PMD/AliPMD.h | 1 - STEER/AliDetector.cxx | 107 - STEER/AliDetector.h | 6 +- STEER/AliDisplay.cxx | 991 ---------- STEER/AliDisplay.h | 107 - STEER/AliGenInfo.C | 1 - STEER/AliGenInfo.h | 18 - STEER/AliMC.cxx | 34 - STEER/AliMC.h | 10 +- STEER/AliModule.cxx | 342 +--- STEER/AliModule.h | 19 +- STEER/AliPoints.cxx | 219 --- STEER/AliPoints.h | 45 - STEER/AliRun.cxx | 193 +- STEER/AliRun.h | 30 +- STEER/AliRunLoader.cxx | 15 - STEER/AliRunLoader.h | 1 - STEER/AliSimulation.cxx | 73 +- STEER/AliSimulation.h | 8 +- STEER/CMake_libSTEER.txt | 4 +- STEER/CMake_libSTEER.txt.ori | 121 -- STEER/STEERLinkDef.h | 2 - STEER/libSTEER.pkg | 4 +- STRUCT/AliFRAMEv0.cxx | 142 -- STRUCT/AliFRAMEv0.h | 28 - STRUCT/AliFRAMEv1.cxx | 127 -- STRUCT/AliFRAMEv1.h | 28 - STRUCT/CMake_libSTRUCT.txt | 2 +- STRUCT/STRUCTLinkDef.h | 2 - STRUCT/libSTRUCT.pkg | 2 +- T0/AliT0.cxx | 38 - T0/AliT0.h | 2 - TOF/AliTOF.cxx | 9 - TOF/AliTOF.h | 1 - TOF/AliTOFv0.cxx | 88 - TOF/AliTOFv0.h | 1 - TOF/AliTOFv1.cxx | 92 - TOF/AliTOFv1.h | 1 - TOF/AliTOFv2.cxx | 92 - TOF/AliTOFv2.h | 1 - TOF/AliTOFv2FHoles.cxx | 98 - TOF/AliTOFv2FHoles.h | 1 - TOF/AliTOFv3.cxx | 93 - TOF/AliTOFv3.h | 1 - TOF/AliTOFv4.cxx | 88 - TOF/AliTOFv4.h | 1 - TOF/AliTOFv4T0.cxx | 88 - TOF/AliTOFv4T0.h | 1 - TOF/AliTOFv5T0.cxx | 83 - TOF/AliTOFv5T0.h | 1 - TOF/AliTOFv6T0.cxx | 80 - TOF/AliTOFv6T0.h | 1 - TPC/AliTPC.cxx | 259 --- TPC/AliTPC.h | 4 - TRD/AliTRD.cxx | 109 -- TRD/AliTRD.h | 1 - TRD/Macros/AliTRDComparison.C | 1 - VZERO/AliVZERO.cxx | 19 - VZERO/AliVZERO.h | 2 - VZERO/AliVZEROv2.cxx | 410 +--- VZERO/AliVZEROv2.h | 1 - VZERO/AliVZEROv3.cxx | 298 --- VZERO/AliVZEROv3.h | 1 - VZERO/AliVZEROv4.cxx | 329 +--- VZERO/AliVZEROv4.h | 1 - VZERO/AliVZEROv5.cxx | 364 ---- VZERO/AliVZEROv5.h | 1 - VZERO/AliVZEROv6.cxx | 7 - VZERO/AliVZEROv6.h | 1 - VZERO/AliVZEROv7.cxx | 5 - VZERO/AliVZEROv7.h | 1 - ZDC/AliZDC.cxx | 24 - ZDC/AliZDC.h | 1 - build/module.dep | 5 +- 254 files changed, 67 insertions(+), 52766 deletions(-) delete mode 100644 ANALYSIS/AliAOD.cxx delete mode 100644 ANALYSIS/AliAOD.h delete mode 100644 ANALYSIS/AliAODPair.cxx delete mode 100644 ANALYSIS/AliAODPair.h delete mode 100644 ANALYSIS/AliAODPairBaseCut.cxx delete mode 100644 ANALYSIS/AliAODPairBaseCut.h delete mode 100644 ANALYSIS/AliAODPairCut.cxx delete mode 100644 ANALYSIS/AliAODPairCut.h delete mode 100644 ANALYSIS/AliAODParticle.cxx delete mode 100644 ANALYSIS/AliAODParticle.h delete mode 100644 ANALYSIS/AliAODParticleBaseCut.cxx delete mode 100644 ANALYSIS/AliAODParticleBaseCut.h delete mode 100644 ANALYSIS/AliAODParticleCut.cxx delete mode 100644 ANALYSIS/AliAODParticleCut.h delete mode 100644 ANALYSIS/AliAODRun.cxx delete mode 100644 ANALYSIS/AliAODRun.h delete mode 100644 ANALYSIS/AliAnalysis.cxx delete mode 100644 ANALYSIS/AliAnalysis.h delete mode 100644 ANALYSIS/AliAnalysisEventCuts.cxx delete mode 100644 ANALYSIS/AliAnalysisEventCuts.h delete mode 100644 ANALYSIS/AliAnalysisTrackCuts.cxx delete mode 100644 ANALYSIS/AliAnalysisTrackCuts.h delete mode 100644 ANALYSIS/AliClusterMap.cxx delete mode 100644 ANALYSIS/AliClusterMap.h delete mode 100644 ANALYSIS/AliEventBaseCut.cxx delete mode 100644 ANALYSIS/AliEventBaseCut.h delete mode 100644 ANALYSIS/AliEventBuffer.cxx delete mode 100644 ANALYSIS/AliEventBuffer.h delete mode 100644 ANALYSIS/AliEventCut.cxx delete mode 100644 ANALYSIS/AliEventCut.h delete mode 100644 ANALYSIS/AliFlowAnalysis.cxx delete mode 100644 ANALYSIS/AliFlowAnalysis.h delete mode 100644 ANALYSIS/AliMuonAnalysis.cxx delete mode 100644 ANALYSIS/AliMuonAnalysis.h delete mode 100644 ANALYSIS/AliReader.cxx delete mode 100644 ANALYSIS/AliReader.h delete mode 100644 ANALYSIS/AliReaderAOD.cxx delete mode 100644 ANALYSIS/AliReaderESD.cxx delete mode 100644 ANALYSIS/AliReaderESD.h delete mode 100644 ANALYSIS/AliReaderESDTree.cxx delete mode 100644 ANALYSIS/AliReaderESDTree.h delete mode 100644 ANALYSIS/AliReaderKineTree.cxx delete mode 100644 ANALYSIS/AliRunAnalysis.cxx delete mode 100644 ANALYSIS/AliRunAnalysis.h delete mode 100644 ANALYSIS/AliTrackPoints.cxx delete mode 100644 ANALYSIS/AliTrackPoints.h delete mode 100644 ANALYSIS/AliVAODParticle.cxx delete mode 100644 ANALYSIS/AliVAODParticle.h delete mode 100644 ANALYSIS/AnalysisOldLinkDef.h delete mode 100644 ANALYSIS/CMake_libAnalysisOld.txt delete mode 100644 ANALYSIS/TGliteXmlEventlist.cxx delete mode 100644 ANALYSIS/libAnalysisOld.pkg delete mode 100644 Euclid/ITSgeometry_5.det delete mode 100644 Euclid/ITSgeometry_5.euc delete mode 100644 Euclid/ITSgeometry_5.tme delete mode 100644 Euclid/ITSgeometry_5asymm.det delete mode 100644 Euclid/ITSgeometry_5asymm.euc delete mode 100644 Euclid/ITSgeometry_5asymm.tme delete mode 100644 Euclid/ITSgeometry_5symm.det delete mode 100644 Euclid/ITSgeometry_5symm.euc delete mode 100644 Euclid/ITSgeometry_5symm.tme delete mode 100644 Euclid/bpipeb.euc delete mode 100644 Euclid/bpumpa.euc delete mode 100644 Euclid/frame.tme delete mode 100644 Euclid/frame1099h.euc delete mode 100644 Euclid/frame1099i.euc delete mode 100644 Euclid/pipe.tme delete mode 100644 FMD/AliFMDPoints.cxx delete mode 100644 FMD/AliFMDPoints.h delete mode 100644 HBTAN/.rootrc delete mode 100644 HBTAN/AliHBTAnalysis.cxx delete mode 100644 HBTAN/AliHBTAnalysis.h delete mode 100644 HBTAN/AliHBTAnalysisStavinskyMixing.cxx delete mode 100644 HBTAN/AliHBTAnalysisStavinskyMixing.h delete mode 100644 HBTAN/AliHBTCorrFitFctn.cxx delete mode 100644 HBTAN/AliHBTCorrFitFctn.h delete mode 100644 HBTAN/AliHBTCorrectOSLCorrelFctn.cxx delete mode 100644 HBTAN/AliHBTCorrectOSLCorrelFctn.h delete mode 100644 HBTAN/AliHBTCorrectQInvCorrelFctn.cxx delete mode 100644 HBTAN/AliHBTCorrectQInvCorrelFctn.h delete mode 100644 HBTAN/AliHBTCorrelFctn.cxx delete mode 100644 HBTAN/AliHBTCorrelFctn.h delete mode 100644 HBTAN/AliHBTCrab.cxx delete mode 100644 HBTAN/AliHBTCrab.h delete mode 100644 HBTAN/AliHBTFunction.cxx delete mode 100644 HBTAN/AliHBTFunction.h delete mode 100644 HBTAN/AliHBTLLWeights.cxx delete mode 100644 HBTAN/AliHBTLLWeights.h delete mode 100644 HBTAN/AliHBTMonDistributionFctns.cxx delete mode 100644 HBTAN/AliHBTMonDistributionFctns.h delete mode 100644 HBTAN/AliHBTMonResolutionFctns.cxx delete mode 100644 HBTAN/AliHBTMonResolutionFctns.h delete mode 100644 HBTAN/AliHBTMonSplitting.cxx delete mode 100644 HBTAN/AliHBTMonSplitting.h delete mode 100644 HBTAN/AliHBTMonitorFunction.cxx delete mode 100644 HBTAN/AliHBTMonitorFunction.h delete mode 100644 HBTAN/AliHBTPIDPurityFctns.cxx delete mode 100644 HBTAN/AliHBTPIDPurityFctns.h delete mode 100644 HBTAN/AliHBTPair.cxx delete mode 100644 HBTAN/AliHBTPair.h delete mode 100644 HBTAN/AliHBTPositionRandomizer.cxx delete mode 100644 HBTAN/AliHBTPositionRandomizer.h delete mode 100644 HBTAN/AliHBTQDistributionVsKtFctns.cxx delete mode 100644 HBTAN/AliHBTQDistributionVsKtFctns.h delete mode 100644 HBTAN/AliHBTQDistributionVsQInvFctns.cxx delete mode 100644 HBTAN/AliHBTQDistributionVsQInvFctns.h delete mode 100644 HBTAN/AliHBTQResolutionFctns.cxx delete mode 100644 HBTAN/AliHBTQResolutionFctns.h delete mode 100644 HBTAN/AliHBTRDistributions.cxx delete mode 100644 HBTAN/AliHBTRDistributions.h delete mode 100644 HBTAN/AliHBTTwoTrackEffFctn.cxx delete mode 100644 HBTAN/AliHBTTwoTrackEffFctn.h delete mode 100644 HBTAN/AliHBTWeightFctn.cxx delete mode 100644 HBTAN/AliHBTWeightFctn.h delete mode 100644 HBTAN/AliHBTWeightTheorFctn.cxx delete mode 100644 HBTAN/AliHBTWeightTheorFctn.h delete mode 100644 HBTAN/AliHBTWeights.cxx delete mode 100644 HBTAN/AliHBTWeights.h delete mode 100644 HBTAN/AliHBTWeightsPID.cxx delete mode 100644 HBTAN/AliHBTWeightsPID.h delete mode 100644 HBTAN/AliHBTasCorrFctn.cxx delete mode 100644 HBTAN/AliHBTasCorrFctn.h delete mode 100644 HBTAN/AliHBTashbtCorrFctn.cxx delete mode 100644 HBTAN/AliHBTashbtCorrFctn.h delete mode 100644 HBTAN/CMakeLists.txt delete mode 100644 HBTAN/CMake_libHBTAN.txt delete mode 100644 HBTAN/HBTANLinkDef.h delete mode 100644 HBTAN/WLedCOMMONS.h delete mode 100644 HBTAN/fsiini.F delete mode 100644 HBTAN/fsiw.F delete mode 100644 HBTAN/hbtanalysis.C delete mode 100644 HBTAN/hbtcorrections.C delete mode 100644 HBTAN/led_bldata.F delete mode 100644 HBTAN/libHBTAN.pkg delete mode 100644 HBTAN/ltran12.F delete mode 100644 HBTAN/volya_complex.h delete mode 100644 ITS/AliITSvtest.cxx delete mode 100644 ITS/AliITSvtest.h delete mode 100644 STEER/AliDisplay.cxx delete mode 100644 STEER/AliDisplay.h delete mode 100644 STEER/AliPoints.cxx delete mode 100644 STEER/AliPoints.h delete mode 100644 STEER/CMake_libSTEER.txt.ori delete mode 100644 STRUCT/AliFRAMEv0.cxx delete mode 100644 STRUCT/AliFRAMEv0.h delete mode 100644 STRUCT/AliFRAMEv1.cxx delete mode 100644 STRUCT/AliFRAMEv1.h diff --git a/ACORDE/AliACORDEv0.cxx b/ACORDE/AliACORDEv0.cxx index 2a0a07aeadb..297b583b9fc 100644 --- a/ACORDE/AliACORDEv0.cxx +++ b/ACORDE/AliACORDEv0.cxx @@ -77,13 +77,6 @@ AliACORDEv0::~AliACORDEv0() // Default destructor // } -//_____________________________________________________________________________ -void AliACORDEv0::BuildGeometry() -{ - - // not needed anymore - -} //_____________________________________________________________________________ void AliACORDEv0::CreateGeometry() diff --git a/ACORDE/AliACORDEv0.h b/ACORDE/AliACORDEv0.h index 99b31e9663a..08b77c49bec 100644 --- a/ACORDE/AliACORDEv0.h +++ b/ACORDE/AliACORDEv0.h @@ -20,7 +20,6 @@ public: virtual Int_t IsVersion() const { return 1; } virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void Init(); diff --git a/ANALYSIS/AliAOD.cxx b/ANALYSIS/AliAOD.cxx deleted file mode 100644 index 18a6a631d52..00000000000 --- a/ANALYSIS/AliAOD.cxx +++ /dev/null @@ -1,432 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -///////////////////////////////////////////////////////////// -// -// base class for AOD containers -// -///////////////////////////////////////////////////////////// - -#include -#include -#include -#include - -#include "AliAOD.h" -#include "AliAODParticle.h" -#include "AliTrackPoints.h" - -ClassImp(AliAOD) - -AliAOD::AliAOD(): - fParticles(0x0), - fIsRandomized(kFALSE), - fPrimaryVertexX(0.0), - fPrimaryVertexY(0.0), - fPrimaryVertexZ(0.0), - fParticleClass(0x0) -{ - //ctor -// Info("AliAOD()","Entered"); -// SetOwner(kTRUE); -// Info("AliAOD()","Exited"); -} -/**************************************************************************/ - -AliAOD::AliAOD(const AliAOD& in): - TObject(in), - fParticles((TClonesArray*)in.fParticles->Clone()), - fIsRandomized(in.fIsRandomized), - fPrimaryVertexX(fPrimaryVertexX), - fPrimaryVertexY(in.fPrimaryVertexY), - fPrimaryVertexZ(in.fPrimaryVertexZ), - fParticleClass(in.fParticleClass) -{ -//copy constructor -} -/**************************************************************************/ - -AliAOD& AliAOD::operator=(const AliAOD& in) -{ -//assigment operator - - if (this == &in ) return *this; - - delete fParticles; - fParticles = (TClonesArray*)in.fParticles->Clone(); - fIsRandomized = in.fIsRandomized ; - fPrimaryVertexX = in.fPrimaryVertexX ; - fPrimaryVertexY = in.fPrimaryVertexY ; - fPrimaryVertexZ = in.fPrimaryVertexZ ; - fParticleClass = in.fParticleClass ; //althought it is pointer, this points to object in class list of gROOT - return *this; -} -/**************************************************************************/ - -AliAOD::~AliAOD() -{ - //Destructor - //fParticleClass does not belong to AliAOD -> Do not delete it - delete fParticles; - -} -/**************************************************************************/ - -void AliAOD::CopyData(AliAOD* aod) -{ - //Copys all data from aod, but leaves local type of particles - if (aod == 0x0) return; - if (aod == this) return; - - AliAOD& in = *this; - - fIsRandomized = in.fIsRandomized ; - fPrimaryVertexX = in.fPrimaryVertexX ; - fPrimaryVertexY = in.fPrimaryVertexY ; - fPrimaryVertexZ = in.fPrimaryVertexZ ; - fParticleClass = in.fParticleClass ; //althought it is pointer, this points to object in class list of gROOT - - - if (in.fParticles == 0x0) - {//if in obj has null fParticles we delete ours - delete fParticles; - fParticles = 0x0; - } - else - { - if (fParticles) - { //if ours particles were already created - if (fParticles->GetClass() != in.fParticles->GetClass()) - {//if in obj has - delete fParticles; - fParticles = (TClonesArray*)in.fParticles->Clone(); - } - else - { - //it should be faster than cloning - Int_t inentr = in.fParticles->GetEntriesFast(); - Int_t curentr = fParticles->GetEntriesFast(); - - TClonesArray& arr = *fParticles; - - //we have to take care about different sizes of arrays - if ( curentr < inentr ) - { - for (Int_t i = 0; i < curentr; i++) - { - TObject& inobj = *(in.fParticles->At(i)); - TObject& obj = *(fParticles->At(i)); - obj = inobj; - } - - TClass* partclass = GetParticleClass(); - if (partclass == 0x0) - { - Fatal("CopyData","Can not get particle class"); - return;//pro forma - } - - for (Int_t i = curentr; i < inentr; i++) - { - TObject& inobj = *(in.fParticles->At(i)); - TObject& obj = *((TObject*)(partclass->New(arr[i]))); - obj = inobj; - } - } - else - { - for (Int_t i = 0; i < inentr; i++) - { - TObject& inobj = *(in.fParticles->At(i)); - TObject& obj = *(fParticles->At(i)); - obj = inobj; - } - - for (Int_t i = curentr ; i >= inentr ; i--) - { - fParticles->RemoveAt(i); - } - } - } - } - else - { - fParticles = (TClonesArray*)in.fParticles->Clone(); - } - } - -} -/**************************************************************************/ - -void AliAOD::SetParticleClassName(const char* classname) -{ -//Sets type of particle that is going to be stored - if (gROOT == 0x0) Fatal("SetParticleClassName","ROOT System not initialized"); - TClass* pclass = gROOT->GetClass(classname); - if ( pclass == 0x0 ) - { - Error("SetParticleClass","Can not get TClass for class named %s",classname); - return; - } - SetParticleClass(pclass); -} -/**************************************************************************/ - -void AliAOD::SetParticleClass(TClass* pclass) -{ -//Sets type of particle that is going to be stored - - if ( pclass == 0x0 ) - { - Error("SetParticleClass","Parameter is NULL."); - return; - } - - if ( pclass->InheritsFrom("AliVAODParticle") == kFALSE ) - { - Error("SetParticleClass","Class named %s does not inherit from AliVAODParticle",pclass->GetName()); - return; - } - if (pclass != fParticleClass) - { - fParticleClass = pclass; - if (fParticleClass) delete fParticles; - fParticles = new TClonesArray(fParticleClass); - } -} -/**************************************************************************/ -TClass* AliAOD::GetParticleClass() -{ -//returns TClass of particle class - if (fParticleClass) return fParticleClass; - - if (fParticles == 0x0) return 0x0; - - fParticleClass = fParticles->GetClass(); - return fParticleClass; -} - -/**************************************************************************/ - -void AliAOD::AddParticle(TParticle* part, Int_t idx) -{ - //Adds TParticle to event - if (part == 0x0) - { - Error("AddParticle(TParticle*,Int_t)","pointer to particle is NULL"); - return; - } - - if (fParticles == 0x0) SetParticleClassName("AliAODParticle"); - AddParticle( new AliAODParticle(*part,idx) ); -} -/**************************************************************************/ - -void AliAOD::AddParticle(AliVAODParticle* particle) -{ - //add particle to AOD - //MAKES ITS OWN COPY OF THE PARTICLE!!! (AOD is not going to keep and delete input pointer) - - if (fParticles == 0x0) SetParticleClassName("AliAODParticle"); - - Int_t idx = fParticles->GetLast() + 1; - TClonesArray& arr = *fParticles; - - TClass* partclass = GetParticleClass(); - if (partclass == 0x0) - { - Error("AddParticle(AliVAODParticle*)","Can not get particle class"); - return; - } - - AliVAODParticle* pp = (AliVAODParticle*)partclass->New(arr[idx]); - pp->operator=(*particle); - -} -/**************************************************************************/ - -void AliAOD::AddParticle(Int_t pdg, Int_t idx, - Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time) -{ - //adds particle to event (standard AOD class) - - if (fParticles == 0x0) SetParticleClassName("AliAODParticle"); - - Int_t newpartidx = fParticles->GetLast() + 1; - TClonesArray& arr = *fParticles; - - TClass* partclass = GetParticleClass(); - if (partclass == 0x0) - { - Error("AddParticle(Int_t,...)","Can not get particle class"); - return; - } - - AliVAODParticle* p = (AliVAODParticle*)partclass->New(arr[newpartidx]); - - p->SetPdgCode(pdg); - p->SetUID(idx); - p->SetMomentum(px,py,pz,etot); - p->SetProductionVertex(vx,vy,vz,time); - -} -/**************************************************************************/ - -void AliAOD::SwapParticles(Int_t i, Int_t j) -{ -//swaps particles positions; used by AliHBTEvent::Blend - if ( (i<0) || (i>=GetNumberOfParticles()) ) return; - if ( (j<0) || (j>=GetNumberOfParticles()) ) return; - - - TClass* partclass = GetParticleClass(); - if (partclass == 0x0) - { - Error("SwapParticles","Can not get particle class"); - return; - } - - AliVAODParticle* tmpobj = (AliVAODParticle*)partclass->New(); - AliVAODParticle& tmp = *tmpobj; - AliVAODParticle& first = *(GetParticle(i)); - AliVAODParticle& second = *(GetParticle(j)); - - tmp = first; - first = second; - second = tmp; - delete tmpobj; -} -/**************************************************************************/ - -void AliAOD::Reset() -{ - //deletes all particles from the event - if (fParticles) fParticles->Clear("C"); - - fIsRandomized = kFALSE; -} -/**************************************************************************/ - -void AliAOD::GetPrimaryVertex(Double_t&x, Double_t&y, Double_t&z) -{ -//returns positions of the primary vertex - x = fPrimaryVertexX; - y = fPrimaryVertexY; - z = fPrimaryVertexZ; -} -/**************************************************************************/ - -void AliAOD::SetPrimaryVertex(Double_t x, Double_t y, Double_t z) -{ -//Sets positions of the primary vertex - fPrimaryVertexX = x; - fPrimaryVertexY = y; - fPrimaryVertexZ = z; -} -/**************************************************************************/ - -Int_t AliAOD::GetNumberOfCharged(Double_t etamin, Double_t etamax) const -{ - //reurns number of charged particles within given pseudorapidity range - Int_t n = 0; - Int_t npart = GetNumberOfParticles(); - for (Int_t i = 0; i < npart; i++) - { - AliVAODParticle* p = GetParticle(i); - Double_t eta = p->Eta(); - if ( (eta < etamin) || (eta > etamax) ) continue; - if (p->Charge() != 0.0) n++; - } - return n; -} -/**************************************************************************/ - -void AliAOD::Move(Double_t x, Double_t y, Double_t z) -{ - //moves all spacial coordinates about this vector - // vertex - // track points - // and whatever will be added to AOD and AOD particles that is a space coordinate - - fPrimaryVertexX += x; - fPrimaryVertexY += y; - fPrimaryVertexZ += z; - - Int_t npart = GetNumberOfParticles(); - for (Int_t i = 0; i < npart; i++) - { - AliVAODParticle* p = GetParticle(i); - AliTrackPoints* tp = p->GetTPCTrackPoints(); - if (tp) tp->Move(x,y,z); - tp = p->GetITSTrackPoints(); - if (tp) tp->Move(x,y,z); - } -} -/**************************************************************************/ - -void AliAOD::Print(const Option_t* /*option*/) const -{ - //Prints AOD - TString ts; - TString msg("\n"); - msg+="Particle Class: "; - if (fParticleClass) - { - msg+=fParticleClass->GetName(); - } - else - { - msg+="Not specified yet"; - } - msg += "\n"; - msg += "Vertex position X: "; - msg += fPrimaryVertexX; - msg += " Y:" ; - msg += fPrimaryVertexY; - msg += " Z:"; - msg += fPrimaryVertexZ; - msg += "\n"; - - msg += "Randomized: "; - msg += fIsRandomized; - msg += "\n"; - - Info("Print","%s",msg.Data()); - - Int_t npart = GetNumberOfParticles(); - Info("Print","Npart: %d",npart); - for (Int_t i = 0; i < npart; i++) - { - Info("Print","Getting particle %d",i); - AliVAODParticle* p = GetParticle(i); - Info("Print","Printing particle %d, address %#x",i,p); - p->Dump(); - p->Print(); - Info("Print","particle %d printed",i); - } -} - -void AliAOD::SetOwner(Bool_t /*owner*/) -{ -//Sets the ownership of particles: if particles should be also deleted if AOD is deleted/reseted -//Since fParticles is Clones and not Object Array, it is always the owner and this method does not have sense - - MayNotUse("SetOwner"); - //if fParticles->SetOwner(owner); - -} diff --git a/ANALYSIS/AliAOD.h b/ANALYSIS/AliAOD.h deleted file mode 100644 index f5fc6cd9553..00000000000 --- a/ANALYSIS/AliAOD.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef ALIAOD_H -#define ALIAOD_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////////// -// -// base class for AOD containers -// -///////////////////////////////////////////////////////////// - -#include -#include -#include "AliVAODParticle.h" - -class TParticle; - -class AliAOD: public TObject { -public: - AliAOD(); - virtual ~AliAOD(); - - AliAOD(const AliAOD& in); - virtual AliAOD& operator=(const AliAOD& in); - virtual void CopyData(AliAOD* aod);//Copys all data from aod, but leaves local type of particles - - virtual TClonesArray* GetParticles() const {return fParticles;} - virtual void SetParticleClassName(const char* classname); - virtual void SetParticleClass(TClass* pclass); - - virtual Int_t GetNumberOfParticles() const {return (fParticles)?fParticles->GetEntriesFast():0;} - virtual AliVAODParticle* GetParticle(Int_t index) const {return (fParticles)?(AliVAODParticle*)fParticles->At(index):0x0;} - virtual void AddParticle(AliVAODParticle* particle); - virtual void AddParticle(TParticle* part, Int_t idx); //adds particle to the event - virtual void AddParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time); - - virtual void Reset(); - - void SwapParticles(Int_t i, Int_t j);//swaps particles positions; used by AliReader::Blend - Bool_t IsRandomized() const {return fIsRandomized;} - void SetRandomized(Bool_t flag = kTRUE){fIsRandomized = flag;} - - void GetPrimaryVertex(Double_t&x, Double_t&y, Double_t&z); - void SetPrimaryVertex(Double_t x, Double_t y, Double_t z); - - Int_t GetNumberOfCharged(Double_t etamin = -10.0, Double_t etamax = 10.0) const; - void Move(Double_t x, Double_t y, Double_t z);//moves all spacial coordinates about this vector - virtual void SetOwner(Bool_t owner); - virtual void Print(const Option_t* /*option*/ = "") const; - TClass* GetParticleClass(); -private: - TClonesArray *fParticles; // array of AOD particles, AliAOD is owner of particles - Bool_t fIsRandomized;//flag indicating if positions of particles were randomized - used by HBTAN - Double_t fPrimaryVertexX;//X position of the primary vertex - Double_t fPrimaryVertexY;//Y position of the primary vertex - Double_t fPrimaryVertexZ;//Z position of the primary vertex - TClass* fParticleClass;//!object that defines type of the particle - - ClassDef(AliAOD,1) // base class for AOD containers -}; - -#endif diff --git a/ANALYSIS/AliAODPair.cxx b/ANALYSIS/AliAODPair.cxx deleted file mode 100644 index a6ed0fad041..00000000000 --- a/ANALYSIS/AliAODPair.cxx +++ /dev/null @@ -1,657 +0,0 @@ -#include "AliAODPair.h" -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliAODPair -// -// class implements pair of particles and taking care of caluclation (almost) -// all of pair properties (Qinv, InvMass,...) -// -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// - -#include "AliVAODParticle.h" -#include "AliTrackPoints.h" -ClassImp(AliAODPair) - -/************************************************************************/ -AliAODPair::AliAODPair(Bool_t rev): - fPart1(0x0), - fPart2(0x0), - fSwappedPair(0x0), - fQSideLCMS(0.0), - fQSideLCMSNotCalc(kTRUE), - fQOutLCMS(0.0), - fQOutLCMSNotCalc(kTRUE), - fQLongLCMS(0.0), - fQLongLCMSNotCalc(kTRUE), - fQtLCMS(0.0), - fQtLCMSNotCalc(kTRUE), - fQt(0.0), - fQtNotCalc(kTRUE), - fQInv(0.0), - fQInvNotCalc(kTRUE), - fInvMass(0.0), - fInvMassNotCalc(kTRUE), - fKt(0.0), - fKtNotCalc(kTRUE), - fKStar(0.0), - fKStarNotCalc(kTRUE), - fKStarOut(0.0), - fKStarSide(0.0), - fKStarLong(0.0), - fKStarCompNotCalc(kTRUE), - fPInv(0.0), - fQSide(0.0), - fOut(0.0), - fQLong(0.0), - fMt(0.0), - fMtNotCalc(kTRUE), - fInvMassSqr(0.0), - fMassSqrNotCalc(kTRUE), - fQInvL(0.0), - fQInvLNotCalc(kTRUE), - fAvarageDistance(0.0), - fAvarageDistanceNotCalc(kTRUE), - fPxSum(0.0), - fPySum(0.0), - fPzSum(0.0), - fESum(0.0), - fSumsNotCalc(kTRUE), - fPxDiff(0.0), - fPyDiff(0.0), - fPzDiff(0.0), - fEDiff(0.0), - fDiffsNotCalc(kTRUE), - fGammaLCMS(0.0), - fGammaLCMSNotCalc(kTRUE), - fChanged(kTRUE) - { -//value of rev defines if it is Swapped -//if you pass kTRUE swpaped pair will NOT be created -//though you wont be able to get the swaped pair from this pair - - if(!rev) fSwappedPair = new AliAODPair(kTRUE); //if false create swaped pair - - } -/************************************************************************/ - -AliAODPair::AliAODPair(AliVAODParticle* part1, AliVAODParticle* part2, Bool_t rev): - fPart1(part1), - fPart2(part2), - fSwappedPair(0x0), - fQSideLCMS(0.0), - fQSideLCMSNotCalc(kTRUE), - fQOutLCMS(0.0), - fQOutLCMSNotCalc(kTRUE), - fQLongLCMS(0.0), - fQLongLCMSNotCalc(kTRUE), - fQtLCMS(0.0), - fQtLCMSNotCalc(kTRUE), - fQt(0.0), - fQtNotCalc(kTRUE), - fQInv(0.0), - fQInvNotCalc(kTRUE), - fInvMass(0.0), - fInvMassNotCalc(kTRUE), - fKt(0.0), - fKtNotCalc(kTRUE), - fKStar(0.0), - fKStarNotCalc(kTRUE), - fKStarOut(0.0), - fKStarSide(0.0), - fKStarLong(0.0), - fKStarCompNotCalc(kTRUE), - fPInv(0.0), - fQSide(0.0), - fOut(0.0), - fQLong(0.0), - fMt(0.0), - fMtNotCalc(kTRUE), - fInvMassSqr(0.0), - fMassSqrNotCalc(kTRUE), - fQInvL(0.0), - fQInvLNotCalc(kTRUE), - fAvarageDistance(0.0), - fAvarageDistanceNotCalc(kTRUE), - fPxSum(0.0), - fPySum(0.0), - fPzSum(0.0), - fESum(0.0), - fSumsNotCalc(kTRUE), - fPxDiff(0.0), - fPyDiff(0.0), - fPzDiff(0.0), - fEDiff(0.0), - fDiffsNotCalc(kTRUE), - fGammaLCMS(0.0), - fGammaLCMSNotCalc(kTRUE), - fChanged(kTRUE) - { -//value of rev defines if it is Swapped -//if you pass kTRUE swpaped pair will NOT be created -//though you wont be able to get the swaped pair from this pair - - if(!rev) fSwappedPair = new AliAODPair(part2,part1,kTRUE); //if false create swaped pair - - } -/************************************************************************/ -AliAODPair::AliAODPair(const AliAODPair& in): - TObject(in), - fPart1(0x0), - fPart2(0x0), - fSwappedPair(0x0), - fQSideLCMS(0.0), - fQSideLCMSNotCalc(kTRUE), - fQOutLCMS(0.0), - fQOutLCMSNotCalc(kTRUE), - fQLongLCMS(0.0), - fQLongLCMSNotCalc(kTRUE), - fQtLCMS(0.0), - fQtLCMSNotCalc(kTRUE), - fQt(0.0), - fQtNotCalc(kTRUE), - fQInv(0.0), - fQInvNotCalc(kTRUE), - fInvMass(0.0), - fInvMassNotCalc(kTRUE), - fKt(0.0), - fKtNotCalc(kTRUE), - fKStar(0.0), - fKStarNotCalc(kTRUE), - fKStarOut(0.0), - fKStarSide(0.0), - fKStarLong(0.0), - fKStarCompNotCalc(kTRUE), - fPInv(0.0), - fQSide(0.0), - fOut(0.0), - fQLong(0.0), - fMt(0.0), - fMtNotCalc(kTRUE), - fInvMassSqr(0.0), - fMassSqrNotCalc(kTRUE), - fQInvL(0.0), - fQInvLNotCalc(kTRUE), - fAvarageDistance(0.0), - fAvarageDistanceNotCalc(kTRUE), - fPxSum(0.0), - fPySum(0.0), - fPzSum(0.0), - fESum(0.0), - fSumsNotCalc(kTRUE), - fPxDiff(0.0), - fPyDiff(0.0), - fPzDiff(0.0), - fEDiff(0.0), - fDiffsNotCalc(kTRUE), - fGammaLCMS(0.0), - fGammaLCMSNotCalc(kTRUE), - fChanged(kTRUE) -{ - //cpy constructor - in.Copy(*this); -} -/************************************************************************/ - -AliAODPair& AliAODPair::operator=(const AliAODPair& in) -{ - //Assigment operator - in.Copy(*this); - return *this; -} -/************************************************************************/ - -Double_t AliAODPair::GetInvMass() -{ -//Returns qinv value for a pair - if(fInvMassNotCalc) - { - CalculateInvMassSqr(); //method is inline so we not waste th time for jumping into method - - if(fInvMassSqr<0) fInvMass = TMath::Sqrt(-fInvMassSqr); - else fInvMass = TMath::Sqrt(fInvMassSqr); - - fInvMassNotCalc = kFALSE; - } - return fInvMass; -} -/************************************************************************/ - -Double_t AliAODPair::GetQSideLCMS() -{ -//return Q Side in Central Of Mass System in Longitudialy Comoving Frame - - if (fQSideLCMSNotCalc) - { - fQSideLCMS = (fPart1->Px()*fPart2->Py()-fPart2->Px()*fPart1->Py())/GetKt(); - fQSideLCMSNotCalc = kFALSE; - } - return fQSideLCMS; -} -/************************************************************************/ - -Double_t AliAODPair::GetQOutLCMS() -{ - //caculates Qout in Center Of Mass Longitudionally Co-Moving - if(fQOutLCMSNotCalc) - { - CalculateSums(); - CalculateDiffs(); - - if (fPart1->Mass() != fPart2->Mass()) - { -/* - //STAR algorithm - Double_t beta = fPzSum/fESum; - Double_t gamma = GetGammaToLCMS(); - Double_t el = gamma * (fPart1->E() - beta * fPart1->Pz()); - Double_t x = ( fPart1->Px()*fPxSum + fPart1->Py()*fPySum) / ( 2.0*GetKt() ); - beta = 2.0*GetKt()/GetMt(); - gamma = GetMt()/GetQInv(); - fQOutLCMS = gamma * (x - beta * el); -*/ - - //beta=fPzSum/fESum; // Longit. V == beta - Double_t beta=fPzSum/fESum; - Double_t gamma = GetGammaToLCMS(); - - Double_t cosphi=fPxSum/(2.0*GetKt()); // cos(phi) - Double_t sinphi=fPySum/(2.0*GetKt()); // sin(phi) - -// ROTATE(part1Px,part1Py,SPHI,CPHI,part1Px,part1Py);//ROT8 -// ROTATE(part2Px,part2Py,SPHI,CPHI,part2Px,part2Py);//ROT8 - Double_t tmp; - tmp = fPart1->Px()*cosphi + fPart1->Py()*sinphi; - Double_t part1Py = fPart1->Py()*cosphi - fPart1->Px()*sinphi; - Double_t part1Px = tmp; - - tmp = fPart2->Px()*cosphi + fPart2->Py()*sinphi; - Double_t part2Py = fPart2->Py()*cosphi - fPart2->Px()*sinphi; - Double_t part2Px = tmp; - - -// LTR(part1Pz,E1,beta,GetGammaToLCMS(),part1Pz,E1a); -// LTR(part2Pz,E2,beta,GetGammaToLCMS(),part2Pz,E2a); - Double_t part1Pz=gamma*(fPart1->Pz()-beta*fPart1->E()); - Double_t part2Pz=gamma*(fPart2->Pz()-beta*fPart2->E()); - - Double_t part1P2=part1Px*part1Px+part1Py*part1Py+part1Pz*part1Pz; - Double_t part2P2=part2Px*part2Px+part2Py*part2Py+part2Pz*part2Pz; - Double_t part1E=TMath::Sqrt(fPart1->Mass()*fPart1->Mass()+part1P2); - Double_t part2E=TMath::Sqrt(fPart2->Mass()*fPart2->Mass()+part2P2); - Double_t sumE=part1E+part2E; - Double_t sumPx=part1Px+part2Px; - Double_t sumPy=part1Py+part2Py; - Double_t sumPZ=part1Pz+part2Pz; - Double_t sumP2=sumPx*sumPx+sumPy*sumPy+sumPZ*sumPZ; - - Double_t relmass=TMath::Sqrt(sumE*sumE-sumP2); - Double_t hf = (fPart1->Mass()*fPart1->Mass() - fPart2->Mass()*fPart2->Mass())/(relmass*relmass); - fQOutLCMS=(part1Px-part2Px);//== id - fQOutLCMS=fQOutLCMS-sumPx*hf; //sumPx == fPxSum ale po rotacji i transf - } - else - { - Double_t k2 = fPxSum*fPxDiff+fPySum*fPyDiff; - fQOutLCMS = 0.5*k2/GetKt(); - // if (non-id) fQOutLCMS=fQOutLCMS - sumPx*HF; - } - - - fQOutLCMSNotCalc = kFALSE; - } - return fQOutLCMS; -} -/************************************************************************/ - -Double_t AliAODPair::GetQLongLCMS() -{ - //return Q Long in Central Of Mass System in Longitudialy Comoving Frame - if (fQLongLCMSNotCalc) - { - CalculateSums(); - CalculateDiffs(); - Double_t beta = fPzSum/fESum; - fQLongLCMS = GetGammaToLCMS() * ( fPzDiff - beta*fEDiff ); - fQLongLCMSNotCalc = kFALSE; - } - return fQLongLCMS; -} -/************************************************************************/ - -Double_t AliAODPair::GetQtLCMS() -{ - //returns Q transverse CMS longitudionally co-moving - if (fQtLCMSNotCalc) - { - fQtLCMS = TMath::Hypot(GetQOutLCMS(),GetQSideLCMS()); - fQtLCMSNotCalc = kFALSE; - } - return fQtLCMS; -} -/************************************************************************/ - -Double_t AliAODPair::GetQt() -{ - //returns Q transverse CMS longitudionally co-moving - if (fQtNotCalc) - { - CalculateSums(); - CalculateDiffs(); - - Double_t dotprod = fPxSum*fPxDiff + fPySum*fPyDiff + fPzSum*fPzDiff; - Double_t klen = fPxSum*fPxSum + fPySum*fPySum + fPzSum*fPzSum; - klen = TMath::Sqrt(klen); - Double_t qlen = fPxDiff*fPxDiff + fPyDiff*fPyDiff + fPzDiff*fPzDiff; - qlen = TMath::Sqrt(qlen); - Double_t tmp = klen*qlen; - if (tmp == 0.0) - { - fQt = 10e5; - fQtNotCalc = kFALSE; - return fQt; - } - Double_t cosopenangle = dotprod/tmp; - Double_t sinopenangle = TMath::Sqrt(1.0 - cosopenangle*cosopenangle); - - fQt = sinopenangle*qlen; - fQtNotCalc = kFALSE; - } - return fQt; -} -/************************************************************************/ - -Double_t AliAODPair::GetKt() -{ - //calculates the evarage momentum of the pair - if(fKtNotCalc) - { - CalculateSums(); - fKt = 0.5*TMath::Hypot(fPxSum,fPySum); - fKtNotCalc = kFALSE; - } - return fKt; -} -/************************************************************************/ - -Double_t AliAODPair::GetKStar() -{ - //calculates invariant velocity difference - if (fKStarNotCalc) - { - CalculateSums(); - - Double_t ptrans = fPxSum*fPxSum + fPySum*fPySum; - Double_t mtrans = fESum*fESum - fPzSum*fPzSum; - if (ptrans > mtrans) - { - Error("GetKStar","Tranverse momentum bigger than transverse mass. Not normal for on-shell particles"); - Error("GetKStar","Particle1:"); - fPart1->Print(); - Error("GetKStar","Particle2:"); - fPart2->Print(); - Error("GetKStar",""); - - fKStar = 10e5; - fKStarNotCalc = kFALSE; - return fKStar; - } - Double_t pinv = TMath::Sqrt(mtrans - ptrans); - - Double_t q = (fPart1->Mass()*fPart1->Mass() - fPart2->Mass()*fPart2->Mass())/pinv; - - CalculateQInvL(); - - q = q*q - fQInvL; - if ( q < 0) - { - Info("GetKStar","Sqrt of negative number q = %f",q); - Error("GetKStar","Particle1:"); - fPart1->Print(); - Error("GetKStar","Particle2:"); - fPart2->Print(); - fKStar = 10e5; - fKStarNotCalc = kFALSE; - return fKStar; - } - - q = TMath::Sqrt(q); - fKStar = q/2.; - fKStarNotCalc = kFALSE; - } - return fKStar; -} -/************************************************************************/ -Double_t AliAODPair::GetKStarOut() -{ - CalculateKStarComp(); - return fKStarOut; -} -/************************************************************************/ -Double_t AliAODPair::GetKStarSide() -{ - CalculateKStarComp(); - return fKStarSide; -} -/************************************************************************/ -Double_t AliAODPair::GetKStarLong() -{ - CalculateKStarComp(); - return fKStarLong; -} -/************************************************************************/ - -Double_t AliAODPair::GetQInv() -{ -//returns Qinv -//warning for non-id particles you want to use 2*KStar - if(fQInvNotCalc) - { - CalculateQInvL(); - fQInv = TMath::Sqrt(TMath::Abs(fQInvL)); - fQInvNotCalc = kFALSE; - } - return fQInv; -} -/************************************************************************/ - -Double_t AliAODPair::GetGammaToLCMS() -{ - //calculates gamma factor of the boost to LCMS - if(fGammaLCMSNotCalc) - { - CalculateSums(); - Double_t beta = fPzSum/fESum; - fGammaLCMS = 1.0/TMath::Sqrt(1.0 - beta*beta); - fGammaLCMSNotCalc = kFALSE; - } - return fGammaLCMS; -} -/************************************************************************/ - -Double_t AliAODPair::GetGammaToTransverse() -{ - //calculates gamma factor of the boost to LCMS - Double_t beta = 2.0*GetKt() / GetMt(); - Double_t gamma = 1.0/TMath::Sqrt(1.0 - beta*beta); - - return gamma; -} -/************************************************************************/ - -Double_t AliAODPair::GetMt() -{ - //Calculates transverse mass of the pair - if (fMtNotCalc) - { - CalculateSums(); - fMt = TMath::Sqrt(fESum*fESum - fPzSum*fPzSum); - fMtNotCalc = kFALSE; - } - return fMt; -} -/************************************************************************/ - -Double_t AliAODPair::GetAvarageDistance() -{ -//returns and buffers avarage distance between two tracks calculated -// out of track points (see AliAODTrackPoints class) - - if (fAvarageDistanceNotCalc) - { - fAvarageDistance = AvDistance(); - fAvarageDistanceNotCalc = kFALSE; - } - return fAvarageDistance; -} -/************************************************************************/ - -Double_t AliAODPair::AvDistance() -{ - //returns avarage distance between two tracks in range - //as defined in Track-Points of AliVAODParticle - //returns negative value if error uccured f.g. tracks do not have track-points - AliTrackPoints* tpts1 = fPart1->GetTPCTrackPoints(); - if ( tpts1 == 0x0) - {//it could be simulated pair -// Warning("GetValue","Track 1 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - - AliTrackPoints* tpts2 = fPart2->GetTPCTrackPoints(); - if ( tpts2 == 0x0) - { -// Warning("GetValue","Track 2 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - - return tpts1->AvarageDistance(*tpts2); -} -/************************************************************************/ - -Double_t AliAODPair::GetR() -{ -//Returns distance between particles vertexes in thir CMS - - CalculateDiffs(); - - Double_t vxDiff = fPart1->Vx() - fPart2->Vx(); - Double_t vyDiff = fPart1->Vy() - fPart2->Vy(); - Double_t vzDiff = fPart1->Vz() - fPart2->Vz(); - - Double_t r = TMath::Sqrt( vxDiff*vxDiff + vyDiff*vyDiff + vzDiff*vzDiff ); - return r; - -} -/************************************************************************/ - -Double_t AliAODPair::GetRStar() -{ -//Returns distance between particles vertexes in thir CMS - - - CalculateSums(); - - Double_t klen = fPxSum*fPxSum + fPySum*fPySum + fPzSum*fPzSum; - klen = TMath::Sqrt(klen); - - Double_t aBeta = klen/fESum; - Double_t aGamma = 1.0/TMath::Sqrt(1.0 - aBeta*aBeta); - - - Double_t alpha = -TMath::ATan2(fPySum,fPzSum); - Double_t beta = TMath::ATan2(fPxSum,TMath::Hypot(fPySum,fPzSum)); - - Double_t sinalpha = TMath::Sin(alpha); - Double_t cosalpha = TMath::Cos(alpha); - Double_t sinbeta = TMath::Sin(beta); - Double_t cosbeta = TMath::Cos(beta); - - Double_t v1xP = fPart1->Vx(); - Double_t v2xP = fPart2->Vx(); - Double_t v1yP = fPart1->Vy()*cosalpha + fPart1->Vz()*sinalpha; - Double_t v2yP = fPart2->Vy()*cosalpha + fPart2->Vz()*sinalpha; - Double_t v1zP =-fPart1->Vy()*sinalpha + fPart1->Vz()*cosalpha; - Double_t v2zP =-fPart2->Vy()*sinalpha + fPart2->Vz()*cosalpha; - - -/////////////////////////////////////////////////// - -// Double_t p1yP = fPart1->Py()*cosalpha + fPart1->Pz()*sinalpha; -// Double_t p2yP = fPart2->Py()*cosalpha + fPart2->Pz()*sinalpha; -// -// Double_t p1zP =-fPart1->Py()*sinalpha + fPart1->Pz()*cosalpha; -// Double_t p2zP =-fPart2->Py()*sinalpha + fPart2->Pz()*cosalpha; -// -// -// Double_t p1x = fPart1->Px()*cosbeta - p1zP*sinbeta; -// Double_t p2x = fPart2->Px()*cosbeta - p2zP*sinbeta; -// Double_t p1z = fPart1->Px()*sinbeta + p1zP*cosbeta; -// Double_t p2z = fPart2->Px()*sinbeta + p2zP*cosbeta; - -// Info("","%f %f %f",p1yP,p2yP,p1yP+p2yP); -// Info("","%f %f %f",p1x,p2x,p1x+p2x); - -// Info("","%f %f ",p1x+p2x,p1yP+p2yP); - -/////////////////////////////////////////////////// - - - Double_t v1x = v1xP*cosbeta - v1zP*sinbeta; - Double_t v2x = v2xP*cosbeta - v2zP*sinbeta; - Double_t v1y = v1yP; - Double_t v2y = v2yP; - Double_t v1z = v1xP*sinbeta + v1zP*cosbeta; - Double_t v2z = v2xP*sinbeta + v2zP*cosbeta; - - - Double_t v1zB=aGamma*(v1z-aBeta*fPart1->T()); - Double_t v2zB=aGamma*(v2z-aBeta*fPart2->T()); - - - - Double_t dx = v1x - v2x; - Double_t dy = v1y - v2y; - Double_t dz = v1zB - v2zB; - - Double_t rstar = TMath::Sqrt( dx*dx + dy*dy + dz*dz); - - return rstar; -} -/************************************************************************/ - -void AliAODPair::MirrorSecond() -{ -//makes local copy of the second particle and mirrors their momenta -//for its deletion is responsible who calls this method - fPart2 = (AliVAODParticle*)fPart2->Clone(); - fPart2->SetMomentum(-fPart2->Px(),-fPart2->Py(),-fPart2->Pz(),fPart2->E()); - Changed(); -} -/************************************************************************/ - -void AliAODPair::DeleteSecond() -{ -//Deletes second particle - delete fPart2; - fPart2 = 0x0; -} - -void AliAODPair::Print() -{ - if (fPart1) fPart1->Print(); - if (fPart2) fPart2->Print(); - - Info("Print","GetKStar() %f",GetKStar()); - Info("Print","GetKt() %f",GetKt() ); - Info("Print","QInv %f", GetQInv() ); - Info("Print","GetQOutLCMS() %f",GetQOutLCMS() ); - Info("Print","GetQSideLCMS %f",GetQSideLCMS() ); - Info("Print","GetQLongLCMS() %f", GetQLongLCMS()); - Info("Print","GetDeltaTheta() %f", GetDeltaTheta()); - Info("Print","GetDeltaPhi() %f", GetDeltaPhi()); - - -} diff --git a/ANALYSIS/AliAODPair.h b/ANALYSIS/AliAODPair.h deleted file mode 100644 index 5957f2a7fbf..00000000000 --- a/ANALYSIS/AliAODPair.h +++ /dev/null @@ -1,408 +0,0 @@ -#ifndef AliAODPair_H -#define AliAODPair_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliAODPair -// -// class implements pair of particles and taking care of caluclation (almost) -// all of pair properties (Qinv, InvMass,...) -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// - -#include -#include - -#include "AliVAODParticle.h" - -class AliAODPair: public TObject -{ - public: - AliAODPair(Bool_t rev = kFALSE); //contructor - AliAODPair(AliVAODParticle* part1, AliVAODParticle* part2, Bool_t rev = kFALSE); //contructor - AliAODPair(const AliAODPair& in); - - virtual ~AliAODPair(){} - - AliAODPair& operator=(const AliAODPair& in); - - void SetParticles(AliVAODParticle* p1,AliVAODParticle* p2); //sets particles in the pair - AliAODPair* GetSwappedPair() {return fSwappedPair;} //returns pair with swapped particles - - AliVAODParticle* Particle1() const {return fPart1;} //returns pointer to first particle - AliVAODParticle* Particle2() const {return fPart2;} //returns pointer to decond particle - - virtual void Changed(); - //Center Mass System - Longitudinally Comoving - - virtual Double_t GetInvMass(); //returns invariant mass of the pair - virtual Double_t GetMt(); - virtual Double_t GetQInv(); //returns Q invariant - virtual Double_t GetQSideLCMS(); //returns Q Side CMS longitudionally co-moving - virtual Double_t GetQOutLCMS(); //returns Q out CMS longitudionally co-moving - virtual Double_t GetQLongLCMS(); //returns Q Long CMS longitudionally co-moving - virtual Double_t GetQtLCMS(); //returns Q transverse CMS longitudionally co-moving - - virtual Double_t GetQt(); //returns Q transverse to Kt - - - virtual Double_t GetKt(); //returns K transverse - virtual Double_t GetKStar(); - virtual Double_t GetKStarOut(); //z.ch. - virtual Double_t GetKStarSide(); //z.ch. - virtual Double_t GetKStarLong(); //z.ch. - - - virtual Double_t GetAvarageDistance();//returns avarage distnace between two tracks - - virtual Double_t GetDeltaE(); //return difference of Energies - virtual Double_t GetDeltaP(); //return difference of momenta (scalar difference) - virtual Double_t GetDeltaPvector(); //return legth of difference vector of momenta - virtual Double_t GetDeltaPt(); - virtual Double_t GetDeltaPx(); - virtual Double_t GetDeltaPy(); - virtual Double_t GetDeltaPz(); - - virtual Double_t GetDeltaTheta(); - virtual Double_t GetDeltaPhi(); - - virtual Double_t GetGammaToLCMS(); - virtual Double_t GetGammaToTransverse(); - virtual Double_t GetPIDProb() const {return fPart1->GetPidProb()*fPart2->GetPidProb();} - - virtual Double_t GetRStar() ; - virtual Double_t GetR() ;//returns distance between particle production points - - void MirrorSecond(); - void DeleteSecond(); - - void Print(const Option_t* option ) const {TObject::Print(option);} - void Print() ; - - protected: - AliVAODParticle* fPart1; //pointer to first particle - AliVAODParticle* fPart2; //pointer to second particle - - AliAODPair* fSwappedPair; //pointer to swapped pair - -/************************************************************/ -/************CMS (LC) Q's *********************************/ -/************************************************************/ - //Center Mass System - Longitudinally Comoving - - Double_t fQSideLCMS; //value of Q side CMS longitudially co-moving - Bool_t fQSideLCMSNotCalc; //flag indicating if fQSideLCMS is already calculated for this pair - - Double_t fQOutLCMS; //value of Q out CMS longitudially co-moving - Bool_t fQOutLCMSNotCalc;//flag indicating if fQOutLCMS is already calculated for this pair - - Double_t fQLongLCMS; //value of Q long CMS longitudially co-moving - Bool_t fQLongLCMSNotCalc;//flag indicating if fQLongLCMS is already calculated for this pair - - Double_t fQtLCMS; //value of Qt CMS longitudially co-moving (hypot(qsidelcms,qoutlcms)) - Bool_t fQtLCMSNotCalc;//flag indicating if fQLongLCMS is already calculated for this pair - - Double_t fQt; //value of Qt, projection of 3-mom diff to Kt - Bool_t fQtNotCalc;//flag indicating if fQt is already calculated for this pair - -/************************************************************/ -/************************************************************/ - Double_t fQInv; //half of differnece of 4-momenta - Bool_t fQInvNotCalc;//flag indicating if fQInv is already calculated for this pair - - Double_t fInvMass; //invariant mass - Bool_t fInvMassNotCalc;//flag indicating if fInvMass is already calculated for this pair - - Double_t fKt; //K == sum vector of particle's momenta. Kt transverse component - Bool_t fKtNotCalc;//flag indicating if fKt is already calculated for this pair - - Double_t fKStar; // KStar - Bool_t fKStarNotCalc;// flag indicating if fKStar is calculated - Double_t fKStarOut; // KStarOut z.ch. - Double_t fKStarSide;// KStarSide z.ch. - Double_t fKStarLong;// KStarLong z.ch. - - Bool_t fKStarCompNotCalc; // flag indicating if CalcuteKStarComp() is calculated z.ch. - - Double_t fPInv; //invariant momentum - - Double_t fQSide; //Q Side - Double_t fOut;//Q Out - Double_t fQLong;//Q Long - - Double_t fMt;//Transverse coordinate of Inv. Mass - Bool_t fMtNotCalc;//flag indicating if Mt is calculated for current pair - - Double_t fInvMassSqr;//squre of invariant mass - Bool_t fMassSqrNotCalc; //flag indicating if fInvMassSqr for this pair - void CalculateInvMassSqr(); - - Double_t fQInvL; //Qinv in longitudional direction - Bool_t fQInvLNotCalc;//flag indicating if fQInvL is calculated for current pair - void CalculateQInvL(); - - Double_t fAvarageDistance;//value of the avarage distance calculated out of track points - Bool_t fAvarageDistanceNotCalc;//flag indicating if the avarage distance is calculated - - Double_t fPxSum;// Sum of Px momenta - Double_t fPySum;// Sum of Py momenta - Double_t fPzSum;// Sum of Pz momenta - Double_t fESum;// Sum of energies - Bool_t fSumsNotCalc;//flag indicating if fPxSum,fPxSum,fPxSum and fESum is calculated for current pair - void CalculateSums(); - void CalculateKStarComp(); - - Double_t fPxDiff;// Difference of Px momenta - Double_t fPyDiff;// Difference of Px momenta - Double_t fPzDiff;// Difference of Px momenta - Double_t fEDiff;// Difference of Px momenta - Bool_t fDiffsNotCalc;//flag indicating if fPxDiff,fPxDiff,fPxDiff and fEDiff is calculated for current pair - void CalculateDiffs(); - - Double_t fGammaLCMS;//gamma of boost in LCMS - Bool_t fGammaLCMSNotCalc;//flag indicating if fGammaLCMS is calculated for current pair - /***************************************************/ - Bool_t fChanged;//flag indicating if object has been changed - - void CalculateBase(); - Double_t AvDistance(); - - - private: - ClassDef(AliAODPair,1) -}; -/****************************************************************/ -inline -void AliAODPair::SetParticles(AliVAODParticle* p1,AliVAODParticle* p2) -{ - //sets the particle to the pair - - fPart1 = p1; - fPart2 = p2; - if (fSwappedPair) //if we have Swapped (so we are not) - fSwappedPair->SetParticles(fPart2,p1); //set particles for him too - Changed(); - //and do nothing until will be asked for -} -/****************************************************************/ - -inline -void AliAODPair::Changed() -{ - // Resel all calculations (flags) - fChanged = kTRUE; - fSumsNotCalc = kTRUE; - fDiffsNotCalc = kTRUE; - fMassSqrNotCalc = kTRUE; - fInvMassNotCalc = kTRUE; - fQInvNotCalc = kTRUE; - fMtNotCalc = kTRUE; - fQSideLCMSNotCalc = kTRUE; - fQOutLCMSNotCalc = kTRUE; - fQLongLCMSNotCalc = kTRUE; - fQtLCMSNotCalc = kTRUE; - fQtNotCalc = kTRUE; - fKtNotCalc = kTRUE; - fKStarNotCalc = kTRUE; - fKStarCompNotCalc = kTRUE; - fQInvLNotCalc = kTRUE; - fGammaLCMSNotCalc = kTRUE; - fAvarageDistanceNotCalc = kTRUE; -} -/****************************************************************/ -inline -void AliAODPair::CalculateInvMassSqr() - { - //calculates square of qinv - if (fMassSqrNotCalc) - { - CalculateSums(); - - Double_t fPart12s= (fPxSum*fPxSum) + (fPySum*fPySum) + (fPzSum*fPzSum); - - fInvMassSqr=fESum*fESum-fPart12s; - - fMassSqrNotCalc = kFALSE; - } - } -/****************************************************************/ -inline -void AliAODPair::CalculateQInvL() - { - //Calculates square root of Qinv - if (fQInvLNotCalc) - { - CalculateDiffs(); - fQInvL = fEDiff*fEDiff - ( fPxDiff*fPxDiff + fPyDiff*fPyDiff + fPzDiff*fPzDiff ); - fQInvLNotCalc = kFALSE; - } - } -/****************************************************************/ -inline -void AliAODPair::CalculateSums() - { - //calculates momenta and energy sums - if(fSumsNotCalc) - { - fPxSum = fPart1->Px()+fPart2->Px(); - fPySum = fPart1->Py()+fPart2->Py(); - fPzSum = fPart1->Pz()+fPart2->Pz(); - fESum = fPart1->E() + fPart2->E(); - fSumsNotCalc = kFALSE; - } - } -/****************************************************************/ -inline -void AliAODPair::CalculateKStarComp() -{ - - if (fKStarCompNotCalc) - { - CalculateSums(); - - Double_t ptrans = fPxSum*fPxSum + fPySum*fPySum; - Double_t mtrans = fESum*fESum - fPzSum*fPzSum; - Double_t pinv = TMath::Sqrt(mtrans - ptrans); - ptrans = TMath::Sqrt(ptrans); - mtrans = TMath::Sqrt(mtrans); - - Double_t px1 = fPart1->Px(); - Double_t py1 = fPart1->Py(); - Double_t pz1 = fPart1->Pz(); - Double_t pE1 = fPart1->E(); - - // boost to LCMS - Double_t beta = fPzSum / fESum; - Double_t gamma = fESum / mtrans; - - fKStarLong = gamma * (pz1 - beta * pE1); - double temp = gamma * (pE1 - beta * pz1); - - // rotate in transverse plane - fKStarSide = (-px1*fPySum + py1*fPxSum)/ptrans; - fKStarOut = ( px1*fPxSum + py1*fPySum)/ptrans; - - // go from LCMS to CMS - gamma = mtrans/pinv; - beta = ptrans/mtrans; - fKStarOut = gamma * (fKStarOut - beta * temp); - - fKStarCompNotCalc = kFALSE; - } -} - -/****************************************************************/ -inline -void AliAODPair::CalculateDiffs() - { - //calculates momenta and energy differences - if(fDiffsNotCalc) - { - fPxDiff = fPart1->Px()-fPart2->Px(); - fPyDiff = fPart1->Py()-fPart2->Py(); - fPzDiff = fPart1->Pz()-fPart2->Pz(); - fEDiff = fPart1->E() - fPart2->E(); - fDiffsNotCalc = kFALSE; - } - } - -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaE() -{ - //returns difference of energies - return fPart1->E() - fPart2->E(); -} -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaP() -{ - //returns difference of momenta (scalars) - return fPart1->P() - fPart2->P(); -} -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaPvector() //return difference of momenta -{ - //returns legth of the momenta difference vector - CalculateDiffs(); - return TMath::Sqrt(fPxDiff*fPxDiff + fPyDiff*fPyDiff + fPzDiff*fPzDiff); -} -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaPt() - { - //returns difference of Pz - return fPart1->Pt()-fPart2->Pt(); - } -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaPx() - { - //returns difference of Pz - CalculateDiffs(); - return fPxDiff; - } -/****************************************************************/ -inline -Double_t AliAODPair::GetDeltaPy() - { - //returns difference of Py - CalculateDiffs(); - return fPyDiff; - } - -/****************************************************************/ -inline -Double_t AliAODPair::GetDeltaPz() - { - //returns difference of Pz - CalculateDiffs(); - return fPzDiff; - } -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaPhi() - { - //returns difference of Phi - Double_t phi1 = fPart1->Phi(); - Double_t phi2 = fPart2->Phi(); - Double_t diff = phi1-phi2; - if (TMath::Abs(diff) > TMath::Pi()) - { - if (phi1 > TMath::Pi()) - { - phi1-=TMath::TwoPi(); - } - else - { - phi2-=TMath::TwoPi(); - } - diff = phi1-phi2; - } - return diff; - } -/****************************************************************/ - -inline -Double_t AliAODPair::GetDeltaTheta() - { - //returns difference of Theta - return fPart1->Theta()-fPart2->Theta(); - } -/****************************************************************/ - - -#endif diff --git a/ANALYSIS/AliAODPairBaseCut.cxx b/ANALYSIS/AliAODPairBaseCut.cxx deleted file mode 100644 index 0963581737f..00000000000 --- a/ANALYSIS/AliAODPairBaseCut.cxx +++ /dev/null @@ -1,307 +0,0 @@ -// Base class AliAODPairBaseCut: -// This class defines the range of some property - pure virtual -// Property is coded by AliAODCutTypes type -// Derived classes: -// AliAODQInvCut -// AliAODKtCut -// AliAODKStarCut -// AliAODKStarOutCut -// AliAODKStarSideCut -// AliAODKStarLongCut -// AliAODQSideLCMSCut -// AliAODQOutLCMSCut -// AliAODQLongLCMSCut -// AliAODDeltaECut -// AliAODDeltaPCut -// AliAODDeltaPvectorCut -// AliAODDeltaPhiCut -// AliAODDeltaThetaCut -// AliAODCluterOverlapCut -// AliAODAvSeparationCut -// AliAODSeparationCut -// AliAODITSSeparationCut -// AliAODOutSideSameSignCut -// AliAODOutSideDiffSignCut -// AliAODLogicalOperPairCut -// AliAODOrPairCut -// AliAODAndPairCut -// Author: Piotr.Skowronski@cern.ch -#include "AliAODPairBaseCut.h" - -#include "AliTrackPoints.h" -#include "AliClusterMap.h" - - -ClassImp(AliAODPairBaseCut) -ClassImp(AliAODQInvCut) -ClassImp(AliAODKtCut) -ClassImp(AliAODQSideLCMSCut) -ClassImp(AliAODQOutLCMSCut) -ClassImp(AliAODQLongLCMSCut) -ClassImp(AliAODDeltaECut) -ClassImp(AliAODDeltaPCut) -ClassImp(AliAODDeltaPvectorCut) -ClassImp(AliAODDeltaPhiCut) -ClassImp(AliAODDeltaThetaCut) - -/******************************************************************/ -ClassImp(AliAODAvSeparationCut) - -Double_t AliAODAvSeparationCut::GetValue(AliAODPair* pair) const -{ - //chacks if avarage distance of two tracks is in given range - AliTrackPoints* tpts1 = pair->Particle1()->GetTPCTrackPoints(); - if ( tpts1 == 0x0) - {//it could be simulated pair -// Warning("GetValue","Track 1 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - - AliTrackPoints* tpts2 = pair->Particle2()->GetTPCTrackPoints(); - if ( tpts2 == 0x0) - { -// Warning("GetValue","Track 2 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - - return tpts1->AvarageDistance(*tpts2); -} -/******************************************************************/ -ClassImp(AliAODSeparationCut) - -Double_t AliAODSeparationCut::GetValue(AliAODPair* pair) const -{ - //chacks if avarage distance of two tracks is in given range - AliTrackPoints* tpts1 = pair->Particle1()->GetTPCTrackPoints(); - if ( tpts1 == 0x0) - {//it could be simulated pair -// Warning("GetValue","Track 1 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - - AliTrackPoints* tpts2 = pair->Particle2()->GetTPCTrackPoints(); - if ( tpts2 == 0x0) - { -// Warning("GetValue","Track 2 does not have Track Points. Pair NOT Passed."); - return -1.0; - } - Float_t x1=0,y1=0,z1=0; - Float_t x2=0,y2=0,z2=0; - - tpts1->PositionAt(fPoint,x1,y1,z1); - tpts2->PositionAt(fPoint,x2,y2,z2); - Double_t dx1 = x1 - x2; - Double_t dy1 = y1 - y2; - Double_t dz1 = z1 - z2; - Double_t d = TMath::Sqrt(dx1*dx1 + dy1*dy1 + dz1*dz1); - return d; -} -/******************************************************************/ - -ClassImp(AliAODITSSeparationCut) - -Bool_t AliAODITSSeparationCut::Rejected(AliAODPair* pair) const -{ - //Checks if two tracks do not cross first pixels too close to each other - //If two tracks use the same cluster in pixels they are given - //the same position what skews theta angles (both are the same) - //These guys create artificial correlation in non-id analyses - //which is positive for identical polar angles (Qlong=0) - //and negative for a little bit different theta angle (Qlong=epsilon) - //Such tracks "attracks" each other. - - AliTrackPoints* tpts1 = pair->Particle1()->GetITSTrackPoints(); - if ( tpts1 == 0x0) - {//it could be simulated pair - Warning("Pass","Track 1 does not have ITS Track Points. Pair NOT Passed."); - return kTRUE;//reject - } - - AliTrackPoints* tpts2 = pair->Particle2()->GetITSTrackPoints(); - if ( tpts2 == 0x0) - { - Warning("Pass","Track 2 does not have ITS Track Points. Pair NOT Passed."); - return kTRUE;//reject - } - Float_t x1=0.0,y1=0.0,z1=0.0,x2=0.0,y2=0.0,z2=0.0; - tpts1->PositionAt(fLayer,x1,y1,z1); - tpts2->PositionAt(fLayer,x2,y2,z2); - -// Info("Pass","rphi %f z %f",fMin,fMax); -// Info("Pass","P1: %f %f %f", x1,y1,z1); -// Info("Pass","P2: %f %f %f", x2,y2,z2); - - Double_t dz = TMath::Abs(z1-z2); - - //fMax encodes treshold valaue of distance in Z - if (dz > fMax) return kFALSE;//pair accepted - - Double_t drphi = TMath::Hypot(x1-x2,y1-y2); - - //fMin encodes treshold valaue of distance in r-phi - if (drphi > fMin) return kFALSE; - - return kTRUE;//they are too close, rejected -} -/******************************************************************/ - -ClassImp(AliAODCluterOverlapCut) - -Double_t AliAODCluterOverlapCut::GetValue(AliAODPair* pair) const -{ - //Returns Cluter Overlap Factor - //It ranges between -0.5 (in all padrows both tracks have cluters) - // and 1 (in all padrows one track has cluter and second has not) - // When Overlap Factor is 1 this pair of tracks in highly probable to be - // splitted track: one particle that is recontructed twise - - AliClusterMap* cm1 = pair->Particle1()->GetClusterMap(); - if ( cm1 == 0x0) - { - Warning("GetValue","Track 1 does not have Cluster Map. Returning -0.5."); - return -.5; - } - - AliClusterMap* cm2 = pair->Particle2()->GetClusterMap(); - if ( cm2 == 0x0) - { - Warning("GetValue","Track 2 does not have Cluster Map. Returning -0.5."); - return -.5; - } - return cm1->GetOverlapFactor(*cm2); -} -/******************************************************************/ -ClassImp(AliAODOutSideSameSignCut) - -Bool_t AliAODOutSideSameSignCut::Rejected(AliAODPair *p) const -{ - //returns kTRUE if pair DO NOT meet cut criteria - - if ( p->GetQOutLCMS()*p->GetQSideLCMS() > 0 ) - { - return kFALSE;//accpeted - } - - return kTRUE ;//rejected -} -/******************************************************************/ -ClassImp(AliAODOutSideDiffSignCut) - -Bool_t AliAODOutSideDiffSignCut::Rejected(AliAODPair *p) const -{ - //returns kTRUE if pair DO NOT meet cut criteria - - if ( p->GetQOutLCMS()*p->GetQSideLCMS() > 0 ) - { - return kTRUE;//rejected - } - - return kFALSE;//accepted -} -/******************************************************************/ -ClassImp( AliAODLogicalOperPairCut ) - -AliAODLogicalOperPairCut::AliAODLogicalOperPairCut(): - AliAODPairBaseCut(-10e10,10e10,kHbtPairCutPropNone), - fFirst(new AliAODDummyBasePairCut), - fSecond(new AliAODDummyBasePairCut) -{ - //ctor -} -/******************************************************************/ - -AliAODLogicalOperPairCut::AliAODLogicalOperPairCut(AliAODPairBaseCut* first, AliAODPairBaseCut* second): - AliAODPairBaseCut(-10e10,10e10,kHbtPairCutPropNone), - fFirst((first)?(AliAODPairBaseCut*)first->Clone():0x0), - fSecond((second)?(AliAODPairBaseCut*)second->Clone():0x0) -{ - //ctor - //note that base cuts are copied, not just pointers assigned - if ( (fFirst && fSecond) == kFALSE) - { - Fatal("AliAODLogicalOperPairCut","One of parameters is NULL!"); - } -} -/******************************************************************/ - -AliAODLogicalOperPairCut::~AliAODLogicalOperPairCut() -{ - //destructor - delete fFirst; - delete fSecond; -} -/******************************************************************/ - -Bool_t AliAODLogicalOperPairCut::AliAODDummyBasePairCut::Rejected(AliAODPair* /*pair*/) const -{ - //checks if particles passes properties defined by this cut - Warning("Pass","You are using dummy base cut! Probobly some logical cut is not set up properly"); - return kFALSE;//accept -} -/******************************************************************/ - -void AliAODLogicalOperPairCut::Streamer(TBuffer &b) -{ - // Stream all objects in the array to or from the I/O buffer. - UInt_t R__s, R__c; - if (b.IsReading()) - { - delete fFirst; - delete fSecond; - fFirst = 0x0; - fSecond = 0x0; - - b.ReadVersion(&R__s, &R__c); - TObject::Streamer(b); - b >> fFirst; - b >> fSecond; - b.CheckByteCount(R__s, R__c,AliAODLogicalOperPairCut::IsA()); - } - else - { - R__c = b.WriteVersion(AliAODLogicalOperPairCut::IsA(), kTRUE); - TObject::Streamer(b); - b << fFirst; - b << fSecond; - b.SetByteCount(R__c, kTRUE); - } -} - -/******************************************************************/ -ClassImp(AliAODOrPairCut) - -Bool_t AliAODOrPairCut::Rejected(AliAODPair * p) const -{ - //returns true when rejected - //AND operation is a little bit misleading but is correct - //User wants to build logical cuts with natural (positive) logic - //while ALIAN use inernally reverse (returns true when rejected) - if (fFirst->Rejected(p) && fSecond->Rejected(p) ) return kTRUE;//rejected (both rejected, returned kTRUE) - return kFALSE;//accepted, at least one accepted (returned kFALSE) -} -/******************************************************************/ - -ClassImp(AliAODAndPairCut) - -Bool_t AliAODAndPairCut::Rejected(AliAODPair * p) const -{ - //returns true when rejected - //OR operation is a little bit misleading but is correct - //User wants to build logical cuts with natural (positive) logic - //while ALIAN use inernally reverse (returns true when rejected) - if (fFirst->Rejected(p)) - {//first rejected - we reject - return kTRUE; - } - else - {//first accepted - if (fSecond->Rejected(p)) - {//second rejected - we reject - return kTRUE; - } - } -// if (fFirst->Rejected(p) || fSecond->Rejected(p)) return kTRUE;//rejected (any of two rejected(returned kTRUE) ) - - return kFALSE;//accepted (both accepted (returned kFALSE)) -} -/******************************************************************/ diff --git a/ANALYSIS/AliAODPairBaseCut.h b/ANALYSIS/AliAODPairBaseCut.h deleted file mode 100644 index 262604b052a..00000000000 --- a/ANALYSIS/AliAODPairBaseCut.h +++ /dev/null @@ -1,415 +0,0 @@ -#ifndef ALIAODPAIRBASECUT_H -#define ALIAODPAIRBASECUT_H -// Base class AliAODPairBaseCut: -// This class defines the range of some property - pure virtual -// Property is coded by AliAODCutTypes type -// Derived classes: -// AliAODQInvCut -// AliAODKtCut -// AliAODKStarCut -// AliAODKStarOutCut -// AliAODKStarSideCut -// AliAODKStarLongCut -// AliAODQSideLCMSCut -// AliAODQOutLCMSCut -// AliAODQLongLCMSCut -// AliAODDeltaECut -// AliAODDeltaPCut -// AliAODDeltaPvectorCut -// AliAODDeltaPhiCut -// AliAODDeltaThetaCut -// AliAODCluterOverlapCut -// AliAODAvSeparationCut -// AliAODSeparationCut -// AliAODITSSeparationCut -// AliAODOutSideSameSignCut -// AliAODOutSideDiffSignCut -// AliAODLogicalOperPairCut -// AliAODOrPairCut -// AliAODAndPairCut - -#include -#include "AliAODPair.h" - - -class AliAODPairBaseCut: public TObject -{ - public: - - enum EAODPairCutProperty - { - kHbtPairCutPropQInv, //Q invariant - kHbtPairCutPropKt, - kHbtPairCutPropKStar, - kHbtPairCutPropKStarOut, - kHbtPairCutPropKStarSide, - kHbtPairCutPropKStarLong, - kHbtPairCutPropQSideLCMS, - kHbtPairCutPropQOutLCMS, - kHbtPairCutPropQLongLCMS, - kHbtPairCutPropDeltaPhi, - kHbtPairCutPropDeltaTheta, - kHbtPairCutPropDeltaE, - kHbtPairCutPropDeltaP,//scalar difference - kHbtPairCutPropDeltaPvector,//legth of the momenta difference vector - kHbtPairCutPropDeltaPt, - kHbtPairCutPropAvSepar, - kHbtPairCutPropSepar, - kHbtPairCutPropClOverlap, - kHbtPairCutPropPixelSepar, - kHbtPairCutPropNone - }; - - AliAODPairBaseCut(Double_t min = 0.0, Double_t max = 0.0, EAODPairCutProperty prop= kHbtPairCutPropNone): - fMin(min),fMax(max),fProperty(prop){} - - virtual ~AliAODPairBaseCut(){} - - virtual Bool_t Rejected(AliAODPair* pair) const; - - void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;} - - void SetMinimum(Double_t min){fMin = min;} - void SetMaximum(Double_t max){fMax = max;} - - Double_t GetMinimum() const {return fMin;} - Double_t GetMaximum() const {return fMax;} - - EAODPairCutProperty GetProperty() const {return fProperty;} - - protected: - virtual Double_t GetValue(AliAODPair* pair) const = 0; - - Double_t fMin; // Lower boundary of the range - Double_t fMax; // Upper boundary of the range - - EAODPairCutProperty fProperty; // The property itself - - ClassDef(AliAODPairBaseCut,1) - - }; -/******************************************************************/ - -inline Bool_t AliAODPairBaseCut::Rejected(AliAODPair* pair) const -{ - //checks if pair proprty is in range - //null pointer check is made by AliAODPairCut, so here is unnecesary - - Double_t value = GetValue(pair); - if ( (value > fMin) && (value GetQInv();} - - ClassDef(AliAODQInvCut,1) - }; -/******************************************************************/ - -class AliAODKtCut: public AliAODPairBaseCut { - public: - AliAODKtCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKt){} - virtual ~AliAODKtCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKt();} - - ClassDef(AliAODKtCut,1) - }; -/******************************************************************/ - -class AliAODKStarCut: public AliAODPairBaseCut -{ - public: - AliAODKStarCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStar){} - virtual ~AliAODKStarCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStar();} - - ClassDef(AliAODKStarCut,1) -}; -/******************************************************************/ - -class AliAODKStarOutCut: public AliAODPairBaseCut -{ - public: - AliAODKStarOutCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarOut){} - virtual ~AliAODKStarOutCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarOut();} - - ClassDef(AliAODKStarOutCut,1) -}; -/******************************************************************/ -class AliAODKStarSideCut: public AliAODPairBaseCut -{ - public: - AliAODKStarSideCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarSide){} - virtual ~AliAODKStarSideCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarSide();} - - ClassDef(AliAODKStarSideCut,1) -}; - -/******************************************************************/ - -class AliAODKStarLongCut: public AliAODPairBaseCut -{ - public: - AliAODKStarLongCut(Double_t min = 0.0, Double_t max = 0.0):AliAODPairBaseCut(min,max,kHbtPairCutPropKStarLong){} - virtual ~AliAODKStarLongCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const {return pair->GetKStarLong();} - - ClassDef(AliAODKStarLongCut,1) -}; -/******************************************************************/ - -class AliAODQSideLCMSCut: public AliAODPairBaseCut -{ - public: - AliAODQSideLCMSCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropQSideLCMS){} - virtual ~AliAODQSideLCMSCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetQSideLCMS();} - - ClassDef(AliAODQSideLCMSCut,1) -}; -/******************************************************************/ - - -class AliAODQOutLCMSCut: public AliAODPairBaseCut -{ - public: - AliAODQOutLCMSCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropQOutLCMS){} - virtual ~AliAODQOutLCMSCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetQOutLCMS();} - - ClassDef(AliAODQOutLCMSCut,1) -}; -/******************************************************************/ - -class AliAODQLongLCMSCut: public AliAODPairBaseCut -{ - public: - AliAODQLongLCMSCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropQLongLCMS){} - virtual ~AliAODQLongLCMSCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetQLongLCMS();} - - ClassDef(AliAODQLongLCMSCut,1) -}; -/******************************************************************/ - -class AliAODDeltaECut: public AliAODPairBaseCut -{ - public: - AliAODDeltaECut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropDeltaE){} - virtual ~AliAODDeltaECut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetDeltaE();} - - ClassDef(AliAODDeltaECut,1) -}; -/******************************************************************/ - -class AliAODDeltaPCut: public AliAODPairBaseCut -{ - public: - AliAODDeltaPCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropDeltaP){} - virtual ~AliAODDeltaPCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetDeltaP();} - - ClassDef(AliAODDeltaPCut,1) -}; -/******************************************************************/ - -class AliAODDeltaPvectorCut: public AliAODPairBaseCut -{ - public: - AliAODDeltaPvectorCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropDeltaPvector){} - virtual ~AliAODDeltaPvectorCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return pair->GetDeltaPvector();} - - ClassDef(AliAODDeltaPvectorCut,1) -}; -/******************************************************************/ - -class AliAODDeltaPhiCut: public AliAODPairBaseCut -{ - public: - AliAODDeltaPhiCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropDeltaPhi){} - virtual ~AliAODDeltaPhiCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return TMath::Abs(pair->GetDeltaPhi());} - - ClassDef(AliAODDeltaPhiCut,1) -}; -/******************************************************************/ - -class AliAODDeltaThetaCut: public AliAODPairBaseCut -{ - public: - AliAODDeltaThetaCut(Double_t min = 0.0, Double_t max = 0.0): - AliAODPairBaseCut(min,max,kHbtPairCutPropDeltaTheta){} - virtual ~AliAODDeltaThetaCut(){} - protected: - virtual Double_t GetValue(AliAODPair* pair) const - {return TMath::Abs(pair->GetDeltaTheta());} - - ClassDef(AliAODDeltaThetaCut,1) -}; -/******************************************************************/ - -class AliAODCluterOverlapCut: public AliAODPairBaseCut -{ - public: - AliAODCluterOverlapCut(Double_t min = 0.0, Double_t max = 1e5): - AliAODPairBaseCut(min,max,kHbtPairCutPropClOverlap){} - virtual ~AliAODCluterOverlapCut(){} - - protected: - virtual Double_t GetValue(AliAODPair* pair) const; - ClassDef(AliAODCluterOverlapCut,1) -}; -/******************************************************************/ - -class AliAODAvSeparationCut: public AliAODPairBaseCut -{ - public: - AliAODAvSeparationCut(Double_t min = 0.0, Double_t max = 1e5): - AliAODPairBaseCut(min,max,kHbtPairCutPropAvSepar){} - virtual ~AliAODAvSeparationCut(){} - - protected: - virtual Double_t GetValue(AliAODPair* pair) const; - ClassDef(AliAODAvSeparationCut,1) -}; -/******************************************************************/ - -class AliAODSeparationCut: public AliAODPairBaseCut -{ - public: - AliAODSeparationCut(Double_t min = 0.0, Double_t max = 1e5, Int_t point = 0): - AliAODPairBaseCut(min,max,kHbtPairCutPropSepar),fPoint(point){} - virtual ~AliAODSeparationCut(){} - - protected: - Int_t fPoint;//index of the point that distance should be measured - virtual Double_t GetValue(AliAODPair* pair) const; - ClassDef(AliAODSeparationCut,1) -}; -/******************************************************************/ - -class AliAODITSSeparationCut: public AliAODPairBaseCut -{ -//Anti merging cut for the first layer of pixels - public: - AliAODITSSeparationCut(Int_t layer = 0, Double_t deltarphi = 0.01, Double_t deltaz = 0.08): - AliAODPairBaseCut(deltarphi,deltaz,kHbtPairCutPropPixelSepar),fLayer(layer){} - virtual ~AliAODITSSeparationCut(){} - Bool_t Rejected(AliAODPair* pair) const; - Int_t GetLayer() const {return fLayer;} - protected: - Int_t fLayer;//index of the layer that distance should be measured 0: 1st pixels - virtual Double_t GetValue(AliAODPair* /*pair*/) const {return 0.0;}//not used - ClassDef(AliAODITSSeparationCut,1) -}; -/******************************************************************/ - -class AliAODOutSideSameSignCut: public AliAODPairBaseCut -{ - public: - AliAODOutSideSameSignCut(){} - virtual ~AliAODOutSideSameSignCut(){} - virtual Bool_t Rejected(AliAODPair *p) const; - protected: - virtual Double_t GetValue(AliAODPair* /*pair*/) const {return 0.0;} - ClassDef(AliAODOutSideSameSignCut,1) -}; -/******************************************************************/ - -class AliAODOutSideDiffSignCut: public AliAODPairBaseCut -{ - public: - AliAODOutSideDiffSignCut(){} - virtual ~AliAODOutSideDiffSignCut(){} - virtual Bool_t Rejected(AliAODPair *p) const; - protected: - virtual Double_t GetValue(AliAODPair* /*pair*/) const {return 0.0;} - ClassDef(AliAODOutSideDiffSignCut,1) -}; -/******************************************************************/ - -class AliAODLogicalOperPairCut: public AliAODPairBaseCut - { - public: - AliAODLogicalOperPairCut(); - AliAODLogicalOperPairCut(AliAODPairBaseCut* first, AliAODPairBaseCut* second); - virtual ~AliAODLogicalOperPairCut(); - protected: - Double_t GetValue(AliAODPair * /*pair*/) const {MayNotUse("GetValue");return 0.0;} - - AliAODPairBaseCut* fFirst; //second cut - AliAODPairBaseCut* fSecond; //first cut - private: - AliAODLogicalOperPairCut(const AliAODLogicalOperPairCut & src); - AliAODLogicalOperPairCut & operator=(const AliAODLogicalOperPairCut & src); - class AliAODDummyBasePairCut: public AliAODPairBaseCut - { - Double_t GetValue(AliAODPair* /*pair*/) const {return 0.0;} - Bool_t Rejected(AliAODPair* /*pair*/) const; - }; - - ClassDef(AliAODLogicalOperPairCut,1) - }; -/******************************************************************/ - -class AliAODOrPairCut: public AliAODLogicalOperPairCut -{ - public: - AliAODOrPairCut(){} - AliAODOrPairCut(AliAODPairBaseCut* first, AliAODPairBaseCut* second):AliAODLogicalOperPairCut(first,second){} - virtual ~AliAODOrPairCut(){} - Bool_t Rejected(AliAODPair *p) const; - ClassDef(AliAODOrPairCut,1) -}; -/******************************************************************/ - -class AliAODAndPairCut: public AliAODLogicalOperPairCut -{ - public: - AliAODAndPairCut(){} - AliAODAndPairCut(AliAODPairBaseCut* first, AliAODPairBaseCut* second):AliAODLogicalOperPairCut(first,second){} - virtual ~AliAODAndPairCut(){} - Bool_t Rejected(AliAODPair *p) const; - ClassDef(AliAODAndPairCut,1) -}; - -#endif diff --git a/ANALYSIS/AliAODPairCut.cxx b/ANALYSIS/AliAODPairCut.cxx deleted file mode 100644 index 258cf9ca946..00000000000 --- a/ANALYSIS/AliAODPairCut.cxx +++ /dev/null @@ -1,402 +0,0 @@ -#include "AliAODPairCut.h" -/* $Id$ */ - -///////////////////////////////////////////////////////////////////////// -// -// Class AliAODPairCut: -// implements cut on the pair of particles -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// Author: Piotr.Skowronski@cern.ch -//------------------------------------------------------------------- - -#include "AliAODPair.h" -#include "AliAODParticleCut.h" -//#include "AliTrackPoints.h" -//#include "AliClusterMap.h" - -ClassImp(AliAODPairCut) -const Int_t AliAODPairCut::fgkMaxCuts = 50; -/**********************************************************/ - -AliAODPairCut::AliAODPairCut(): - fFirstPartCut(new AliAODParticleEmptyCut()), //empty cuts - fSecondPartCut(new AliAODParticleEmptyCut()), //empty cuts - fCuts(new AliAODPairBaseCut*[fgkMaxCuts]), - fNCuts(0) -{ - //constructor - - for (Int_t i = 0;iClone()), - fSecondPartCut((AliAODParticleCut*)in.fSecondPartCut->Clone()), - fCuts(new AliAODPairBaseCut*[fgkMaxCuts]), - fNCuts(in.fNCuts) -{ - //copy constructor - - - for (Int_t i = 0;iClone();//create new object (clone) and rember pointer to it - } -} -/**********************************************************/ - -AliAODPairCut& AliAODPairCut::operator=(const AliAODPairCut& in) -{ - //assignment operator - fCuts = new AliAODPairBaseCut*[fgkMaxCuts]; - fNCuts = in.fNCuts; - - fFirstPartCut = (AliAODParticleCut*)in.fFirstPartCut->Clone(); - fSecondPartCut = (AliAODParticleCut*)in.fSecondPartCut->Clone(); - - for (Int_t i = 0;iClone();//create new object (clone) and rember pointer to it - } - return * this; -} -/**********************************************************/ - -AliAODPairCut::~AliAODPairCut() -{ - //destructor - if (fFirstPartCut != fSecondPartCut) - { - delete fSecondPartCut; - } - delete fFirstPartCut; - for (Int_t i = 0;iRejected( pair->Particle1()) ) || - ( fSecondPartCut->Rejected(pair->Particle2()) ) ) - { - return kTRUE; - } - return PassPairProp(pair); -} -/**********************************************************/ - -Bool_t AliAODPairCut::PassPairProp(AliAODPair* pair) const -{ - //methods which checks if given pair meets all criteria of the cut - //if it meets returns FALSE - //if NOT returns TRUE - //examine all base pair cuts - for (Int_t i = 0;iRejected(pair)) ) return kTRUE; //if one of the cuts reject, then reject - } - return kFALSE; -} -/**********************************************************/ - -void AliAODPairCut::Print() -{ - //Prints the cut - for (Int_t i = 0;iDump(); - } -} -/**********************************************************/ - -void AliAODPairCut::SetFirstPartCut(AliAODParticleCut* cut) -{ - // set cut for the first particle - if(!cut) - { - Error("SetFirstPartCut","argument is NULL"); - return; - } - delete fFirstPartCut; - fFirstPartCut = (AliAODParticleCut*)cut->Clone(); - -} -/**********************************************************/ - -void AliAODPairCut::SetSecondPartCut(AliAODParticleCut* cut) -{ - // set cut for the second particle - if(!cut) - { - Error("SetSecondPartCut","argument is NULL"); - return; - } - delete fSecondPartCut; - fSecondPartCut = (AliAODParticleCut*)cut->Clone(); -} -/**********************************************************/ - -void AliAODPairCut::SetPartCut(AliAODParticleCut* cut) -{ - //sets the the same cut on both particles - if(!cut) - { - Error("SetFirstPartCut","argument is NULL"); - return; - } - if (fFirstPartCut == fSecondPartCut) fSecondPartCut = 0x0; - - delete fFirstPartCut; - fFirstPartCut = (AliAODParticleCut*)cut->Clone(); - - delete fSecondPartCut; //even if null should not be harmful - fSecondPartCut = fFirstPartCut; -} -/**********************************************************/ - -void AliAODPairCut::SetQInvRange(Double_t min, Double_t max) -{ - // set range of accepted invariant masses - AliAODQInvCut* cut= (AliAODQInvCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQInv); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODQInvCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetQOutLCMSRange(Double_t min, Double_t max) -{ - // set range of accepted QOut in CMS - AliAODQOutLCMSCut* cut= (AliAODQOutLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQOutLCMS); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODQOutLCMSCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetQSideLCMSRange(Double_t min, Double_t max) -{ - // set range of accepted QSide in CMS - AliAODQSideLCMSCut* cut= (AliAODQSideLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQSideLCMS); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODQSideLCMSCut(min,max); -} - -/**********************************************************/ - -void AliAODPairCut::SetQLongLCMSRange(Double_t min, Double_t max) -{ - // set range of accepted QLong in CMS - AliAODQLongLCMSCut* cut= (AliAODQLongLCMSCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropQLongLCMS); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODQLongLCMSCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetDeltaERange(Double_t min, Double_t max) -{ - // set range of accepted DeltaE - AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropDeltaE); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODDeltaECut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetDeltaPRange(Double_t min, Double_t max) -{ - // set range of accepted DeltaP - AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropDeltaP); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODDeltaPCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetKtRange(Double_t min, Double_t max) -{ - // set range of accepted Kt (avarage transverse pair momentum) - AliAODKtCut* cut= (AliAODKtCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKt); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODKtCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetKStarRange(Double_t min, Double_t max) -{ - // set range of accepted KStar (invariant pair momentum difference (fourvector)) - AliAODKStarCut* cut= (AliAODKStarCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStar); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODKStarCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetKStarOutRange(Double_t min, Double_t max) -{ - // set range of accepted KStar (invariant pair momentum difference (fourvector)) - AliAODKStarOutCut* cut= (AliAODKStarOutCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarOut); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODKStarOutCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetKStarSideRange(Double_t min, Double_t max) -{ - // set range of accepted KStar (invariant pair momentum difference (fourvector)) - AliAODKStarSideCut* cut= (AliAODKStarSideCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarSide); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODKStarSideCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetKStarLongRange(Double_t min, Double_t max) -{ - // set range of accepted KStar (invariant pair momentum difference (fourvector)) - AliAODKStarLongCut* cut= (AliAODKStarLongCut*)FindCut(AliAODPairBaseCut::kHbtPairCutPropKStarLong); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODKStarLongCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetAvSeparationRange(Double_t min, Double_t max) -{ - //sets avarage separation cut ->Anti-Merging cut - AliAODPairBaseCut* cut= FindCut(AliAODPairBaseCut::kHbtPairCutPropAvSepar); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODAvSeparationCut(min,max); -} -/**********************************************************/ - -void AliAODPairCut::SetITSSeparation(Int_t layer, Double_t drphi, Double_t dz) -{ - //Anti-Merging Cut for first pixel layer - AliAODITSSeparationCut* cut= dynamic_cast(FindCut(AliAODPairBaseCut::kHbtPairCutPropPixelSepar)); - if(cut) - { - if (layer == cut->GetLayer()) - { - cut->SetRange(drphi,dz);//In this cut fMin is drphi, and fMax dz - return; - } - } - fCuts[fNCuts++] = new AliAODITSSeparationCut(layer,drphi,dz); -// Info("SetITSSeparation","Added %d at address %#x",fNCuts-1,fCuts[fNCuts-1]); -} -/**********************************************************/ - -void AliAODPairCut::SetClusterOverlapRange(Double_t min,Double_t max) -{ - //sets cluster overlap factor cut ->Anti-Splitting cut - //cluster overlap factor ranges between - // -0.5 (in all padrows both tracks have cluters) - // and 1 (in all padrows one track has cluter and second has not) - // When Overlap Factor is 1 this pair of tracks in highly probable to be - // splitted track: one particle that is recontructed twise - // STAR uses range from -0.5 to 0.6 - - AliAODPairBaseCut* cut= FindCut(AliAODPairBaseCut::kHbtPairCutPropClOverlap); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODCluterOverlapCut(min,max); -} -/**********************************************************/ - -AliAODPairBaseCut* AliAODPairCut::FindCut(AliAODPairBaseCut::EAODPairCutProperty property) -{ - // Find the cut corresponding to "property" - for (Int_t i = 0;iGetProperty() == property) - return fCuts[i]; //we found the cut we were searching for - } - - return 0x0; //we did not found this cut - -} -/**********************************************************/ - -void AliAODPairCut::Streamer(TBuffer &b) -{ - // Stream all objects in the array to or from the I/O buffer. - - UInt_t R__s, R__c; - if (b.IsReading()) - { - Version_t v = b.ReadVersion(&R__s, &R__c); - if (v > -1) - { - delete fFirstPartCut; - delete fSecondPartCut; - fFirstPartCut = 0x0; - fSecondPartCut = 0x0; - TObject::Streamer(b); - b >> fFirstPartCut; - b >> fSecondPartCut; - b >> fNCuts; - for (Int_t i = 0;i> fCuts[i]; - } - } - b.CheckByteCount(R__s, R__c,AliAODPairCut::IsA()); - } - else - { - R__c = b.WriteVersion(AliAODPairCut::IsA(), kTRUE); - TObject::Streamer(b); - -// printf("Streamer Cut 1 %#x Cut 2 %#x\n",fFirstPartCut,fSecondPartCut); -// this->Dump(); -// fFirstPartCut->Dump(); - - b << fFirstPartCut; - b << fSecondPartCut; - b << fNCuts; - for (Int_t i = 0;i -#include "AliAODPairBaseCut.h" - -class AliAODParticleCut; -class AliAODPairBaseCut; - -/******************************************************************/ - -class AliAODPairCut: public TNamed -{ - public: - AliAODPairCut(); - AliAODPairCut(const AliAODPairCut& in); - AliAODPairCut& operator = (const AliAODPairCut& in); - - virtual ~AliAODPairCut(); - virtual Bool_t Rejected(AliAODPair* pair) const; - virtual Bool_t PassPairProp(AliAODPair* pair) const; - - virtual Bool_t IsEmpty() const {return kFALSE;} - void SetFirstPartCut(AliAODParticleCut* cut); //sets the cut on the first particle - void SetSecondPartCut(AliAODParticleCut* cut); //sets the cut on the second particle - - void SetPartCut(AliAODParticleCut* cut);//sets the the same cut on both particles - - virtual void AddBasePairCut(AliAODPairBaseCut* cut); - - virtual void Print(const Option_t * opt) const {TNamed::Print(opt);} - virtual void Print(); - - void SetDeltaERange(Double_t min, Double_t max); - void SetDeltaPRange(Double_t min, Double_t max); - - void SetQInvRange(Double_t min, Double_t max); - void SetKtRange(Double_t min, Double_t max); - void SetKStarRange(Double_t min, Double_t max); - void SetKStarOutRange(Double_t min, Double_t max); - void SetKStarSideRange(Double_t min, Double_t max); - void SetKStarLongRange(Double_t min, Double_t max); - void SetQOutLCMSRange(Double_t min, Double_t max); - void SetQSideLCMSRange(Double_t min, Double_t max); - void SetQLongLCMSRange(Double_t min, Double_t max); - void SetAvSeparationRange(Double_t min,Double_t max = 10e5);//Anti-Merging Cut - void SetITSSeparation(Int_t layer, Double_t drphi=0.01,Double_t dz = 0.08);//Anti-Merging Cut for first pixel layer - void SetClusterOverlapRange(Double_t min,Double_t max);//Anti-Splitting Max range -0.5 1.0 - - AliAODParticleCut* GetFirstPartCut() const {return fFirstPartCut;} - AliAODParticleCut* GetSecondPartCut() const {return fSecondPartCut;} - - protected: - AliAODParticleCut* fFirstPartCut;//cut on first particle in pair - AliAODParticleCut* fSecondPartCut;//cut on second particle in pair - - AliAODPairBaseCut** fCuts; //! array of poiters to base cuts - Int_t fNCuts;//Number of cuts in fCuts array - - - AliAODPairBaseCut* FindCut(AliAODPairBaseCut::EAODPairCutProperty cut); - private: - static const Int_t fgkMaxCuts; // Max number of cuts - ClassDef(AliAODPairCut,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -class AliAODPairEmptyCut: public AliAODPairCut -{ - //Empty - it passes possitively all particles - it means returns always False - //Class describing cut on pairs of particles - public: - AliAODPairEmptyCut(){}; - AliAODPairEmptyCut(const AliAODPairEmptyCut& in):AliAODPairCut(in){}; - virtual ~AliAODPairEmptyCut(){}; - - Bool_t Rejected(AliAODPair*) const {return kFALSE;} //accpept everything - Bool_t IsEmpty() const {return kTRUE;} - - ClassDef(AliAODPairEmptyCut,1) -}; - - -#endif diff --git a/ANALYSIS/AliAODParticle.cxx b/ANALYSIS/AliAODParticle.cxx deleted file mode 100644 index ea6f06e713a..00000000000 --- a/ANALYSIS/AliAODParticle.cxx +++ /dev/null @@ -1,487 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//___________________________________________________________ -///////////////////////////////////////////////////////////// -// -// class AliAODParticle -// -// Ali HBT Particle: simplified class TParticle -// Simplified in order to minimize the size of object -// - we want to keep a lot of such a objects in memory -// Additionaly adjusted for HBT Analysies purposes -// + pointer to Track Points -// + pointer to Cluster Map(s) -// -// Piotr.Skowronski@cern.ch -// -///////////////////////////////////////////////////////////// -#include - -#include "AliAODParticle.h" -#include "AliClusterMap.h" -#include "AliLog.h" -#include "AliTrackPoints.h" - -ClassImp(AliAODParticle) - -//______________________________________________________________________________ -AliAODParticle::AliAODParticle(): - fPdgIdx(0), fIdxInEvent(0),fNPids(0),fPids(0x0),fPidProb(0x0), - fCalcMass(0),fPx(0), fPy(0),fPz(0),fE(0), fVx(0), fVy(0),fVz(0),fVt(0), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{//empty particle -} -//______________________________________________________________________________ - -AliAODParticle::AliAODParticle(Int_t pdg, Int_t idx, - Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time): - fPdgIdx(0), fIdxInEvent(idx),fNPids(0),fPids(0x0),fPidProb(0x0), - fCalcMass(0), - fPx(px), fPy(py),fPz(pz),fE(etot), - fVx(vx), fVy(vy),fVz(vz),fVt(time), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{ -//mormal constructor - SetPdgCode(pdg); - if (GetPDG()) { - fCalcMass = GetPDG()->Mass(); - } else { - Double_t a2 = fE*fE -fPx*fPx -fPy*fPy -fPz*fPz; - if (a2 >= 0) fCalcMass = TMath::Sqrt(a2); - else fCalcMass = -TMath::Sqrt(-a2); - } -} -//______________________________________________________________________________ - -AliAODParticle::AliAODParticle(Int_t pdg, Float_t prob, Int_t idx, - Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time): - fPdgIdx(0), fIdxInEvent(idx),fNPids(0),fPids(0x0),fPidProb(0x0), - fCalcMass(0), - fPx(px), fPy(py),fPz(pz),fE(etot), - fVx(vx), fVy(vy),fVz(vz),fVt(time), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{ -//mormal constructor - SetPdgCode(pdg,prob); - if (GetPDG()) { - fCalcMass = GetPDG()->Mass(); - } else { - Double_t a2 = fE*fE -fPx*fPx -fPy*fPy -fPz*fPz; - if (a2 >= 0) fCalcMass = TMath::Sqrt(a2); - else fCalcMass = -TMath::Sqrt(-a2); - } -} -//______________________________________________________________________________ - -AliAODParticle::AliAODParticle(const AliAODParticle& in): - AliVAODParticle(in), - fPdgIdx(in.fPdgIdx), fIdxInEvent(in.fIdxInEvent), - fNPids(in.fNPids),fPids(new Int_t[fNPids]),fPidProb(new Float_t[fNPids]), - fCalcMass(in.GetCalcMass()), - fPx(in.Px()),fPy(in.Py()),fPz(in.Pz()),fE(in.E()), - fVx(in.Vx()),fVy(in.Vy()),fVz(in.Vz()),fVt(in.T()), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{ - //Copy constructor -// Info("AliAODParticle(const AliAODParticle& in)",""); - for(Int_t i = 0; iClone(); - if (in.fITSTrackPoints) - fITSTrackPoints = (AliTrackPoints*)in.fITSTrackPoints->Clone(); - if (in.fClusterMap) - fClusterMap = (AliClusterMap*)in.fClusterMap->Clone(); -} -//______________________________________________________________________________ - -AliAODParticle::AliAODParticle(const AliVAODParticle& in): - AliVAODParticle(in), - fPdgIdx(0), fIdxInEvent(in.GetUID()), - fNPids(0),fPids(0x0),fPidProb(0x0), - fCalcMass(-1.0), - fPx(in.Px()),fPy(in.Py()),fPz(in.Pz()),fE(in.E()), - fVx(in.Vx()),fVy(in.Vy()),fVz(in.Vz()),fVt(in.T()), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{ - //Copy constructor -// Info("AliAODParticle(const AliVAODParticle& in)",""); - for(Int_t i = 0; iClone()); - - tpts = in.GetITSTrackPoints(); - if (tpts) SetITSTrackPoints((AliTrackPoints*)tpts->Clone()); - - AliClusterMap* clmap = in.GetClusterMap(); - if (clmap) SetClusterMap((AliClusterMap*)clmap->Clone()); -} -//______________________________________________________________________________ - -AliAODParticle::AliAODParticle(const TParticle &p,Int_t idx): - fPdgIdx(0), fIdxInEvent(idx), - fNPids(0),fPids(0x0),fPidProb(0x0), - fCalcMass(p.GetCalcMass()), - fPx(p.Px()),fPy(p.Py()),fPz(p.Pz()),fE(p.Energy()), - fVx(p.Vx()),fVy(p.Vy()),fVz(p.Vz()),fVt(p.T()), - fTPCTrackPoints(0x0),fITSTrackPoints(0x0),fClusterMap(0x0) -{ - //all copied in the initialization - SetPdgCode(p.GetPdgCode()); -} -//______________________________________________________________________________ - -AliAODParticle::~AliAODParticle() -{ -//dtor - delete [] fPids; - delete [] fPidProb; - delete fTPCTrackPoints; - delete fITSTrackPoints; - delete fClusterMap; -} -//______________________________________________________________________________ - -void AliAODParticle::Clear(Option_t*) -{ -//Must be implemented in order to store this object in Clones Array - delete [] fPids; - delete [] fPidProb; - delete fTPCTrackPoints; - delete fITSTrackPoints; - delete fClusterMap; - - fPids = 0x0; - fPidProb = 0x0; - fTPCTrackPoints = 0x0; - fITSTrackPoints = 0x0; - fClusterMap = 0x0; -} -//______________________________________________________________________________ - -AliAODParticle& AliAODParticle::operator=(const AliAODParticle& in) -{ -//assigment operator -// Info("operator=(const AliAODParticle& in)","AliAODParticle"); - if (&in != this) { - AliVAODParticle::operator=(in); - fNPids = in.fNPids; - delete [] fPids; - delete [] fPidProb; - fPids = new Int_t[fNPids]; - fPidProb = new Float_t[fNPids]; - for (Int_t i = 0; i < fNPids;i++) - { - fPids[i] = in.fPids[i]; - fPidProb[i] = in.fPidProb[i]; - } - - fPdgIdx = in.fPdgIdx; - fIdxInEvent = in.fIdxInEvent; - fCalcMass = in.GetCalcMass(); - fPx = in.Px(); - fPy = in.Py(); - fPz = in.Pz(); - fE = in.E(); - fVx = in.Vx(); - fVy = in.Vy(); - fVz = in.Vz(); - fVt = in.T(); - - delete fTPCTrackPoints; - fTPCTrackPoints = (in.fTPCTrackPoints)?(AliTrackPoints*)in.fTPCTrackPoints->Clone():0x0; - - delete fITSTrackPoints; - fITSTrackPoints = (in.fITSTrackPoints)?(AliTrackPoints*)in.fITSTrackPoints->Clone():0x0; - - delete fClusterMap; - fClusterMap = (in.fClusterMap)?(AliClusterMap*)in.fClusterMap->Clone():0x0; - } - return *this; -} -//______________________________________________________________________________ - -void AliAODParticle::SetPdgCode(Int_t pdg,Float_t prob) -{ -//Set PDG Code - SetPIDprobability(pdg,prob); - fPdgIdx = GetPidSlot(pdg); -} - -//______________________________________________________________________________ -void AliAODParticle::SetPIDprobability(Int_t pdg, Float_t prob) -{ -//Sets another pdg code and corresponding probabilty -//Ids are set in decreasing order -//Check if total probability is not overcoming unity is performed -//in case, warning is printed - AliDebug(9,Form("SetPIDprobability","Setting PID %d prob %f",pdg,prob)); - - Float_t totprob = 0.0;//sums up probabilities - Int_t idx = GetPidSlot(pdg); - Int_t i; - - if (idx > -1) - { - fPidProb[idx] = prob; - for (i = 0; i < fNPids;i++) totprob+=fPidProb[i]; - if (totprob > (1.0+0.000001)) - { - Warning("SetPIDprobability","Total probability greater than unity (%f)",totprob); - } - AliDebug(9,Form("Current Total probability: %f",totprob)); - return; - } - - Int_t currentpid = GetPdgCode(); - fNPids++; - Float_t* aPidProbNew = new Float_t[fNPids]; - Int_t* aPidsNew = new Int_t[fNPids]; - - for (i = 0; i < fNPids-1;i++)//find a slot - { - if ( fPidProb[i] > prob) - { - AliDebug(9,Form("Copying entry %d",i)); - aPidProbNew[i] = fPidProb[i]; - aPidsNew[i] = fPids[i]; - totprob+=fPidProb[i]; - } - else break; - } - - AliDebug(9,Form("SetPID","Setting new PID on entry %d",i)); - aPidProbNew[i] = prob; - aPidsNew[i] = pdg; - totprob+=prob; - - - for (Int_t j = fNPids-1; j > i ;j--)//copy rest of old arays - { - AliDebug(9,Form("SetPID","Copying from old entry %d to new entry %d",j-1,j)); - aPidProbNew[j] = fPidProb[j-1]; - aPidsNew[j] = fPids[j-1]; - totprob+=fPidProb[j-1]; - } - - delete [] fPidProb; - delete [] fPids; - - fPidProb = aPidProbNew; - fPids = aPidsNew; - - fPdgIdx = GetPidSlot(currentpid); - if (fPdgIdx == -1) fPdgIdx = 0; - - if (totprob > (1.0+0.000001))//space for numerical error - { - Warning("SetId","Total probability is greater than unity (%f)!!!",totprob); - Print(); - } -} -//______________________________________________________________________________ - -Float_t AliAODParticle::GetPIDprobability(Int_t pdg) const -{ -//Returns probability that this particle is the type of pdg - Int_t idx = GetPidSlot(pdg); - if (idx < 0) return 0.0;//such pid was not specified for this particle - return fPidProb[idx]; -} -//______________________________________________________________________________ - -const Char_t* AliAODParticle::GetName() const -{ - //returns name of this particle - static char def[4] = "XXX"; - const TParticlePDG *ap = TDatabasePDG::Instance()->GetParticle(GetPdgCode()); - if (ap) return ap->GetName(); - else return def; -} -//______________________________________________________________________________ - -Int_t AliAODParticle::GetPidSlot(Int_t pdg) const -{ - //returns position of the given PID in fPids (and fPidProb) array. - if (fPids == 0x0) return -1; - for (Int_t i = 0; i< fNPids; i++) - { - if (fPids[i] == pdg) return i; - } - return -1; -} -//______________________________________________________________________________ - -Int_t AliAODParticle::GetNthPid(Int_t idx) const -{ - //returns PID sitting on slot idx in fPids - if ( (idx < 0) || (idx >= fNPids) ) - { - Error("GetNthPid","Out Of Bounds"); - return 0; - } - return fPids[idx]; -} -//______________________________________________________________________________ - -Float_t AliAODParticle::GetNthPidProb(Int_t idx) const -{ - //returns PID sitting on slot idx in fPidProb - if ( (idx < 0) || (idx >= fNPids) ) - { - Error("GetNthPid","Out Of Bounds"); - return 0; - } - return fPidProb[idx]; -} -//______________________________________________________________________________ - -void AliAODParticle::Print(const Option_t * /*opt*/) const -{ -//prints information about particle - printf("____________________________________________________\n"); - printf("Idx: %d PID: %d Name: ",fIdxInEvent,GetPdgCode()); - TParticlePDG *pdgp = TDatabasePDG::Instance()->GetParticle(GetPdgCode()); - if (pdgp) - { - printf("%s Mass: %f\n",pdgp->GetName(),pdgp->Mass()); - } - else - { - printf("Not known\n"); - } - - printf("Px: %+f Py: %+f Pz: %+f E: %+f Calculated Mass: %f\nVx: %+f Vy: %+f Vz: %+f T: %+f\n", - Px(),Py(),Pz(),E(),GetCalcMass(),Vx(),Vy(),Vz(),T()); - - for (Int_t i = 0; i < fNPids; i++) - { - printf("# %d PID: %d Probability %f name ",i,fPids[i],fPidProb[i]); - const TParticlePDG *ap = TDatabasePDG::Instance()->GetParticle(fPids[i]); - if (ap) - { - printf("%s Mass %f\n",ap->GetName(),ap->Mass()); - } - else - { - printf("Not known\n"); - } - } - - if (fITSTrackPoints) fITSTrackPoints->Print(); - if (fTPCTrackPoints) fTPCTrackPoints->Print(); - -} - -//______________________________________________________________________________ - -//void AliAODParticle::Streamer(TBuffer &b) -//{ -// // Stream all objects in the array to or from the I/O buffer. -// UInt_t R__s, R__c; -// Int_t i; -// if (b.IsReading()) -// { -// delete [] fPids; -// delete [] fPidProb; -// -// Version_t v = b.ReadVersion(&R__s, &R__c); -// if (v == 1) -// { -// AliAODParticle::Class()->ReadBuffer(b, this); -// } -// else -// { -// TObject::Streamer(b); -// b >> fPdgIdx; -// b >> fIdxInEvent; -// -// b >> fNPids; -// Int_t* fPids = new Int_t[fNPids]; -// Float_t* fPidProb = new Float_t[fNPids]; -// for (i = 0;i> fPids[i]; -// } -// for (i = 0;i> fPidProb[i]; -// } -// b >> fCalcMass; -// -// b >> fPx; -// b >> fPy; -// b >> fPz; -// b >> fE; -// -// b >> fVx; -// b >> fVy; -// b >> fVz; -// b >> fVt; -// Info("Streamer","Read data"); -// Print(); -// } -// -// b.CheckByteCount(R__s, R__c,AliAODParticle::IsA()); -// } -// else -// { -// R__c = b.WriteVersion(AliAODParticle::IsA(), kTRUE); -// TObject::Streamer(b); -// Info("Streamer","Read data"); -// Print(); -// -// b << fPdgIdx; -// b << fIdxInEvent; -// b << fNPids; -// for (i = 0;i -#include -#include - - -class TParticle; -class AliTrackPoints; -class AliClusterMap; - -class AliAODParticle: public AliVAODParticle -{ -public: - // ****** constructors and destructor - AliAODParticle(); - AliAODParticle(const AliAODParticle& in); - AliAODParticle(const AliVAODParticle& in); - - AliAODParticle(Int_t pdg, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time); - - AliAODParticle(Int_t pdg, Float_t prob, Int_t idx, Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time); - - AliAODParticle(const TParticle& p, Int_t idx); - - virtual ~AliAODParticle(); - - AliAODParticle& operator=(const AliAODParticle& in); - - void Clear(Option_t* /*option*/ ="");//Must be implemented in order to store this object in Clones Array - - void SetPIDprobability(Int_t pdg, Float_t prob = 1.0); - Float_t GetPIDprobability(Int_t pdg) const; - Double_t GetProbability(Int_t pdg) const {return GetPIDprobability(pdg);} - - Int_t GetMostProbable() const { return (fPids)?fPids[0]:0;} - - Int_t GetPdgCode () const { return (fPids)?fPids[fPdgIdx]:0;} - - Double_t GetPidProb () const { return (fPidProb)?fPidProb[fPdgIdx]:0;} - - Int_t GetUID () const { return fIdxInEvent;} - Int_t GetNumberOfPids () const { return fNPids;} - Int_t GetNthPid (Int_t idx) const; - Float_t GetNthPidProb (Int_t idx) const; - - void SetPdgCode(Int_t pdg, Float_t prob = 1.0); - Double_t GetCalcMass () const { return fCalcMass; } - Double_t Mass () const { return (GetPDG())?GetPDG()->Mass():-1.;} - - - TParticlePDG* GetPDG () const {return TDatabasePDG::Instance()->GetParticle(GetPdgCode());} - Double_t Charge () const { return (GetPDG())?GetPDG()->Charge():1.e8;} - - Int_t Beauty () { return GetPDG()->Beauty(); } - Int_t Charm () { return GetPDG()->Charm(); } - Int_t Strangeness () { return GetPDG()->Strangeness();} - void ProductionVertex(TLorentzVector &v) const { v.SetXYZT(fVx,fVy,fVz,fVt);} - - - Double_t Vx () const { return fVx;} - Double_t Vy () const { return fVy;} - Double_t Vz () const { return fVz;} - Double_t T () const { return fVt;} - - Double_t Px () const { return fPx; } //X coordinate of the momentum - Double_t Py () const { return fPy; } //Y coordinate of the momentum - Double_t Pz () const { return fPz; } //Z coordinate of the momentum - Double_t P () const //momentum - { return TMath::Sqrt(fPx*fPx+fPy*fPy+fPz*fPz); } - - void Momentum(TLorentzVector &v) const { v.SetPxPyPzE(fPx,fPy,fPz,fE);} - - Double_t Pt () const //transverse momentum - { return TMath::Sqrt(fPx*fPx+fPy*fPy); } - Double_t E() const { return fE; } - - //Pseudo Rapidity - Double_t Eta () const { if (P() != fPz) return 0.5*TMath::Log((P()+fPz)/(P()-fPz)); - else return 1.e30;} - - //Rapidity - Double_t Y () const { if (fE != fPz) return 0.5*TMath::Log((fE+fPz)/(fE-fPz)); - else return 1.e30;} - - Double_t Phi () const { return TMath::Pi()+TMath::ATan2(-fPy,-fPx); } - - Double_t Theta () const { return (fPz==0)?TMath::PiOver2():TMath::ACos(fPz/P()); } - - // setters - - void SetMomentum(Double_t px, Double_t py, Double_t pz, Double_t e) - {fPx=px; fPy=py; fPz=pz; fE=e;} - void SetMomentum(const TLorentzVector& p) - {SetMomentum(p.Px(),p.Py(),p.Pz(),p.Energy());} - - void SetProductionVertex(Double_t vx, Double_t vy, Double_t vz, Double_t t) - {fVx=vx; fVy=vy; fVz=vz; fVt=t;} - void SetProductionVertex(const TLorentzVector& v) - {SetProductionVertex(v.X(),v.Y(),v.Z(),v.T());} - void SetCalcMass(Double_t mass) {fCalcMass = mass;} - - void SetUID(Int_t id){fIdxInEvent = id;} - - const Char_t* GetName() const; - void Print(const Option_t * opt = "") const; - - void SetTPCTrackPoints(AliTrackPoints* tpts){fTPCTrackPoints = tpts;} - AliTrackPoints* GetTPCTrackPoints() const {return fTPCTrackPoints;} - void SetITSTrackPoints(AliTrackPoints* tpts){fITSTrackPoints = tpts;} - AliTrackPoints* GetITSTrackPoints() const {return fITSTrackPoints;} - void SetClusterMap(AliClusterMap* cm){fClusterMap = cm;} - AliClusterMap* GetClusterMap() const {return fClusterMap;} - - -protected: - Int_t GetPidSlot(Int_t pdg) const;//returns position of the given PID in fPids (and fPidProb) array. - -private: - Int_t fPdgIdx; // index of PDG code of the particle in fPids - Int_t fIdxInEvent; // index of a particle: the same particle can appear in the event - // many times with different pid's. Idx allows to check that they are the same particles - Int_t fNPids; // number of non-zero proboble Pids - Int_t *fPids; // [fNPids] Array with PIDs - Float_t *fPidProb; // [fNPids] PIDs probabilities - Double_t fCalcMass; // Calculated mass - - - Double_t fPx; // x component of momentum - Double_t fPy; // y component of momentum - Double_t fPz; // z component of momentum - Double_t fE; // Energy - - Double_t fVx; // x of production vertex - Double_t fVy; // y of production vertex - Double_t fVz; // z of production vertex - Double_t fVt; // t of production vertex - - AliTrackPoints* fTPCTrackPoints; // track positions along trajectory - used by anti-merging cut - AliTrackPoints* fITSTrackPoints; // track positions along trajectory - used by anti-merging cut - AliClusterMap* fClusterMap; // bit map of cluters occupation; 1 if has cluter on given layer/padrow/... - - ClassDef(AliAODParticle,3) // TParticle vertex particle information -}; - -#endif diff --git a/ANALYSIS/AliAODParticleBaseCut.cxx b/ANALYSIS/AliAODParticleBaseCut.cxx deleted file mode 100644 index 226779892ed..00000000000 --- a/ANALYSIS/AliAODParticleBaseCut.cxx +++ /dev/null @@ -1,192 +0,0 @@ -#include "AliAODParticleBaseCut.h" -//__________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// // -// class AliAODParticleBaseCut // -// // -// Set of classes for performing cuts on particle properties of // -// AliAODParticleBaseCut is a base class for "base // -// particle cuts". Further, there are implemented classes that performs // -// cuts on the most common particle properties like pt, pseudo rapidity, // -// angles, anergy, etc. // -// // -// There are also implemeted base cuts that perform logical operations // -// on results of base particle cuts: AliAODOrCut and AliAODAndCut. // -// // -// Each base cut has a property, thet allows to distinguish them. // -// This functionality is used by the interface methods of Particle Cut // -// that allows easy update ranges. // -// // -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html // -// responsible: Piotr Skowronski@cern.ch // -// // -//////////////////////////////////////////////////////////////////////////// - - -#include - -ClassImp(AliAODParticleBaseCut) - void AliAODParticleBaseCut::Print(const Option_t * /*opt*/) const -{ - // prints the information anout the base cut to stdout - cout<<"fMin="<Clone():0x0), - fSecond((second)?(AliAODParticleBaseCut*)second->Clone():0x0) -{ - //ctor - if ( (fFirst && fSecond) == kFALSE) - { - Fatal("AliAODLogicalOperCut","One of parameters is NULL!"); - } -} -/******************************************************************/ - -AliAODLogicalOperCut::~AliAODLogicalOperCut() -{ - //destructor - delete fFirst; - delete fSecond; -} -/******************************************************************/ - -Bool_t AliAODLogicalOperCut::AliAODDummyBaseCut::Rejected(AliVAODParticle* /*part*/) const -{ - //checks if particles passes properties defined by this cut - Warning("Pass","You are using dummy base cut! Probobly some logical cut is not set up properly"); - return kFALSE;//accept -} -/******************************************************************/ - -void AliAODLogicalOperCut::Streamer(TBuffer &b) -{ - // Stream all objects in the array to or from the I/O buffer. - UInt_t R__s, R__c; - if (b.IsReading()) - { - delete fFirst; - delete fSecond; - fFirst = 0x0; - fSecond = 0x0; - - b.ReadVersion(&R__s, &R__c); - TObject::Streamer(b); - b >> fFirst; - b >> fSecond; - b.CheckByteCount(R__s, R__c,AliAODLogicalOperCut::IsA()); - } - else - { - R__c = b.WriteVersion(AliAODLogicalOperCut::IsA(), kTRUE); - TObject::Streamer(b); - b << fFirst; - b << fSecond; - b.SetByteCount(R__c, kTRUE); - } -} - -/******************************************************************/ -ClassImp(AliAODOrCut) - -Bool_t AliAODOrCut::Rejected(AliVAODParticle * p) const -{ - //returns true when rejected - //AND operation is a little bit misleading but is correct - //User wants to build logical cuts with natural (positive) logic - //while AODAN use inernally reverse (returns true when rejected) - if (fFirst->Rejected(p) && fSecond->Rejected(p)) return kTRUE;//rejected (both rejected, returned kTRUE) - return kFALSE;//accepted, at least one accepted (returned kFALSE) -} -/******************************************************************/ - -ClassImp(AliAODAndCut) - -Bool_t AliAODAndCut::Rejected(AliVAODParticle * p) const -{ - //returns true when rejected - //OR operation is a little bit misleading but is correct - //User wants to build logical cuts with natural (positive) logic - //while AODAN use inernally reverse (returns true when rejected) - if (fFirst->Rejected(p) || fSecond->Rejected(p)) return kTRUE;//rejected (any of two rejected(returned kTRUE) ) - return kFALSE;//accepted (both accepted (returned kFALSE)) -} -/******************************************************************/ diff --git a/ANALYSIS/AliAODParticleBaseCut.h b/ANALYSIS/AliAODParticleBaseCut.h deleted file mode 100644 index 22e7bce58ac..00000000000 --- a/ANALYSIS/AliAODParticleBaseCut.h +++ /dev/null @@ -1,311 +0,0 @@ -#ifndef ALIAODPARTICLEBASECUT_H -#define ALIAODPARTICLEBASECUT_H -//__________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// // -// class AliAODParticleBaseCut // -// // -// Set of classes for performing cuts on particle properties of // -// AliAODParticleBaseCut is a base class for "base // -// particle cuts". Further, there are implemented classes that performs // -// cuts on the most common particle properties like pt, pseudo rapidity, // -// angles, anergy, etc. // -// // -// There are also implemeted base cuts that perform logical operations // -// on results of base particle cuts: AliAODOrCut and AliAODAndCut. // -// // -// Each base cut has a property, thet allows to distinguish them. // -// This functionality is used by the interface methods of Particle Cut // -// that allows easy update ranges. // -// // -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html // -// responsible: Piotr Skowronski@cern.ch // -// // -//////////////////////////////////////////////////////////////////////////// - - -#include -#include "AliVAODParticle.h" - - -class AliAODParticleBaseCut: public TObject - { - //This class defines the range of some property - pure virtual - //Property is coded by AliAODCutTypes type - - public: - - enum EAODCutProperty - { - //codes of particle properties - kAODP, //Momentum - kAODPt, //Transverse momentum - kAODE, //Energy - kAODRapidity, // - kAODPseudoRapidity, - kAODPx, //X coAnddinate of the momentum - kAODPy, //Y coAnddinate of the momentum - kAODPz, //Z coAnddinate of the momentum - kAODPhi,//angle - kAODTheta,//angle - kAODVx, // vertex X coAnddinate - kAODVy, // vertex Y coAnddinate - kAODVz, // vertex Z coAnddinate - kAODPid, // vertex Z coAnddinate - //_____________________________ - kAODNone - }; - - - AliAODParticleBaseCut(Double_t min = 0.0, Double_t max = 0.0,EAODCutProperty prop = kAODNone): - fProperty(prop),fMin(min),fMax(max){} - - virtual ~AliAODParticleBaseCut(){} - - virtual Bool_t Rejected(AliVAODParticle *p) const; - - void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;} - - void SetMinimum(Double_t min){fMin = min;} - void SetMaximum(Double_t max){fMax = max;} - - Double_t GetMinimum() const {return fMin;} - Double_t GetMaximum() const {return fMax;} - - EAODCutProperty GetProperty() const {return fProperty;} - virtual void Print(const Option_t * opt = "") const; - - protected: - virtual Double_t GetValue(AliVAODParticle *) const = 0; - - EAODCutProperty fProperty; //property that this cut describes - Double_t fMin;//minimum value - Double_t fMax;//maximum value - - private: - void PrintProperty(void) const; - ClassDef(AliAODParticleBaseCut,1) - - }; - -inline Bool_t -AliAODParticleBaseCut::Rejected(AliVAODParticle *p) const -{ - //cjecks if particle property fits in range - if ( (GetValue(p) < fMin) || (GetValue(p) > fMax ) ) return kTRUE; //rejected - else return kFALSE; //accepted -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - - -class AliAODMomentumCut: public AliAODParticleBaseCut - { - public: - AliAODMomentumCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODP){} - virtual ~AliAODMomentumCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->P();} - ClassDef(AliAODMomentumCut,1) - }; - -class AliAODPtCut: public AliAODParticleBaseCut - { - public: - AliAODPtCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPt){} - virtual ~AliAODPtCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Pt();} - ClassDef(AliAODPtCut,1) - }; - - -class AliAODEnergyCut: public AliAODParticleBaseCut - { - public: - AliAODEnergyCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODE){} - virtual ~AliAODEnergyCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const {return p->E();} - ClassDef(AliAODEnergyCut,1) - }; - -class AliAODRapidityCut: public AliAODParticleBaseCut - { - public: - AliAODRapidityCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODRapidity){} - virtual ~AliAODRapidityCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Y();} - ClassDef(AliAODRapidityCut,1) - }; - -class AliAODPseudoRapidityCut: public AliAODParticleBaseCut - { - public: - AliAODPseudoRapidityCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPseudoRapidity){} - virtual ~AliAODPseudoRapidityCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Eta();} - ClassDef(AliAODPseudoRapidityCut,1) - }; - -class AliAODPxCut: public AliAODParticleBaseCut - { - public: - AliAODPxCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPx){} - virtual ~AliAODPxCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Px();} - ClassDef(AliAODPxCut,1) - }; - -class AliAODPyCut: public AliAODParticleBaseCut - { - public: - AliAODPyCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPy){} - virtual ~AliAODPyCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Py();} - ClassDef(AliAODPyCut,1) - }; - - -class AliAODPzCut: public AliAODParticleBaseCut - { - public: - AliAODPzCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPz){} - virtual ~AliAODPzCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Pz();} - ClassDef(AliAODPzCut,1) - }; - -class AliAODPhiCut: public AliAODParticleBaseCut - { - public: - AliAODPhiCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODPhi){} - virtual ~AliAODPhiCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Phi();} - ClassDef(AliAODPhiCut,1) - - }; - -class AliAODThetaCut: public AliAODParticleBaseCut - { - public: - AliAODThetaCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODTheta){} - virtual ~AliAODThetaCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Theta();} - ClassDef(AliAODThetaCut,1) - - }; - -class AliAODVxCut: public AliAODParticleBaseCut - { - //Cut of the X coAnddinate of the vertex position - public: - AliAODVxCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODVx){} - virtual ~AliAODVxCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Vx();} //retruns value of the vertex - ClassDef(AliAODVxCut,1) - - }; - - -class AliAODVyCut: public AliAODParticleBaseCut - { - //Cut of the X coAnddinate of the vertex position - public: - AliAODVyCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODVy){} - virtual ~AliAODVyCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Vy();} //retruns value of the vertex - ClassDef(AliAODVyCut,1) - - }; - -class AliAODVzCut: public AliAODParticleBaseCut - { - //Cut of the X coAnddinate of the vertex position - public: - AliAODVzCut(Double_t min = 0.0, Double_t max = 0.0):AliAODParticleBaseCut(min,max,kAODVz){} - virtual ~AliAODVzCut(){} - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->Vz();} //retruns value of the vertex - - ClassDef(AliAODVzCut,1) - - }; - -class AliAODPIDCut: public AliAODParticleBaseCut - { - public: - AliAODPIDCut():AliAODParticleBaseCut(0.0,0.0,kAODPid),fPID(0){} - AliAODPIDCut(Int_t pid, Double_t min = 0.0, Double_t max = 1.0):AliAODParticleBaseCut(min,max,kAODPid),fPID(pid){} - virtual ~AliAODPIDCut(){} - - void SetPID(Int_t pid){fPID = pid;} - void Print(const Option_t * opt = "") const; - protected: - Double_t GetValue(AliVAODParticle * p)const{return p->GetProbability(fPID);} - Int_t fPID; //pid of particle that the pid is set - ClassDef(AliAODPIDCut,1) - }; -//___________________________________________________ -///////////////////////////////////////////////////// -// // -// class AliAODLogicalOperCut // -// // -// This cut is base class fAnd class that perfAndms // -// logical operations on cuts // -// // -///////////////////////////////////////////////////// -class AliAODLogicalOperCut: public AliAODParticleBaseCut - { - public: - AliAODLogicalOperCut(); - AliAODLogicalOperCut(AliAODParticleBaseCut* first, AliAODParticleBaseCut* second); - virtual ~AliAODLogicalOperCut(); - protected: - Double_t GetValue(AliVAODParticle * /*part*/) const {MayNotUse("GetValue");return 0.0;} - - AliAODParticleBaseCut* fFirst; //second cut - AliAODParticleBaseCut* fSecond; //first cut - private: - AliAODLogicalOperCut(const AliAODLogicalOperCut & src); - AliAODLogicalOperCut & operator=(const AliAODLogicalOperCut & src); - class AliAODDummyBaseCut: public AliAODParticleBaseCut - { - Double_t GetValue(AliVAODParticle * /*part*/) const {return 0.0;} - Bool_t Rejected(AliVAODParticle* /*part*/) const; - }; - - ClassDef(AliAODLogicalOperCut,1) - }; - -class AliAODOrCut: public AliAODLogicalOperCut -{ - public: - AliAODOrCut(){} - AliAODOrCut(AliAODParticleBaseCut* first, AliAODParticleBaseCut* second):AliAODLogicalOperCut(first,second){} - virtual ~AliAODOrCut(){} - Bool_t Rejected(AliVAODParticle *p) const; - ClassDef(AliAODOrCut,1) -}; - -class AliAODAndCut: public AliAODLogicalOperCut -{ - public: - AliAODAndCut(){} - AliAODAndCut(AliAODParticleBaseCut* first, AliAODParticleBaseCut* second):AliAODLogicalOperCut(first,second){} - virtual ~AliAODAndCut(){} - Bool_t Rejected(AliVAODParticle *p) const; - ClassDef(AliAODAndCut,1) -}; - -#endif diff --git a/ANALYSIS/AliAODParticleCut.cxx b/ANALYSIS/AliAODParticleCut.cxx deleted file mode 100644 index 7fbba49d24c..00000000000 --- a/ANALYSIS/AliAODParticleCut.cxx +++ /dev/null @@ -1,328 +0,0 @@ -#include "AliAODParticleCut.h" -//__________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// // -// class AliAODParticleCut // -// // -// Classes for single particle cuts. // -// User should use mainly AliAODParticleCut interface methods, // -// eventually EmptyCut which passes all particles. // -// // -// There is all interface for setting cuts on all particle properties // -// The main method is Rejected - which returns // -// True to reject particle // -// False in case it meets all the criteria of the given cut // -// // -// This class has the list of base particle cuts that perform check on // -// single property. Particle is rejected if any of cuts rejects it. // -// There are implemented logical base cuts that perform logical // -// operations on results of two other base cuts. Using them user can // -// create a tree structure of a base cuts that performs sophisticated // -// cut. // -// // -// User can also implement a base cut that performs complicated // -// calculations, if it is only more convenient and/or efficint. // -// // -// User should delete created cuts himself // -// because when setting a cut, other objects (functions,analyses, // -// readers, other cuts) make their own copy of a cut. // -// // -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html // -// responsible: Piotr Skowronski@cern.ch // -// // -//////////////////////////////////////////////////////////////////////////// - -#include - - -ClassImp(AliAODParticleCut) -const Int_t AliAODParticleCut::fgkMaxCuts = 50; -/******************************************************************/ - -AliAODParticleCut::AliAODParticleCut(): - fCuts(new AliAODParticleBaseCut* [fgkMaxCuts]),//last property in the property enum => defines number of properties - fNCuts(0), - fPID(0) -{ - //default ctor -} -/******************************************************************/ - -AliAODParticleCut::AliAODParticleCut(const AliAODParticleCut& in): - TObject(in), - fCuts(new AliAODParticleBaseCut* [fgkMaxCuts]),//last property in the property - //property enum => defines number of properties - fNCuts(in.fNCuts), - fPID(in.fPID) -{ - //cpy ctor - for (Int_t i = 0;iClone();//create new object (clone) and rember pointer to it - } -} -/******************************************************************/ -AliAODParticleCut& AliAODParticleCut::operator=(const AliAODParticleCut& in) -{ - //assigment operator - Info("operator=","operator=operator=operator=operator=\noperator=operator=operator=operator="); - for (Int_t i = 0;iClone();//create new object (clone) and rember pointer to it - } - return *this; -} - -/******************************************************************/ -AliAODParticleCut::~AliAODParticleCut() -{ - //dtor - for (Int_t i = 0;iGetPdgCode() != fPID) && ( fPID != 0)) return kTRUE; - - for (Int_t i = 0;iRejected(p)) ) - { -// fCuts[i]->Print(); - return kTRUE; //if one of the cuts rejects, then reject - } - } - return kFALSE; -} -/******************************************************************/ - -void AliAODParticleCut::AddBasePartCut(AliAODParticleBaseCut* basecut) -{ - //adds the base pair cut (cut on one value) - - if (!basecut) return; - if( fNCuts == (fgkMaxCuts-1) ) - { - Warning("AddBasePartCut","Not enough place for another cut"); - return; - } - fCuts[fNCuts++]=basecut; - -} - -/******************************************************************/ -AliAODParticleBaseCut* AliAODParticleCut::FindCut(AliAODParticleBaseCut::EAODCutProperty property) -{ - //returns pointer to the cut checking the given property - for (Int_t i = 0;iGetProperty() == property) - return fCuts[i]; //we found the cut we were searching for - } - - return 0x0; //we did not found this cut - -} -/******************************************************************/ - -void AliAODParticleCut::SetMomentumRange(Double_t min, Double_t max) -{ - //Sets momentum range - AliAODMomentumCut* cut= (AliAODMomentumCut*)FindCut(AliAODParticleBaseCut::kAODP); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODMomentumCut(min,max); -} -/******************************************************************/ - - -void AliAODParticleCut::SetPtRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODPtCut* cut= (AliAODPtCut*)FindCut(AliAODParticleBaseCut::kAODPt); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPtCut(min,max); - -} -/******************************************************************/ - -void AliAODParticleCut::SetEnergyRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODEnergyCut* cut= (AliAODEnergyCut*)FindCut(AliAODParticleBaseCut::kAODE); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODEnergyCut(min,max); - -} -/******************************************************************/ - -void AliAODParticleCut::SetRapidityRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODRapidity); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODRapidityCut(min,max); - -} -/******************************************************************/ - -void AliAODParticleCut::SetPseudoRapidityRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODPseudoRapidity); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPseudoRapidityCut(min,max); - -} -/******************************************************************/ - -void AliAODParticleCut::SetPxRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODPx); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPxCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetPyRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODPy); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPyCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetPzRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODPz); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPzCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetPhiRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODPhi); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODPhiCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetThetaRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODTheta); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODThetaCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetVxRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODVx); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODVxCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetVyRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODVy); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODVyCut(min,max); -} -/******************************************************************/ - -void AliAODParticleCut::SetVzRange(Double_t min, Double_t max) -{ - //name self descriptive - AliAODParticleBaseCut* cut = FindCut(AliAODParticleBaseCut::kAODVz); - if(cut) cut->SetRange(min,max); - else fCuts[fNCuts++] = new AliAODVzCut(min,max); -} - -/******************************************************************/ -void AliAODParticleCut::Streamer(TBuffer &b) -{ - // Stream all objects in the array to or from the I/O buffer. - - UInt_t R__s, R__c; - if (b.IsReading()) - { - Int_t i; - for (i = 0;i> fPID; - b >> fNCuts; - for (i = 0;i> fCuts[i]; - } - b.CheckByteCount(R__s, R__c,AliAODParticleCut::IsA()); - } - else - { - R__c = b.WriteVersion(AliAODParticleCut::IsA(), kTRUE); - TObject::Streamer(b); - b << fPID; - b << fNCuts; - for (Int_t i = 0;iPrint(); - } -} - -/******************************************************************/ -/******************************************************************/ -ClassImp(AliAODParticleEmptyCut) - -void AliAODParticleEmptyCut::Streamer(TBuffer &b) - { - //stramer - AliAODParticleCut::Streamer(b); - } -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ diff --git a/ANALYSIS/AliAODParticleCut.h b/ANALYSIS/AliAODParticleCut.h deleted file mode 100644 index 1a2a5305895..00000000000 --- a/ANALYSIS/AliAODParticleCut.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef ALIAODPARTICLECUT_H -#define ALIAODPARTICLECUT_H -//__________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// // -// class AliAODParticleCut // -// // -// Classes for single particle cuts. // -// User should use mainly AliAODParticleCut interface methods, // -// eventually EmptyCut which passes all particles. // -// // -// There is all interface for setting cuts on all particle properties // -// The main method is Rejected - which returns // -// True to reject particle // -// False in case it meets all the criteria of the given cut // -// // -// This class has the list of base particle cuts that perform check on // -// single property. Particle is rejected if any of cuts rejects it. // -// There are implemented logical base cuts that perform logical // -// operations on results of two other base cuts. Using them user can // -// create a tree structure of a base cuts that performs sophisticated // -// cut. // -// // -// User can also implement a base cut that performs complicated // -// calculations, if it is only more convenient and/or efficint. // -// // -// User should delete created cuts himself // -// because when setting a cut, other objects (functions,analyses, // -// readers, other cuts) make their own copy of a cut. // -// // -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html // -// responsible: Piotr Skowronski@cern.ch // -// // -//////////////////////////////////////////////////////////////////////////// - -#include -#include "AliVAODParticle.h" -#include "AliAODParticleBaseCut.h" - - -class AliAODParticleEmptyCut; -class AliAODParticleCut; -class AliAODParticleBaseCut; - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -class AliAODParticleCut: public TObject -{ -//Class describing cut on particle - public: - - AliAODParticleCut(); - AliAODParticleCut(const AliAODParticleCut& in); - virtual ~AliAODParticleCut(); - AliAODParticleCut& operator = (const AliAODParticleCut& in); - - virtual Bool_t Rejected(AliVAODParticle* p) const; - Bool_t IsEmpty() const {return kFALSE;} - - void AddBasePartCut(AliAODParticleBaseCut* basecut); - - Int_t GetPID() const { return fPID;} - void SetPID(Int_t pid){fPID=pid;} - void SetMomentumRange(Double_t min, Double_t max); - void SetPRange(Double_t min, Double_t max){SetMomentumRange(min,max);} - void SetPtRange(Double_t min, Double_t max); - void SetEnergyRange(Double_t min, Double_t max); - void SetRapidityRange(Double_t min, Double_t max); - void SetYRange(Double_t min, Double_t max){SetRapidityRange(min,max);} - void SetPseudoRapidityRange(Double_t min, Double_t max); - void SetPxRange(Double_t min, Double_t max); - void SetPyRange(Double_t min, Double_t max); - void SetPzRange(Double_t min, Double_t max); - void SetPhiRange(Double_t min, Double_t max); - void SetThetaRange(Double_t min, Double_t max); - void SetVxRange(Double_t min, Double_t max); - void SetVyRange(Double_t min, Double_t max); - void SetVzRange(Double_t min, Double_t max); - - void Print(const Option_t * opt = "") const; - protected: - - AliAODParticleBaseCut* FindCut(AliAODParticleBaseCut::EAODCutProperty property); - - AliAODParticleBaseCut ** fCuts;//! Array with cuts - Int_t fNCuts; //number of base cuts stored in fCuts - - Int_t fPID; //particle PID - if=0 (rootino) all pids are accepted - - private: - static const Int_t fgkMaxCuts; //Size of the fCuts array - - ClassDef(AliAODParticleCut,1) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -class AliAODParticleEmptyCut: public AliAODParticleCut -{ -//Empty - it passes possitively all particles - it means returns always False -//Class describing cut on particles - public: - AliAODParticleEmptyCut(){}; - virtual ~AliAODParticleEmptyCut(){}; - - Bool_t Rejected(AliVAODParticle*) const {return kFALSE;} //accept everything - Bool_t IsEmpty() const {return kTRUE;} - - ClassDef(AliAODParticleEmptyCut,1) - -}; - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - - -#endif diff --git a/ANALYSIS/AliAODRun.cxx b/ANALYSIS/AliAODRun.cxx deleted file mode 100644 index d13eb2a8996..00000000000 --- a/ANALYSIS/AliAODRun.cxx +++ /dev/null @@ -1,86 +0,0 @@ -#include "AliAODRun.h" -//____________________ -/////////////////////////////////////////////////////// -// // -// AliAODRun // -// // -// Class storing and managing events // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -#include - -ClassImp(AliAODRun) -/**************************************************************************/ - -AliAODRun::AliAODRun(): - fEvents(new TObjArray()) -{ - //contructor - if(!fEvents) Fatal("AliAODRun::AliAODRun","Can not allocate memory"); - fEvents->SetOwner(); //array is an owner: when is deleted or cleared it deletes objects that it contains -} -/**************************************************************************/ - -AliAODRun::~AliAODRun() -{ - //destructor - delete fEvents;//delete array with events -} -/**************************************************************************/ - -void AliAODRun::Reset() - { - fEvents->Clear();//clear an array with events. - //All events are deleted because array is an owner (set in constructor) - } -/**************************************************************************/ - -void AliAODRun::AddParticle(Int_t event, AliVAODParticle* part) -{ - //Adds particle to event - //if there is no event of this number, crate it and add to the collection - if(!GetEvent(event)) fEvents->AddAtAndExpand(new AliAOD, event); - - GetEvent(event)->AddParticle(part); -} -/**************************************************************************/ - -void AliAODRun::AddParticle(Int_t event, TParticle* part, Int_t idx) -{ - //if there is no event of this number, crate it and add to the collection - if(!GetEvent(event)) fEvents->AddAtAndExpand(new AliAOD, event); - GetEvent(event)->AddParticle(part,idx); -} -/**************************************************************************/ - -void AliAODRun::AddParticle(Int_t event, Int_t pdg, Int_t idx, - Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time) -{ - //if there is no event of this number, crate it and add to the collection - if(!GetEvent(event)) fEvents->AddAtAndExpand(new AliAOD, event); - GetEvent(event)->AddParticle(pdg,idx,px,py,pz,etot,vx,vy,vz,time); -} -/**************************************************************************/ - -void AliAODRun::SetEvent(Int_t number, AliAOD* event) -{ - //adds an event to the run - if (event == 0x0) - { - delete fEvents->RemoveAt(number); - return; - } - AliAOD* ev = GetEvent(number); - if (ev == event) return; - - delete fEvents->RemoveAt(number); - fEvents->AddAtAndExpand(event, number); - -} -/**************************************************************************/ - diff --git a/ANALYSIS/AliAODRun.h b/ANALYSIS/AliAODRun.h deleted file mode 100644 index e3f6dfe4b68..00000000000 --- a/ANALYSIS/AliAODRun.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef ALIAODRUN_H -#define ALIAODRUN_H -//____________________ -/////////////////////////////////////////////////////// -// // -// AliAODRun // -// // -// Class storing and managing set events // -// designed for fast acces // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - - -#include "AliAOD.h" -#include - -class AliVAODParticle; -class TParticle; - -class AliAODRun: public TObject - { - public: - AliAODRun(); - virtual ~AliAODRun(); - - void AddParticle(Int_t event, AliVAODParticle* part); //inerface to AliAOD::AddParticle(AliVAODParticle*) - void AddParticle(Int_t event, TParticle* part, Int_t idx);//inerface to AliAOD::AddParticle(TParticle*) - - //inerface to AliAOD::AddParticle(Int_t.Double_t,Double_t,Double_t,Double_t,Double_t,Double_t,Double_t,Double_t,Double_t) - void AddParticle(Int_t event, Int_t pdg, Int_t idx, - Double_t px, Double_t py, Double_t pz, Double_t etot, - Double_t vx, Double_t vy, Double_t vz, Double_t time); - - void SetEvent(Int_t number, AliAOD* event); - AliVAODParticle* GetParticle(Int_t event, Int_t n); //returns nth particle from event - AliAOD* GetEvent(Int_t event) const; //returns AliAOD number "event" - - Int_t GetNumberOfEvents() const; //returns number of events - Int_t GetNumberOfParticlesInEvent(Int_t event) const; //returns number of particles in event number "event" - void Reset();//clears all events in the array (deletes) - protected: - TObjArray* fEvents;//!Array containig AliAODs - private: - - AliAODRun(const AliAODRun&); // Not implemented - AliAODRun& operator=(const AliAODRun&); // Not implemented - - ClassDef(AliAODRun,1) - }; - - -/**************************************************************************/ - -inline -AliAOD* AliAODRun::GetEvent(Int_t event) const -{ -//returns pointer to AliAOD number "event" - //check if array is enough big - protect from error massage from array "Out Of Bounds" - if (event>=fEvents->GetSize()) return 0x0;//WARNING, that line relies - //on index of first object in TObjArray is 0 - //== LowerBound = 0 - return (AliAOD*)fEvents->At(event); -} -/**************************************************************************/ -inline -AliVAODParticle* AliAODRun::GetParticle(Int_t event, Int_t n) -{ - //returns nth particle from event number event - AliAOD* e = GetEvent(event); - return (e)?e->GetParticle(n):0x0; -} - -/**************************************************************************/ - -inline -Int_t AliAODRun::GetNumberOfEvents() const - { -//returns number of events in collection - - return fEvents->GetEntriesFast(); //there may be empty slots but we do not care - //Analysis checks it if return is not NULL - } -/**************************************************************************/ - -inline -Int_t AliAODRun::GetNumberOfParticlesInEvent(Int_t event) const -{ -//returns number of Particles in event - AliAOD* e = GetEvent(event); - return (e)?e->GetNumberOfParticles():0x0; -} - -#endif diff --git a/ANALYSIS/AliAnalysis.cxx b/ANALYSIS/AliAnalysis.cxx deleted file mode 100644 index 153665153b9..00000000000 --- a/ANALYSIS/AliAnalysis.cxx +++ /dev/null @@ -1,163 +0,0 @@ -#include "AliAnalysis.h" -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliAnalysis -// -// Base class for analysis. -// Each inheriting calss must define 3 methods: -// - Init() : that is called before event processing -// - ProcessEvent(AliESD*,AliStack*) -// - -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////// - -#include "AliEventCut.h" -#include "AliAODPairCut.h" - -ClassImp(AliAnalysis) - -AliAnalysis::AliAnalysis(): - fEventCut(0x0), - fCutOnSim(kTRUE), - fCutOnRec(kTRUE), - fPairCut(new AliAODPairEmptyCut()),//empty cut - accepts all particles - fkPass(&AliAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair - fkPass1(&AliAnalysis::PassPartAndTrack1), //used onluy by ProcessTracksAndParticles - fkPass2(&AliAnalysis::PassPartAndTrack2), - fkPassPairProp(&AliAnalysis::PassPairPropPartAndTrack) -{ - //ctor -} -/*********************************************************/ - -AliAnalysis::AliAnalysis(const char* name,const char* title): - TTask(name,title), - fEventCut(0x0), - fCutOnSim(kTRUE), - fCutOnRec(kTRUE), - fPairCut(new AliAODPairEmptyCut()),//empty cut - accepts all particles - fkPass(&AliAnalysis::PassPartAndTrack), //by default perform cut on both track and particle pair - fkPass1(&AliAnalysis::PassPartAndTrack1), //used onluy by ProcessTracksAndParticles - fkPass2(&AliAnalysis::PassPartAndTrack2), - fkPassPairProp(&AliAnalysis::PassPairPropPartAndTrack) -{ - //ctor -} -/*********************************************************/ -AliAnalysis::AliAnalysis(const AliAnalysis& ana): - TTask(ana), - fEventCut(ana.fEventCut), - fCutOnSim(ana.fCutOnSim), - fCutOnRec(ana.fCutOnRec), - fPairCut(ana.fPairCut), - fkPass(ana.fkPass), - fkPass1(ana.fkPass1), - fkPass2(ana.fkPass2), - fkPassPairProp(ana.fkPassPairProp) -{ - //ctor -} -/*********************************************************/ - -AliAnalysis::~AliAnalysis() -{ - //dtor - delete fEventCut; -} -/*********************************************************/ - -void AliAnalysis::SetEventCut(AliEventCut* evcut) -{ -//Sets event - makes a private copy - delete fEventCut; - if (evcut) fEventCut = (AliEventCut*)evcut->Clone(); - else fEventCut = 0x0; -} -/*********************************************************/ - -Bool_t AliAnalysis::Rejected(AliAOD* recevent, AliAOD* simevent) -{ - //checks the event cut - if (fEventCut == 0x0) return kFALSE; - - if (fCutOnRec) - if (fEventCut->Rejected(recevent)) return kTRUE; - - if (fCutOnSim) - if (fEventCut->Rejected(simevent)) return kTRUE; - - return kFALSE; -} -/*************************************************************************************/ - -void AliAnalysis::SetPairCut(AliAODPairCut* cut) -{ -//Sets new Pair Cut. Old one is deleted -//Note that it is created new object instead of simple pointer set -//I do not want to have pointer -//to object created somewhere else -//because in that case I could not believe that -//it would always exist (sb could delete it) -//so we have always own copy - - if(!cut) - { - Error("AliHBTFunction::SetPairCut","argument is NULL"); - return; - } - delete fPairCut; - fPairCut = (AliAODPairCut*)cut->Clone(); - -} -/******************************************************************/ - -void AliAnalysis::SetCutsOnSim() -{ - // -- aplies only to Process("TracksAndParticles") - // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) - // Only particles properties are checkes against cuts - - fCutOnRec = kFALSE; - fCutOnSim = kTRUE; - - fkPass = &AliAnalysis::PassPart; - fkPass1 = &AliAnalysis::PassPart1; - fkPass2 = &AliAnalysis::PassPart2; - fkPassPairProp = &AliAnalysis::PassPairPropPart; - -} -/*************************************************************************************/ - -void AliAnalysis::SetCutsOnRec() -{ - // -- aplies only to Process("TracksAndParticles") - // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) - // Only tracks properties are checkes against cuts - - fCutOnRec = kTRUE; - fCutOnSim = kFALSE; - - fkPass = &AliAnalysis::PassTrack; - fkPass1 = &AliAnalysis::PassTrack1; - fkPass2 = &AliAnalysis::PassTrack2; - fkPassPairProp = &AliAnalysis::PassPairPropTrack; - -} -/*************************************************************************************/ - -void AliAnalysis::SetCutsOnRecAndSim() -{ - // -- aplies only to Process("TracksAndParticles") - // (ProcessTracksAndParticles and ProcessTracksAndParticlesNonIdentAnal) - // Both, tracks and particles, properties are checked against cuts - - fCutOnRec = kTRUE; - fCutOnSim = kTRUE; - - fkPass = &AliAnalysis::PassPartAndTrack; - fkPass1 = &AliAnalysis::PassPartAndTrack1; - fkPass2 = &AliAnalysis::PassPartAndTrack2; - fkPassPairProp = &AliAnalysis::PassPairPropPartAndTrack; -} diff --git a/ANALYSIS/AliAnalysis.h b/ANALYSIS/AliAnalysis.h deleted file mode 100644 index 0d3a10d623f..00000000000 --- a/ANALYSIS/AliAnalysis.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef ALIANALYSIS_H -#define ALIANALYSIS_H -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliAnalysis -// -// Base class for analysis -// -// -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////// - -#include -#include -#include - -class AliAOD; -class AliStack; -class AliEventCut; -class AliVAODParticle; -class AliAODPair; - -class AliAnalysis: public TTask -{ - public: - AliAnalysis(); - AliAnalysis(const char* name,const char* title); - virtual ~AliAnalysis(); - - virtual Int_t Init() = 0; - virtual Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim = 0x0) = 0; - virtual Int_t Finish() = 0; - - void SetCutsOnRec(); - void SetCutsOnSim(); - void SetCutsOnRecAndSim(); - - void SetEventCut(AliEventCut* evcut); - void SetPairCut(AliAODPairCut* cut); - - protected: - Bool_t Rejected(AliAOD* recevent, AliAOD* simevent); - AliEventCut* fEventCut;//event cut - - Bool_t fCutOnSim;//flag indicating that event cut is performed on simulated particles - Bool_t fCutOnRec;//flag indicating that event cut is performed on reconstructed tracks - - AliAODPairCut* fPairCut;// Pair cut applied for all mixed particles - - /**********************************************/ - /* C U T S */ - /**********************************************/ - - Bool_t (AliAnalysis::*fkPass)(AliAODPair* partpair, AliAODPair* trackpair) const;//Pointer to function that performes pair cut - Bool_t (AliAnalysis::*fkPass1)(AliVAODParticle* partpair, AliVAODParticle* trackpair) const;//Pointer to function that performes cut on first particle - Bool_t (AliAnalysis::*fkPass2)(AliVAODParticle* partpair, AliVAODParticle* trackpair) const;//Pointer to function that performes cut on second particle - Bool_t (AliAnalysis::*fkPassPairProp)(AliAODPair* partpair, AliAODPair* trackpair) const;//Pointer to function that performes pair cut - - Bool_t PassPartAndTrack (AliAODPair* partpair, AliAODPair* trackpair) const {return (fPairCut->Rejected((AliAODPair*)partpair))?kTRUE:fPairCut->Rejected((AliAODPair*)trackpair);} - Bool_t PassPartAndTrack1(AliVAODParticle* part, AliVAODParticle* track) const; - Bool_t PassPartAndTrack2(AliVAODParticle* part, AliVAODParticle* track) const; - Bool_t PassPairPropPartAndTrack (AliAODPair* partpair, AliAODPair* trackpair) const {return (fPairCut->PassPairProp((AliAODPair*)partpair))?kTRUE:fPairCut->PassPairProp((AliAODPair*)trackpair);} - - Bool_t PassPart (AliAODPair* partpair, AliAODPair* /*trackpair*/) const {return fPairCut->Rejected((AliAODPair*)partpair);} - Bool_t PassPart1(AliVAODParticle* part, AliVAODParticle* /*track*/) const {return fPairCut->GetFirstPartCut()->Rejected(part);} - Bool_t PassPart2(AliVAODParticle* part, AliVAODParticle* /*track*/) const {return fPairCut->GetSecondPartCut()->Rejected(part);} - Bool_t PassPairPropPart (AliAODPair* partpair, AliAODPair* /*trackpair*/) const {return fPairCut->PassPairProp((AliAODPair*)partpair);} - - Bool_t PassTrack (AliAODPair* /*partpair*/, AliAODPair* trackpair) const {return fPairCut->Rejected((AliAODPair*)trackpair);} - Bool_t PassTrack1(AliVAODParticle* /*part*/, AliVAODParticle* track) const {return fPairCut->GetFirstPartCut()->Rejected(track);} - Bool_t PassTrack2(AliVAODParticle* /*part*/, AliVAODParticle* track) const {return fPairCut->GetSecondPartCut()->Rejected(track);} - Bool_t PassPairPropTrack (AliAODPair* /*partpair*/, AliAODPair* trackpair) const {return fPairCut->PassPairProp((AliAODPair*)trackpair);} - - AliAnalysis(const AliAnalysis&); - - private: - AliAnalysis& operator=(const AliAnalysis&); // Not implemented - - ClassDef(AliAnalysis,1) -}; - - -inline Bool_t AliAnalysis::PassPartAndTrack1(AliVAODParticle* part,AliVAODParticle* track) const -{ -//Checks first particle from both, particle and track pairs - AliAODParticleCut* pc = fPairCut->GetFirstPartCut(); - return (pc->Rejected(part))?kTRUE:pc->Rejected(track); -} -/*************************************************************************************/ - -inline Bool_t AliAnalysis::PassPartAndTrack2(AliVAODParticle* part,AliVAODParticle* track) const -{ -//Checks second particle from both, particle and track pairs - AliAODParticleCut* pc = fPairCut->GetSecondPartCut(); - return (pc->Rejected(part))?kTRUE:pc->Rejected(track); -} -/*************************************************************************************/ - -#endif diff --git a/ANALYSIS/AliAnalysisEventCuts.cxx b/ANALYSIS/AliAnalysisEventCuts.cxx deleted file mode 100644 index de437cf6eac..00000000000 --- a/ANALYSIS/AliAnalysisEventCuts.cxx +++ /dev/null @@ -1,314 +0,0 @@ -/************************************************************************** - * Author: Panos Christakoglou. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//----------------------------------------------------------------- -// AliAnalysisEventCuts class -// This is the class to deal with the event and track level cuts -// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch -//----------------------------------------------------------------- - - - -//ROOT -#include -#include -#include -#include - -#include "AliLog.h" -#include "AliESD.h" - -#include "AliAnalysisEventCuts.h" - -ClassImp(AliAnalysisEventCuts) - -//----------------------------------------// - AliAnalysisEventCuts::AliAnalysisEventCuts() : - TObject(), - fVerboseOff(0), fVxMin(0), fVxMax(0), - fVyMin(0), fVyMax(0), - fVzMin(0), fVzMax(0), - fMultMin(0), fMultMax(0), - fVzFlagType(""), - fMult(0), fVx(0), fVy(0), fVz(0), - fVzFlag(0), fTotalEvents(0), - fAcceptedEvents(0), fFlagMult(0), - fFlagVx(0), fFlagVy(0), fFlagVz(0), - fFlagVzType(0) { - //Default constructor which calls the Reset method. - Reset(); - } - -//----------------------------------------// -AliAnalysisEventCuts::~AliAnalysisEventCuts() -{ - //Defaut destructor. -} - -//----------------------------------------// -void AliAnalysisEventCuts::Reset() -{ - fVerboseOff = kFALSE; - - //Sets dummy values to every private member. - fVxMin = -1000.0; - fVxMax = 1000.0; - fVyMin = -1000.0; - fVyMax = 1000.0; - fVzMin = -1000.0; - fVzMax = 1000.0; - fMultMin = 0; - fMultMax = 100000; - fVzFlagType = "default"; - - fMult = 0; - fVx = 0; - fVy = 0; - fVz = 0; - fVzFlag = 0; - fTotalEvents = 0; - fAcceptedEvents = 0; - - fFlagMult = 0; - fFlagVx = 0; - fFlagVy = 0; - fFlagVz = 0; - fFlagVzType = 0; -} - -//----------------------------------------// -void AliAnalysisEventCuts::SetPrimaryVertexXRange(Float_t r1, Float_t r2) -{ - //Sets the primary vertex x range. - fVxMin = r1; - fVxMax = r2; - fFlagVx = 1; -} - -//----------------------------------------// -void AliAnalysisEventCuts::SetPrimaryVertexYRange(Float_t r1, Float_t r2) -{ - //Sets the primary vertex y range. - fVyMin = r1; - fVyMax = r2; - fFlagVy = 1; -} - -//----------------------------------------// -void AliAnalysisEventCuts::SetPrimaryVertexZRange(Float_t r1, Float_t r2) -{ - //Sets the primary vertex z range. - fVzMin = r1; - fVzMax = r2; - fFlagVz = 1; -} - -//----------------------------------------// -void AliAnalysisEventCuts::SetMultiplicityRange(Int_t n1, Int_t n2) -{ - //Sets the multiplicity range. - fMultMin = n1; - fMultMax = n2; - fFlagMult = 1; -} - - -//----------------------------------------// -Bool_t AliAnalysisEventCuts::IsAccepted(AliESD *esd) -{ - //Returns true if the events is accepted otherwise false. - fTotalEvents++; - if((esd->GetNumberOfTracks() < fMultMin) || (esd->GetNumberOfTracks() > fMultMax)) { - fMult++; - if(!fVerboseOff) - AliInfo(Form("Event rejected due to multiplicity cut")); - return kFALSE; - } - const AliESDVertex *esdvertex = esd->GetVertex(); - TString vertexname = esdvertex->GetName(); - if((esdvertex->GetXv() < fVxMin) || (esdvertex->GetXv() > fVxMax)) { - fVx++; - if(!fVerboseOff) - AliInfo(Form("Event rejected due to Vx cut")); - return kFALSE; - } - if((esdvertex->GetYv() < fVyMin) || (esdvertex->GetYv() > fVyMax)) { - fVy++; - if(!fVerboseOff) - AliInfo(Form("Event rejected due to Vy cut")); - return kFALSE; - } - if((esdvertex->GetZv() < fVzMin) || (esdvertex->GetZv() > fVzMax)) { - fVz++; - if(!fVerboseOff) - AliInfo(Form("Event rejected due to Vz cut")); - return kFALSE; - } - if((fFlagVzType == 1)&&(vertexname == "default")) { - fVzFlag++; - if(!fVerboseOff) - AliInfo(Form("Event rejected due to Vz flag cut")); - return kFALSE; - } - fAcceptedEvents++; - - return kTRUE; -} - - -//----------------------------------------// -TPaveText *AliAnalysisEventCuts::GetEventCuts() -{ - //Shows a TPaveText with all the event cut stats. - TCanvas *ccuts = new TCanvas("ccuts","Event cuts",10,10,400,400); - ccuts->SetFillColor(10); - ccuts->SetHighLightColor(10); - - TPaveText *pave = new TPaveText(0.01,0.01,0.98,0.98); - pave->SetFillColor(5); - Char_t cutName[256]; - - TLine *l1 = pave->AddLine(0,0.78,1,0.78); - l1->SetLineWidth(2); - TLine *l2 = pave->AddLine(0,0.58,1,0.58); - l2->SetLineWidth(2); - TLine *l3 = pave->AddLine(0,0.38,1,0.38); - l3->SetLineWidth(2); - TLine *l4 = pave->AddLine(0,0.18,1,0.18); - l4->SetLineWidth(2); - - sprintf(cutName,"Total number of events: %d",fTotalEvents); - TText *t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Total number of accepted events: %d",fAcceptedEvents); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Multiplicity range: [%d,%d]",fMultMin,fMultMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Events rejected: %d",fMult); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Vx range: [%f,%f]",fVxMin,fVxMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Events rejected: %d",fVx); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Vy range: [%f,%f]",fVyMin,fVyMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Events rejected: %d",fVy); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Vz range: [%f,%f]",fVzMin,fVzMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Events rejected: %d",fVz); - t1 = pave->AddText(cutName); - t1->SetTextColor(4); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - return pave; -} - -//----------------------------------------// -void AliAnalysisEventCuts::GetEventStats() -{ - //Returns the total event stats. - //fTotalEvents is the total number of events. - //fAcceptedEvents is the total number of accepted events. - AliInfo(Form("Total number of events: %d",fTotalEvents)); - AliInfo(Form("Total number of accepted events: %d",fAcceptedEvents)); -} - -//----------------------------------------// -void AliAnalysisEventCuts::GetMultStats() -{ - //Gets the multiplicity statistics. - //Prints the percentage of events rejected due to this cut. - AliInfo(Form("Multiplicity range: [%d,%d]",fMultMin,fMultMax)); - AliInfo(Form("Events rejected: %d",fMult)); -} - -//----------------------------------------// -void AliAnalysisEventCuts::GetVxStats() -{ - //Gets the Vx statistics. - //Prints the percentage of events rejected due to this cut. - AliInfo(Form("Vx range: [%f,%f]",fVxMin,fVxMax)); - AliInfo(Form("Events rejected: %d",fVx)); -} - -//----------------------------------------// -void AliAnalysisEventCuts::GetVyStats() -{ - //Gets the Vy statistics. - //Prints the percentage of events rejected due to this cut. - AliInfo(Form("Vy range: [%f,%f]",fVyMin,fVyMax)); - AliInfo(Form("Events rejected: %d",fVy)); -} - -//----------------------------------------// -void AliAnalysisEventCuts::GetVzStats() -{ - //Gets the Vz statistics. - //Prints the percentage of events rejected due to this cut. - AliInfo(Form("Vz range: [%f,%f]",fVzMin,fVzMax)); - AliInfo(Form("Events rejected: %d",fVz)); - AliInfo(Form("Events rejected (Vz flag): %d",fVzFlag)); -} - -//----------------------------------------// -void AliAnalysisEventCuts::PrintEventCuts() -{ - //Prints the event stats. - //GetEventCuts()->Draw(); - - AliInfo(Form("**************EVENT CUTS**************")); - GetEventStats(); - if(fFlagMult) GetMultStats(); - if(fFlagVx) GetVxStats(); - if(fFlagVy) GetVyStats(); - if((fFlagVz)||(fFlagVzType)) GetVzStats(); - AliInfo(Form("**************************************")); -} - - - diff --git a/ANALYSIS/AliAnalysisEventCuts.h b/ANALYSIS/AliAnalysisEventCuts.h deleted file mode 100644 index 3641ad89046..00000000000 --- a/ANALYSIS/AliAnalysisEventCuts.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef ALIANALYSISEVENTCUTS_H -#define ALIANALYSISEVENTCUTS_H -/* See cxx source for full Copyright notice */ - - -/* $Id$ */ - -//------------------------------------------------------------------------- -// Class AliAnalysisEventCuts -// This is the class for the cuts in event & track level -// -// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch -//------------------------------------------------------------------------- - -#include - -class TPaveText; -class AliESD; - -class AliAnalysisEventCuts : public TObject -{ - public: - AliAnalysisEventCuts(); - - ~AliAnalysisEventCuts(); - - void Reset(); - - void SetPrimaryVertexXRange(Float_t r1, Float_t r2); - void SetPrimaryVertexYRange(Float_t r1, Float_t r2); - void SetPrimaryVertexZRange(Float_t r1, Float_t r2); - void SetPrimaryVertexZFlag() {fVzFlagType = "reconstructed";fFlagVzType = 1;}; - void SetMultiplicityRange(Int_t n1, Int_t n2); - void SetVerboseOff() {fVerboseOff = kTRUE;}; - - Bool_t IsAccepted(AliESD *esd); - - TPaveText *GetEventCuts(); - void PrintEventCuts(); - void GetEventStats(); - void GetMultStats(); - void GetVxStats(); - void GetVyStats(); - void GetVzStats(); - - private: - Bool_t fVerboseOff; //cancel the output - - Float_t fVxMin, fVxMax; //Definition of the range of the Vx - Float_t fVyMin, fVyMax; //Definition of the range of the Vy - Float_t fVzMin, fVzMax; //Definition of the range of the Vz - Int_t fMultMin, fMultMax; //Definition of the range of the multiplicity - TString fVzFlagType; //Flag for the primary vertex(good: "reconstructed" -- fake: "default") - - Int_t fMult; //Number of events rejected due to multiplicity cut - Int_t fVx; //Number of events rejected due to Vx cut - Int_t fVy; //Number of events rejected due to Vy cut - Int_t fVz; //Number of events rejected due to Vz cut - Int_t fVzFlag; //Number of events rejected due to Vz flag cut - Int_t fTotalEvents; //Total number of events - Int_t fAcceptedEvents; //Total number of events accepted - - Int_t fFlagMult; //Flag that shows if the multiplicity cut was imposed - Int_t fFlagVx; //Flag that shows if the Vx cut was imposed - Int_t fFlagVy; //Flag that shows if the Vy cut was imposed - Int_t fFlagVz; //Flag that shows if the Vz cut was imposed - Int_t fFlagVzType; //Flag that shows if the Vz flag cut was imposed - - ClassDef(AliAnalysisEventCuts, 2) -} ; - -#endif diff --git a/ANALYSIS/AliAnalysisTrackCuts.cxx b/ANALYSIS/AliAnalysisTrackCuts.cxx deleted file mode 100644 index f43f5a23f9d..00000000000 --- a/ANALYSIS/AliAnalysisTrackCuts.cxx +++ /dev/null @@ -1,564 +0,0 @@ -/************************************************************************** - * Author: Panos Christakoglou. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//----------------------------------------------------------------- -// AliAnalysisTrackCuts class -// This is the class to deal with the event and track level cuts -// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch -//----------------------------------------------------------------- - - - -//ROOT -#include -#include -#include -#include -#include -#include - -#include "AliLog.h" - -#include "AliESDtrack.h" -#include "AliESD.h" - -#include "AliAnalysisTrackCuts.h" - -ClassImp(AliAnalysisTrackCuts) - -//----------------------------------------// - AliAnalysisTrackCuts::AliAnalysisTrackCuts() : - TObject(), - fPMin(0), fPMax(0), fPtMin(0), fPtMax(0), - fPxMin(0), fPxMax(0), fPyMin(0), fPyMax(0), - fPzMin(0), fPzMax(0), fEtaMin(0), fEtaMax(0), - fRapMin(0), fRapMax(0), fBrMin(0), fBrMax(0), - fBzMin(0), fBzMax(0), - fP(0), fPt(0), fPx(0), fPy(0), fPz(0), - fEta(0), fRap(0), - fbr(0), fbz(0), - fTotalTracks(0), fAcceptedTracks(0), - fFlagP(0), fFlagPt(0), fFlagPx(0), fFlagPy(0), fFlagPz(0), - fFlagEta(0), fFlagRap(0), fFlagbr(0), fFlagbz(0), - fAcceptedParticleList(0) { - //Default constructor. - //Calls the Reset method. - Reset(); -} - -//----------------------------------------// -AliAnalysisTrackCuts::~AliAnalysisTrackCuts() -{ - //Destructor. - delete fAcceptedParticleList; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::Reset() -{ - //Assigns dummy values to every private member. - fPxMin = -1000.0; - fPxMax = 1000.0; - fPyMin = -1000.0; - fPyMax = 1000.0; - fPzMin = -1000.0; - fPzMax = 1000.0; - fPtMin = 0.0; - fPtMax = 1000.0; - fPMin = 0.0; - fPMax = 1000.0; - fBrMin = 0.0; - fBrMax = 1000.0; - fBzMin = 0.0; - fBzMax = 1000.0; - fEtaMin = -100.0; - fEtaMax = 100.0; - fRapMin = -100.0; - fRapMax = 100.0; - - fP = 0; - fPt = 0; - fPx = 0; - fPy = 0; - fPz = 0; - fbr = 0; - fbz = 0; - fEta = 0; - fRap = 0; - fTotalTracks = 0; - fAcceptedTracks = 0; - - fFlagP = 0; - fFlagPt = 0; - fFlagPx = 0; - fFlagPy = 0; - fFlagPz = 0; - fFlagEta = 0; - fFlagRap = 0; - fFlagbr = 0; - fFlagbz = 0; - - fAcceptedParticleList = new TObjArray(); -} - - -//----------------------------------------// -void AliAnalysisTrackCuts::SetPxRange(Float_t r1, Float_t r2) -{ - //Sets the range for the momentum x component. - fPxMin = r1; - fPxMax = r2; - fFlagPx = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetPyRange(Float_t r1, Float_t r2) -{ - //Sets the range for the momentum y component. - fPyMin = r1; - fPyMax = r2; - fFlagPy = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetPzRange(Float_t r1, Float_t r2) -{ - //Sets the range for the momentum z component. - fPzMin = r1; - fPzMax = r2; - fFlagPy = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetPRange(Float_t r1, Float_t r2) -{ - //Sets the range for the momentum. - fPMin = r1; - fPMax = r2; - fFlagPz = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetPtRange(Float_t r1, Float_t r2) -{ - //Sets the range for the teransverse momentum. - fPtMin = r1; - fPtMax = r2; - fFlagPt = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetBrRange(Float_t r1, Float_t r2) -{ - //Sets the range of the closest approach of the track - //to the primary vertex in the r-phi plane. - fBrMin = r1; - fBrMax = r2; - fFlagbr = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetBzRange(Float_t r1, Float_t r2) -{ - //Sets the range of the closest approach of the track - //to the primary vertex in the beam axis. - fBzMin = r1; - fBzMax = r2; - fFlagbz = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetEtaRange(Float_t r1, Float_t r2) -{ - //Sets the range of the pseudo-rapidity. - fEtaMin = r1; - fEtaMax = r2; - fFlagEta = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::SetRapRange(Float_t r1, Float_t r2) -{ - //Sets the range of the rapidity. - fRapMin = r1; - fRapMax = r2; - fFlagRap = 1; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetTrackStats() -{ - //Gets the statistics. - //fTotalTracks is the total number of tracks. - //fAcceptedTracks is the number of accepted tracks after the cuts. - AliInfo(Form("Total number of tracks: %d",fTotalTracks)); - AliInfo(Form("Total number of accepted tracks: %d",fAcceptedTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetPStats() -{ - //Gets the momentum statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("P range: [%f,%f]",fPMin,fPMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fP/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetPtStats() -{ - //Gets the transverse momentum statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("Pt range: [%f,%f]",fPtMin,fPtMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fPt/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetPxStats() -{ - //Gets the x momentum statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("Px range: [%f,%f]",fPxMin,fPxMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fPx/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetPyStats() -{ - //Gets the y momentum statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("Py range: [%f,%f]",fPyMin,fPyMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fPy/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetPzStats() -{ - //Gets the z momentum statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("Pz range: [%f,%f]",fPzMin,fPzMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fPz/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetEtaStats() -{ - //Gets the pseudo-rapidity statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("eta range: [%f,%f]",fEtaMin,fEtaMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fEta/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetRapStats() -{ - //Gets the rapidity statistics. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("y range: [%f,%f]",fRapMin,fRapMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fRap/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetBrStats() -{ - //Gets the statistics fro the closest distance of - //the track to the primary vertex in the r-phi plane. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("br range: [%f,%f]",fBrMin,fBrMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fbr/fTotalTracks)); -} - -//----------------------------------------// -void AliAnalysisTrackCuts::GetBzStats() -{ - //Gets the statistics fro the closest distance of - //the track to the primary vertex in the beam axis. - //Prints the percentage of tracks rejected due to this cut. - AliInfo(Form("bz range: [%f,%f]",fBzMin,fBzMax)); - if(fTotalTracks != 0) - AliInfo(Form("Tracks rejected: %f",100.0*fbz/fTotalTracks)); -} - - -//----------------------------------------// -Bool_t AliAnalysisTrackCuts::IsAccepted(AliESD *esd ,AliESDtrack *esdtrack) -{ - //Returns true if the tracks is accepted otherwise false. - fTotalTracks++; - - //momentum related calculations - Double_t p[3]; - esdtrack->GetPxPyPz(p); - Float_t momentum = TMath::Sqrt(pow(p[0],2) + pow(p[1],2) + pow(p[2],2)); - Float_t pt = TMath::Sqrt(pow(p[0],2) + pow(p[1],2)); - Float_t energy = TMath::Sqrt(pow(esdtrack->GetMass(),2) + pow(momentum,2)); - - //y-eta related calculations - Float_t eta = -100.; - Float_t y = -100.; - if((momentum != TMath::Abs(p[2]))&&(momentum != 0)) - eta = 0.5*TMath::Log((momentum + p[2])/(momentum - p[2])); - if((energy != TMath::Abs(p[2]))&&(momentum != 0)) - y = 0.5*TMath::Log((energy + p[2])/(energy - p[2])); - - //impact parameter related calculations - Double_t trackPosition[3]; - esdtrack->GetXYZ(trackPosition); - const AliESDVertex * vertexIn = esd->GetVertex(); - Double_t vertexPosition[3]; - vertexIn->GetXYZ(vertexPosition); - for (Int_t ii=0; ii<3; ii++) trackPosition[ii] -= vertexPosition[ii]; - - Float_t br = Float_t(TMath::Sqrt(pow(trackPosition[0],2) + pow(trackPosition[1],2))); - Float_t bz = Float_t(TMath::Abs(trackPosition[2])); - - if((momentum < fPMin) || (momentum > fPMax)) { - fP++; - return kFALSE; - } - if((pt < fPtMin) || (pt > fPtMax)) { - fPt++; - return kFALSE; - } - if((p[0] < fPxMin) || (p[0] > fPxMax)) { - fPx++; - return kFALSE; - } - if((p[1] < fPyMin) || (p[1] > fPyMax)) { - fPy++; - return kFALSE; - } - if((p[2] < fPzMin) || (p[2] > fPzMax)) { - fPz++; - return kFALSE; - } - if((br < fBrMin) || (br > fBrMax)) { - fbr++; - return kFALSE; - } - if((bz < fBzMin) || (bz > fBzMax)) { - fbz++; - return kFALSE; - } - if((eta < fEtaMin) || (eta > fEtaMax)) { - fEta++; - return kFALSE; - } - if((y < fRapMin) || (y > fRapMax)) { - fRap++; - return kFALSE; - } - - fAcceptedTracks++; - - return kTRUE; -} - - -//----------------------------------------// -TObjArray *AliAnalysisTrackCuts::GetAcceptedParticles(AliESD *esd) -{ - // Returns a list of all tracks that pass the cuts - fAcceptedParticleList->Clear(); - for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) { - AliESDtrack* track = esd->GetTrack(iTrack); - - if(IsAccepted(esd,track)) fAcceptedParticleList->Add(track); - } - - return fAcceptedParticleList; -} - -//----------------------------------------// -TPaveText *AliAnalysisTrackCuts::GetTrackCuts() -{ - //Shows a TPaveText with all the track cuts stats. - TCanvas *ccuts2 = new TCanvas("ccuts2","Track cuts",410,10,400,400); - ccuts2->SetFillColor(10); - ccuts2->SetHighLightColor(10); - - TPaveText *pave = new TPaveText(0.01,0.01,0.98,0.98); - pave->SetFillColor(3); - Char_t cutName[256]; - - TLine *l1 = pave->AddLine(0,0.89,1,0.89); - l1->SetLineWidth(2); - TLine *l2 = pave->AddLine(0,0.79,1,0.79); - l2->SetLineWidth(2); - TLine *l3 = pave->AddLine(0,0.69,1,0.69); - l3->SetLineWidth(2); - TLine *l4 = pave->AddLine(0,0.59,1,0.59); - l4->SetLineWidth(2); - TLine *l5 = pave->AddLine(0,0.49,1,0.49); - l5->SetLineWidth(2); - TLine *l6 = pave->AddLine(0,0.39,1,0.39); - l6->SetLineWidth(2); - TLine *l7 = pave->AddLine(0,0.29,1,0.29); - l7->SetLineWidth(2); - TLine *l8 = pave->AddLine(0,0.19,1,0.19); - l8->SetLineWidth(2); - TLine *l9 = pave->AddLine(0,0.09,1,0.09); - l9->SetLineWidth(2); - - sprintf(cutName,"Total number of tracks: %d",fTotalTracks); - TText *t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Total number of accepted tracks: %d",fAcceptedTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"P range: [%f,%f]",fPMin,fPMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fP/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Pt range: [%f,%f]",fPtMin,fPtMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fPt/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Px range: [%f,%f]",fPxMin,fPxMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fPx/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Py range: [%f,%f]",fPyMin,fPyMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fPy/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"Pz range: [%f,%f]",fPzMin,fPzMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fPz/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"br range: [%f,%f]",fBrMin,fBrMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fbr/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"bz range: [%f,%f]",fBzMin,fBzMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fbz/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"eta range: [%f,%f]",fEtaMin,fEtaMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fEta/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - sprintf(cutName,"y range: [%f,%f]",fRapMin,fRapMax); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - sprintf(cutName,"Tracks rejected: %f",100.0*fRap/fTotalTracks); - t1 = pave->AddText(cutName); - t1->SetTextColor(1); - t1->SetTextSize(0.04); - t1->SetTextAlign(11); - - return pave; -} - -//----------------------------------------// -void AliAnalysisTrackCuts::PrintTrackCuts() -{ - //Prints the track cut stats. - //GetTrackCuts()->Draw(); - - AliInfo(Form("**************TRACK CUTS**************")); - GetTrackStats(); - if(fFlagP) - GetPStats(); - if(fFlagPt) - GetPtStats(); - if(fFlagPx) - GetPxStats(); - if(fFlagPy) - GetPyStats(); - if(fFlagPz) - GetPzStats(); - if(fFlagEta) - GetEtaStats(); - if(fFlagRap) - GetRapStats(); - if(fFlagbr) - GetBrStats(); - if(fFlagbz) - GetBzStats(); - AliInfo(Form("**************************************")); -} diff --git a/ANALYSIS/AliAnalysisTrackCuts.h b/ANALYSIS/AliAnalysisTrackCuts.h deleted file mode 100644 index 56c4cd59447..00000000000 --- a/ANALYSIS/AliAnalysisTrackCuts.h +++ /dev/null @@ -1,99 +0,0 @@ -#ifndef ALIANALYSISTRACKCUTS_H -#define ALIANALYSISTRACKCUTS_H -/* See cxx source for full Copyright notice */ - - -/* $Id$ */ - -//------------------------------------------------------------------------- -// Class AliAnalysisTrackCuts -// This is the class for the cuts in event & track level -// -// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch -//------------------------------------------------------------------------- - -#include - -class AliESD; -class AliESDtrack; - -class TPaveText; -class TObjArray; - -class AliAnalysisTrackCuts : public TObject -{ - public: - AliAnalysisTrackCuts(); - - ~AliAnalysisTrackCuts(); - - void Reset(); - - void SetPRange(Float_t r1, Float_t r2); - void SetPtRange(Float_t r1, Float_t r2); - void SetPxRange(Float_t r1, Float_t r2); - void SetPyRange(Float_t r1, Float_t r2); - void SetPzRange(Float_t r1, Float_t r2); - void SetBrRange(Float_t r1, Float_t r2); - void SetBzRange(Float_t r1, Float_t r2); - void SetEtaRange(Float_t r1, Float_t r2); - void SetRapRange(Float_t r1, Float_t r2); - - Bool_t IsAccepted(AliESD *esd,AliESDtrack *esdtrack); - TObjArray *GetAcceptedParticles(AliESD *esd); - - TPaveText *GetTrackCuts(); - void PrintTrackCuts(); - void GetTrackStats(); - void GetPStats(); - void GetPxStats(); - void GetPyStats(); - void GetPzStats(); - void GetPtStats(); - void GetEtaStats(); - void GetRapStats(); - void GetBrStats(); - void GetBzStats(); - - private: - Float_t fPMin, fPMax; //Definition of the range of the P - Float_t fPtMin, fPtMax; //Definition of the range of the Pt - Float_t fPxMin, fPxMax; //Definition of the range of the Px - Float_t fPyMin, fPyMax; //Definition of the range of the Py - Float_t fPzMin, fPzMax; //Definition of the range of the Pz - Float_t fEtaMin, fEtaMax; //Definition of the range of the eta - Float_t fRapMin, fRapMax; //Definition of the range of the y - Float_t fBrMin, fBrMax; //Definition of the range of the br - Float_t fBzMin, fBzMax; //Definition of the range of the bz - - Int_t fP; //Number of events rejected due to P cut - Int_t fPt; //Number of events rejected due to Pt cut - Int_t fPx; //Number of events rejected due to Px cut - Int_t fPy; //Number of events rejected due to Py cut - Int_t fPz; //Number of events rejected due to Pz cut - Int_t fEta; //Number of events rejected due to eta cut - Int_t fRap; //Number of events rejected due to y cut - Int_t fbr; //Number of events rejected due to br cut - Int_t fbz; //Number of events rejected due to bz cut - Int_t fTotalTracks; //Total number of tracks - Int_t fAcceptedTracks; //Total number of accepted tracks - - Int_t fFlagP; //Flag that shows if the P cut was imposed - Int_t fFlagPt; //Flag that shows if the Pt cut was imposed - Int_t fFlagPx; //Flag that shows if the Px cut was imposed - Int_t fFlagPy; //Flag that shows if the Py cut was imposed - Int_t fFlagPz; //Flag that shows if the Pz cut was imposed - Int_t fFlagEta; //Flag that shows if the eta cut was imposed - Int_t fFlagRap; //Flag that shows if the y cut was imposed - Int_t fFlagbr; //Flag that shows if the br cut was imposed - Int_t fFlagbz; //Flag that shows if the bz cut was imposed - - TObjArray *fAcceptedParticleList; //List of accepted particles after quality cuts - - AliAnalysisTrackCuts(const AliAnalysisTrackCuts&); // Not implemented - AliAnalysisTrackCuts& operator=(const AliAnalysisTrackCuts&); // Not implemented - - ClassDef(AliAnalysisTrackCuts, 2) -} ; - -#endif diff --git a/ANALYSIS/AliClusterMap.cxx b/ANALYSIS/AliClusterMap.cxx deleted file mode 100644 index 711c1ba75a4..00000000000 --- a/ANALYSIS/AliClusterMap.cxx +++ /dev/null @@ -1,172 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -/////////////////////////////////////////////////////////////////////////// -// -// class AliClusterMap -// class that describes cluster occupation at TPC -// Each padraw has a corresponding bit in fPadRawMap -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////////////////////// - -#include - -#include "AliClusterMap.h" -#include "AliESDtrack.h" -#include "AliLog.h" -#include "AliTPCtrack.h" - -const Int_t AliClusterMap::fgkNPadRows = 159; - -ClassImp(AliClusterMap) - -AliClusterMap::AliClusterMap(): - fPadRawMap(fgkNPadRows) -{ -//ctor - -} -/***********************************************************************/ -AliClusterMap::AliClusterMap(AliESDtrack* track): - fPadRawMap( (track)?track->GetTPCClusterMap():fgkNPadRows ) -{ - //ctor - - StdoutToAliDebug(3,Print()); - -} -/***********************************************************************/ - -AliClusterMap::AliClusterMap(AliTPCtrack* track): - fPadRawMap(fgkNPadRows) -{ - //ctor - - AliDebug(10,"#####################################################################"); - if (track == 0x0) - { - Error("AliClusterMap","Pointer to TPC track is NULL"); - return; - } - Int_t prevrow = -1; - Int_t i = 0; - for ( ; i < track->GetNumberOfClusters(); i++) - { - Int_t idx = track->GetClusterIndex(i); - Int_t sect = (idx&0xff000000)>>24; - Int_t row = (idx&0x00ff0000)>>16; - if (sect > 18) row +=63; //if it is outer sector, add number of inner sectors - AliDebug(9,Form("Cl.idx is %d, sect %d, row %d",idx,sect,row)); - - fPadRawMap.SetBitNumber(row,kTRUE); - - //Fill the gap between previous row and this row with 0 bits - if (prevrow < 0) - { - prevrow = row;//if previous bit was not assigned yet == this is the first one - } - else - { //we don't know the order (inner to outer or reverse) - //just to be save in case it is going to change - Int_t n = 0, m = 0; - if (prevrow < row) - { - n = prevrow; - m = row; - } - else - { - n = row; - m = prevrow; - } - for (Int_t j = n+1; j < m; j++) - { - fPadRawMap.SetBitNumber(j,kFALSE); - } - prevrow = row; - } - } - - StdoutToAliDebug(3,Print()); - -} -/***********************************************************************/ - -void AliClusterMap::Print() const -{ -//Prints the bit map - TString msg; - for ( Int_t i = 0; i < fgkNPadRows; i++) - { - if ( fPadRawMap.TestBitNumber(i) ) - { - msg+="1"; - } - else - { - msg+="0"; - } - } - Info("AliClusterMap","BitMap is\n %s",msg.Data()); - -} - -/***********************************************************************/ - -Float_t AliClusterMap::GetOverlapFactor(const AliClusterMap& clmap) const -{ - //Returns quality factor FQ = Sum(An)/Sum(clusters) - // | -1; if both tracks have a cluster on padrow n - //An = < 0; if neither track has a cluster on padrow n - // | 1; if only one trackhas a cluster on padrow n - // Returned value ranges between - // -0.5 (low probability that these tracks are a split track) - // and - // 1.0 (high probability that these tracks are a split track) - - Int_t nh = 0; - Int_t an = 0; - for ( Int_t i = 0; i < fgkNPadRows; i++) - { - Bool_t x = HasClAtPadRow(i); - Bool_t y = clmap.HasClAtPadRow(i); - - if (x && y)//both have clasters - { - an--; - nh+=2; - } - else - { - - if (x || y)//only one have cluters - { - an++; - nh++; - } - } - } - - - Float_t retval = 0.0; - if (nh > 0) retval = ((Float_t)an)/((Float_t)nh); - else Warning("GetOverlapFactor","Number of counted cluters is 0."); - - return retval; -} diff --git a/ANALYSIS/AliClusterMap.h b/ANALYSIS/AliClusterMap.h deleted file mode 100644 index e382b46f6e3..00000000000 --- a/ANALYSIS/AliClusterMap.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef ALICLUSTERMAP_H -#define ALICLUSTERMAP_H - -/////////////////////////////////////////////////////////////////////////// -// -// class AliClusterMap -// class that describes cluster occupation at TPC -// Each padraw has a corresponding bit in fPadRawMap -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////////////////////// - - -#include -#include - -class AliTPCtrack; -class AliESDtrack; -class TBits; - -class AliClusterMap: public TObject -{ - public: - AliClusterMap(); - AliClusterMap(AliTPCtrack* track); - AliClusterMap(AliESDtrack* track); - virtual ~AliClusterMap(){} - Float_t GetOverlapFactor(const AliClusterMap& clmap) const; - Bool_t HasClAtPadRow(Int_t i) const { return fPadRawMap.TestBitNumber(i);} - void Print(const Option_t * opt) const {TObject::Print(opt);} - void Print() const; - protected: - private: - TBits fPadRawMap;//bit vector of length 150 correspondind to total number of padraws in TPC - static const Int_t fgkNPadRows; // Number of pad rows - ClassDef(AliClusterMap,1) -}; - -#endif diff --git a/ANALYSIS/AliEventBaseCut.cxx b/ANALYSIS/AliEventBaseCut.cxx deleted file mode 100644 index d0c70680f12..00000000000 --- a/ANALYSIS/AliEventBaseCut.cxx +++ /dev/null @@ -1,94 +0,0 @@ -#include "AliEventBaseCut.h" -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliEventBaseCut -// -// -// -// -/////////////////////////////////////////////////////////// - -#include -ClassImp(AliEventBaseCut) - -AliEventBaseCut::AliEventBaseCut(): - fMin(0.0), - fMax(0.0), - fProperty(kNone) -{ -//ctor -} -/**********************************************************/ - -AliEventBaseCut::AliEventBaseCut(Double_t min, Double_t max, EEventCutProperty prop): - fMin(min), - fMax(max), - fProperty(prop) -{ - //ctor -} -/**********************************************************/ - -Bool_t AliEventBaseCut::Rejected(AliAOD* aod) const -{ -//Checks if value is in the range, -// returns true if it is in the range, false otherwise - Double_t v = GetValue(aod); -// Info("Rejected","Value %f Min %f Max %f",v,fMin,fMax); - if ( ( v < fMin) || ( v > fMax) ) return kTRUE; - return kFALSE; -} -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ -ClassImp(AliPrimVertexXCut) - -Double_t AliPrimVertexXCut::GetValue(AliAOD* aod) const -{ - //returns x coordinate of the primary vertex - Double_t x = 0, y = 0, z = 0; - if (aod) aod->GetPrimaryVertex(x,y,z); - return x; -} -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ -ClassImp(AliPrimVertexYCut) - -Double_t AliPrimVertexYCut::GetValue(AliAOD* aod) const -{ - //returns x coordinate of the primary vertex - Double_t x = 0, y = 0, z = 0; - if (aod) aod->GetPrimaryVertex(x,y,z); - return y; -} -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ -ClassImp(AliPrimVertexZCut) - -Double_t AliPrimVertexZCut::GetValue(AliAOD* aod) const -{ - //returns x coordinate of the primary vertex - Double_t x = 0, y = 0, z = 0; - if (aod) aod->GetPrimaryVertex(x,y,z); - return z; -} - -/**********************************************************/ -/**********************************************************/ -/**********************************************************/ - -ClassImp(AliNChargedCut) - -Double_t AliNChargedCut::GetValue(AliAOD* aod) const -{ - //returns number of charged particles - if (aod) - { - return aod->GetNumberOfCharged(fEtaMin,fEtaMax); - } - Error("GetValue","Pointer to AOD is NULL"); - return 0.0; -} diff --git a/ANALYSIS/AliEventBaseCut.h b/ANALYSIS/AliEventBaseCut.h deleted file mode 100644 index 03c0e2bb073..00000000000 --- a/ANALYSIS/AliEventBaseCut.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef ALIEVENTBASECUT_H -#define ALIEVENTBASECUT_H -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliEventBaseCut -// -// Base class for cauts that checks only one event property -// -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////// - -#include "TObject.h" - -class AliAOD; - -class AliEventBaseCut: public TObject -{ - public: - enum EEventCutProperty { - kPrimVertexXCut,kPrimVertexYCut,kPrimVertexZCut, - kNChargedCut,kNone - }; - - AliEventBaseCut(); - AliEventBaseCut(Double_t min,Double_t max, EEventCutProperty prop = kNone); - virtual ~AliEventBaseCut(){} - virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected - virtual void SetRange(Double_t min, Double_t max){fMin = min; fMax = max;} - - virtual EEventCutProperty GetProperty()const{return fProperty;} - - protected: - virtual Double_t GetValue(AliAOD* aod) const = 0; - - Double_t fMin;//Minimum value - Double_t fMax;//Maximum value - EEventCutProperty fProperty;//Defines the type of the cut - used by the setters cut - - private: - ClassDef(AliEventBaseCut,1) -}; - -/************************************************************/ - -class AliPrimVertexXCut: public AliEventBaseCut -{ - public: - AliPrimVertexXCut():AliEventBaseCut(0,0,kPrimVertexXCut){} - AliPrimVertexXCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexXCut){} - virtual ~AliPrimVertexXCut(){} - protected: - Double_t GetValue(AliAOD* aod) const; - - private: - ClassDef(AliPrimVertexXCut,1) -}; -/************************************************************/ - -class AliPrimVertexYCut: public AliEventBaseCut -{ - public: - AliPrimVertexYCut():AliEventBaseCut(0,0,kPrimVertexYCut){} - AliPrimVertexYCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexYCut){} - virtual ~AliPrimVertexYCut(){} - - protected: - Double_t GetValue(AliAOD* aod) const; - - private: - ClassDef(AliPrimVertexYCut,1) -}; -/************************************************************/ - -class AliPrimVertexZCut: public AliEventBaseCut -{ - public: - AliPrimVertexZCut():AliEventBaseCut(0,0,kPrimVertexZCut){} - AliPrimVertexZCut(Double_t min,Double_t max):AliEventBaseCut(min,max,kPrimVertexZCut){} - virtual ~AliPrimVertexZCut(){} - protected: - Double_t GetValue(AliAOD* aod) const; - - private: - ClassDef(AliPrimVertexZCut,1) -}; - - -/************************************************************/ - -class AliNChargedCut: public AliEventBaseCut -{ - public: - AliNChargedCut():AliEventBaseCut(0,0,kNChargedCut),fEtaMin(-10.0),fEtaMax(10.0){} - AliNChargedCut(Int_t min, Int_t max, Double_t etamin = -10.0, Double_t etamax = 10.0): - AliEventBaseCut(min,max,kNChargedCut),fEtaMin(etamin),fEtaMax(etamax){} - virtual ~AliNChargedCut(){} - - void SetEtaRange(Double_t min,Double_t max){fEtaMin = min;fEtaMax = max;} - protected: - Double_t GetValue(AliAOD* aod) const; - Double_t fEtaMin;//Defines max of eta range where mult is caclulated - Double_t fEtaMax;//Defines min of eta range where mult is caclulated - - private: - ClassDef(AliNChargedCut,1) -}; - - -#endif diff --git a/ANALYSIS/AliEventBuffer.cxx b/ANALYSIS/AliEventBuffer.cxx deleted file mode 100644 index 983ef977612..00000000000 --- a/ANALYSIS/AliEventBuffer.cxx +++ /dev/null @@ -1,69 +0,0 @@ -#include "AliEventBuffer.h" - -ClassImp(AliEventBuffer) - -//______________________________________________________ -//////////////////////////////////////////////////////// -// -// class AliEventBuffer -// -// FIFO type event buffer -// -// Piotr.Skowronski@cern.ch -// -//////////////////////////////////////////////////////// - -AliEventBuffer::AliEventBuffer(): - fSize(-1),fEvents(),fIter(&fEvents) -{ - //ctor -} -/***********************************************************/ - -AliEventBuffer::AliEventBuffer(Int_t size): - fSize(size),fEvents(),fIter(&fEvents) -{ - //ctor -} -/***********************************************************/ - -AliEventBuffer::~AliEventBuffer() -{ - //dtor -- TList::IsOwner(1) does not work - Valgrind says that there is mem leak - //take care owerseves - if (fEvents.IsOwner()) - { - AliAOD* e=0x0; - while (( e=RemoveLast() )) delete e; - } -} -/***********************************************************/ - -void AliEventBuffer::Reset() -{ - //Resets the queue - if (fEvents.IsOwner()) - { - AliAOD* e=0x0; - while (( e=RemoveLast() )) delete e; - } - else - { - fEvents.RemoveAll(); - } -} -/***********************************************************/ - -AliAOD* AliEventBuffer::Push(AliAOD* event) -{ - //adds a new event, and returns old of do not fit in size - if (fSize == 0) return event; - - AliAOD* ret = 0x0; - - if (fSize == fEvents.GetSize()) - ret = dynamic_cast(fEvents.Remove(fEvents.Last())); - if (event) fEvents.AddFirst(event); - return ret; -} - diff --git a/ANALYSIS/AliEventBuffer.h b/ANALYSIS/AliEventBuffer.h deleted file mode 100644 index 7b354524fe4..00000000000 --- a/ANALYSIS/AliEventBuffer.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef AliEventBuffer_H -#define AliEventBuffer_H -//______________________________________________________ -//////////////////////////////////////////////////////// -// -// class AliEventBuffer -// -// FIFO type event buffer -// -// Piotr.Skowronski@cern.ch -// -//////////////////////////////////////////////////////// - -#include -#include -#include "AliAOD.h" - -class AliEventBuffer: public TObject -{ - public: - AliEventBuffer(); - AliEventBuffer(Int_t size); - virtual ~AliEventBuffer(); - - AliAOD* Push(AliAOD* event);//adds a new event, and returns old of do not fit in size - AliAOD* RemoveLast(){return dynamic_cast(fEvents.Remove(fEvents.Last()));} - void ResetIter(){fIter.Reset();} - AliAOD* Next(){return dynamic_cast( fIter.Next() );} - void SetSize(Int_t size){fSize = size;} - Int_t GetSize() const {return fSize;} - void SetOwner(Bool_t flag) {fEvents.SetOwner(flag);} - void Reset(); - protected: - private: - Int_t fSize;//size of buffer; if -1 infinite size - TList fEvents;//list with arrays - TIter fIter;//iterator - ClassDef(AliEventBuffer,1) -}; - - -#endif diff --git a/ANALYSIS/AliEventCut.cxx b/ANALYSIS/AliEventCut.cxx deleted file mode 100644 index 447787c06b2..00000000000 --- a/ANALYSIS/AliEventCut.cxx +++ /dev/null @@ -1,139 +0,0 @@ -#include "AliEventCut.h" - -/////////////////////////////////////////////////////////// -// -// class AliEventCut -// -// Event cut. It has list of base event cuts. -// Each of base event cut checks only one property. -// Logical base cuts also exists that point to other base cuts. -// Using them one can build complicated cut with binary tree structure -// Author: Piotr.Skowronski@cern.ch -/////////////////////////////////////////////////////////// - -#include "AliEventBaseCut.h" - -ClassImp(AliEventCut) - -AliEventCut::AliEventCut(): - fBaseCuts(10) -{ -//costructor - -} -/*********************************************************/ -AliEventCut::AliEventCut(const AliEventCut& in): - TObject(in), - fBaseCuts(in.fBaseCuts) -{ - //cpy ctor - fBaseCuts.SetOwner(kTRUE); -} -/*********************************************************/ - -AliEventCut::~AliEventCut() -{ -//costructor -} - -/*********************************************************/ - -Bool_t AliEventCut::Rejected(AliAOD* aod) const -{ - //returns kTRUE if rejected - if (aod == 0x0) - { - Error("Pass","Pointer to AOD is NULL. Not passed the cut"); - return kFALSE; - } - - TIter iter(&fBaseCuts); - AliEventBaseCut* becut; - while (( becut = (AliEventBaseCut*)iter() )) - { - if (becut->Rejected(aod)) return kTRUE; - } - return kFALSE; -} -/*********************************************************/ -void AliEventCut::AddBasePartCut(AliEventBaseCut* ebcut) -{ -//Adds a base cut - if (ebcut == 0x0) - { - Error("AddBasePartCut","Pointer to base cut is NULL"); - return; - } - - if (ebcut->GetProperty() != AliEventBaseCut::kNone) - { - if (FindCut(ebcut->GetProperty())) - { - Warning("AddBasePartCut","Cut with this property is already in the list of base cuts"); - } - } - - fBaseCuts.Add(ebcut->Clone()); - -} -/*********************************************************/ - -AliEventBaseCut* AliEventCut::FindCut(AliEventBaseCut::EEventCutProperty prop) -{ -//Finds and returns pointer to the cut with given property - Int_t n = fBaseCuts.GetEntries(); - for (Int_t i = 0; iGetProperty() == prop) - return bcut; //we found the cut we were searching for - } - - return 0x0; //we did not found this cut - -} -/*********************************************************/ - -void AliEventCut::SetNChargedRange(Int_t min,Int_t max,Double_t etamin,Double_t etamax) -{ - //Sets renge of number of charged particles - AliNChargedCut* cut = dynamic_cast(FindCut(AliEventBaseCut::kNChargedCut)); - if(cut) - { - cut->SetRange(min,max); - cut->SetEtaRange(etamin,etamax); - } - else fBaseCuts.Add(new AliNChargedCut(min,max,etamin,etamax)); -} -/*********************************************************/ - -void AliEventCut::SetVertexXRange(Double_t min, Double_t max) -{ - //Sets range of z coordinate of a primary vertex - AliEventBaseCut* cut = FindCut(AliEventBaseCut::kPrimVertexXCut); - if (cut) cut->SetRange(min,max); - else fBaseCuts.Add(new AliPrimVertexXCut(min,max)); -} -/*********************************************************/ - -void AliEventCut::SetVertexYRange(Double_t min, Double_t max) -{ - //Sets range of z coordinate of a primary vertex - AliEventBaseCut* cut = FindCut(AliEventBaseCut::kPrimVertexYCut); - if (cut) cut->SetRange(min,max); - else fBaseCuts.Add(new AliPrimVertexYCut(min,max)); -} -/*********************************************************/ - -void AliEventCut::SetVertexZRange(Double_t min, Double_t max) -{ - //Sets range of z coordinate of a primary vertex - AliEventBaseCut* cut = FindCut(AliEventBaseCut::kPrimVertexZCut); - if (cut) cut->SetRange(min,max); - else fBaseCuts.Add(new AliPrimVertexZCut(min,max)); -} -/*********************************************************/ -/*********************************************************/ -/*********************************************************/ - -ClassImp(AliEventEmptyCut) diff --git a/ANALYSIS/AliEventCut.h b/ANALYSIS/AliEventCut.h deleted file mode 100644 index 198fd5b0069..00000000000 --- a/ANALYSIS/AliEventCut.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef ALIEVENTCUT_H -#define ALIEVENTCUT_H - -/////////////////////////////////////////////////////////// -// -// class AliEventCut -// -// Event cut. It has list of base event cuts. -// Each of base event cut checks only one property. -// Logical base cuts also exists that point to other base cuts. -// Using them one can build complicated cut with binary tree structure -// Author: Piotr.Skowronski@cern.ch -/////////////////////////////////////////////////////////// - -#include -#include -#include "AliEventBaseCut.h" - -class AliAOD; - -class AliEventCut: public TObject -{ - public: - AliEventCut(); - AliEventCut(const AliEventCut& in); - virtual ~AliEventCut(); - - virtual Bool_t Rejected(AliAOD* aod) const;//returns kTRUE if rejected - void AddBasePartCut(AliEventBaseCut* ebcut); - - void SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0); - void SetVertexXRange(Double_t min, Double_t max); - void SetVertexYRange(Double_t min, Double_t max); - void SetVertexZRange(Double_t min, Double_t max); - - protected: - AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop); - - TObjArray fBaseCuts; // Array of cuts - private: - ClassDef(AliEventCut,1) -}; - -class AliEventEmptyCut: public TObject -{ - public: - AliEventEmptyCut(){} - virtual ~AliEventEmptyCut(){} - - Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept - - protected: - private: - ClassDef(AliEventEmptyCut,1) -}; - -#endif diff --git a/ANALYSIS/AliFlowAnalysis.cxx b/ANALYSIS/AliFlowAnalysis.cxx deleted file mode 100644 index e5ddd3cea3e..00000000000 --- a/ANALYSIS/AliFlowAnalysis.cxx +++ /dev/null @@ -1,221 +0,0 @@ -#include "AliFlowAnalysis.h" - -//********************************************************* -// class AliFlowAnalysis -// Flow Analysis -// S.Radomski@gsi.de -// Piotr.Skowronski@cern.ch -//********************************************************* - -#include -#include -#include - -#include -#include - -ClassImp(AliFlowAnalysis) - -AliFlowAnalysis::AliFlowAnalysis(): - fPartCut(0x0) -{ - //ctor -} -/*********************************************************/ - -AliFlowAnalysis::~AliFlowAnalysis() -{ - //dtor - delete fPartCut; -} -/*********************************************************/ - -Int_t AliFlowAnalysis::Init() -{ - //Initilizes anaysis - Info("Init",""); - return 0; -} -/*********************************************************/ - -Int_t AliFlowAnalysis::ProcessEvent(AliAOD* aodrec, AliAOD* aodsim) -{ - // Process AOD events containing the reconstructed and simulated information - Info("ProcessEvent","Sim AOD address %#x",aodsim); - Double_t psi = 0, v2 = 0; - if (aodrec) - { - GetFlow(aodrec,v2,psi); - Info("ProcessEvent","Reconstructed Event: Event plane is %f, V2 is %f",psi,v2); - } - - if (aodsim) - { - GetFlow(aodsim,v2,psi); - Info("ProcessEvent","Simulated Event: Event plane is %f, V2 is %f",psi,v2); - } - - return 0; - -} -/*********************************************************/ - -Int_t AliFlowAnalysis::Finish() -{ - //Finish analysis and writes results - Info("Init","Finish"); - return 0; -} -/*********************************************************/ - -Double_t AliFlowAnalysis::GetEventPlane(AliAOD* aod) -{ - //returns event plane in degrees - if (aod == 0x0) - { - Error("AliFlowAnalysis::GetFlow","Pointer to AOD is NULL"); - return -1.0; - } - - Double_t psi; - Int_t mult = aod->GetNumberOfParticles(); - - Double_t ssin = 0, scos = 0; - - for (Int_t i=0; iGetParticle(i); - if (aodtrack == 0x0) - { - Error("AliFlowAnalysis::GetEventPlane","Can not get track %d", i); - continue; - } - - if (fPartCut) - if (fPartCut->Rejected(aodtrack)) - continue; - - Double_t phi = TMath::Pi()+TMath::ATan2(-aodtrack->Py(),-aodtrack->Px()); - - ssin += TMath::Sin( 2.0 * phi ); - scos += TMath::Cos( 2.0 * phi ); - } - - psi = atan2 (ssin, scos) / 2.0; - psi = psi * 180. / TMath::Pi(); - - return psi; - -} -/*********************************************************/ - -void AliFlowAnalysis::GetFlow(AliAOD* aod,Double_t& v2,Double_t& psi) -{ -//returns flow parameters: v2 and event plane - if (aod == 0x0) - { - Error("AliFlowAnalysis::GetFlow","Pointer to AOD is NULL"); - return; - } - - psi = GetEventPlane(aod); - Int_t mult = aod->GetNumberOfParticles(); - - Double_t ssin = 0, scos = 0; - - for (Int_t i=0; iGetParticle(i); - if (aodtrack == 0x0) - { - Error("AliFlowAnalysis::GetEventPlane","Can not get track %d", i); - continue; - } - if (fPartCut) - if (fPartCut->Rejected(aodtrack)) - continue; - - Double_t phi = TMath::Pi()+TMath::ATan2(-aodtrack->Py(),-aodtrack->Px()); - ssin += TMath::Sin( 2.0 * (phi - psi)); - scos += TMath::Cos( 2.0 * (phi - psi)); - } - - v2 = TMath::Hypot(ssin,scos); -} - - -/*********************************************************/ - -Double_t AliFlowAnalysis::GetEventPlane(AliESD* esd) -{ - //returns event plane - if (esd == 0x0) - { - ::Error("AliFlowAnalysis::GetFlow","Pointer to ESD is NULL"); - return -1.0; - } - - Double_t psi; - Int_t mult = esd->GetNumberOfTracks(); - - Double_t ssin = 0, scos = 0; - - for (Int_t i=0; iGetTrack(i); - if (esdtrack == 0x0) - { - ::Error("AliFlowAnalysis::GetEventPlane","Can not get track %d", i); - continue; - } - - Double_t mom[3];//momentum - esdtrack->GetPxPyPz(mom); - Double_t phi = TMath::Pi()+TMath::ATan2(-mom[1],-mom[0]); - - ssin += TMath::Sin( 2.0 * phi ); - scos += TMath::Cos( 2.0 * phi ); - } - - psi = atan2 (ssin, scos) / 2.0; - psi = psi * 180. / TMath::Pi(); - - return psi; - -} -/*********************************************************/ - -void AliFlowAnalysis::GetFlow(AliESD* esd,Double_t& v2,Double_t& psi) -{ -//returns flow parameters: v2 and event plane - if (esd == 0x0) - { - ::Error("AliFlowAnalysis::GetFlow","Pointer to ESD is NULL"); - return; - } - - psi = GetEventPlane(esd); - Int_t mult = esd->GetNumberOfTracks(); - - Double_t ssin = 0, scos = 0; - - for (Int_t i=0; iGetTrack(i); - if (esdtrack == 0x0) - { - ::Error("AliFlowAnalysis::GetEventPlane","Can not get track %d", i); - continue; - } - - Double_t mom[3];//momentum - esdtrack->GetPxPyPz(mom); - Double_t phi = TMath::Pi()+TMath::ATan2(-mom[1],-mom[0]); - - ssin += TMath::Sin( 2.0 * (phi - psi)); - scos += TMath::Cos( 2.0 * (phi - psi)); - } - - v2 = TMath::Hypot(ssin,scos); -} -/*********************************************************/ diff --git a/ANALYSIS/AliFlowAnalysis.h b/ANALYSIS/AliFlowAnalysis.h deleted file mode 100644 index ea6c003a40b..00000000000 --- a/ANALYSIS/AliFlowAnalysis.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef ALIFLOWANALYSIS_H -#define ALIFLOWANALYSIS_H - -//********************************************************* -// class AliFlowAnalysis -// Flow Analysis -// S.Radomski@gsi.de -// Piotr.Skowronski@cern.ch -//********************************************************* - -#include "AliAnalysis.h" - -class AliESD; -class AliAOD; -class AliStack; -class AliAODParticleCut; - -class AliFlowAnalysis: public AliAnalysis -{ - public: - AliFlowAnalysis(); - virtual ~AliFlowAnalysis(); - - Int_t Init(); - Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim = 0x0); - Int_t Finish(); - - void SetParticleCut(AliAODParticleCut* pcut){fPartCut = pcut;} - static Double_t GetEventPlane(AliESD* esd); - static void GetFlow(AliESD* esd,Double_t& v2,Double_t& psi); - - Double_t GetEventPlane(AliAOD* aod); - void GetFlow(AliAOD* aod,Double_t& v2,Double_t& psi); - protected: - - private: - AliAODParticleCut* fPartCut;//Particle Cut - - AliFlowAnalysis(const AliFlowAnalysis&); // Not implemented - AliFlowAnalysis& operator=(const AliFlowAnalysis&); // Not implemented - - ClassDef(AliFlowAnalysis,1) -}; - -#endif diff --git a/ANALYSIS/AliMuonAnalysis.cxx b/ANALYSIS/AliMuonAnalysis.cxx deleted file mode 100644 index 5dc9a1c8907..00000000000 --- a/ANALYSIS/AliMuonAnalysis.cxx +++ /dev/null @@ -1,189 +0,0 @@ -#include "AliMuonAnalysis.h" -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliMuonAnalysis -// -// MUON Analysis -// -// -// -// finck@subatech.in2p3.fr -// -/////////////////////////////////////////////////////////// -/*********************************************************/ - -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include "TFile.h" -#include "TH1.h" -#include "TH2.h" - -ClassImp(AliMuonAnalysis) - -AliMuonAnalysis::AliMuonAnalysis(): - fHistoFile(0x0), - fHPtMuon(0x0), - fHPtMuonPlus(0x0), - fHPtMuonMinus(0x0), - fHPMuon(0x0), - fHInvMassAll(0x0), - fHRapMuon(0x0), - fHRapResonance(0x0), - fHPtResonance(0x0), - fHInvMassAllvsPt(0x0), - fPartCut(0x0) -{ - //ctor -} - -/*********************************************************/ -AliMuonAnalysis::~AliMuonAnalysis() -{ - //dtor - delete fPartCut; - delete fHistoFile; - delete fHPtMuon; - delete fHPtMuonPlus; - delete fHPtMuonMinus; - delete fHPMuon; - delete fHInvMassAll; - delete fHRapMuon; - delete fHRapResonance; - delete fHPtResonance; - delete fHInvMassAllvsPt; -} -/*********************************************************/ - -Int_t AliMuonAnalysis::Init() -{ - //Initilizes analysis - Info("Init","Histo initialized for MUON Analysis"); - - fHistoFile = new TFile("MUONmassPlot.root", "RECREATE"); - fHPtMuon = new TH1F("hPtMuon", "Muon Pt (GeV/c)", 100, 0., 20.); - fHPMuon = new TH1F("hPMuon", "Muon P (GeV/c)", 100, 0., 200.); - fHPtMuonPlus = new TH1F("hPtMuonPlus", "Muon+ Pt (GeV/c)", 100, 0., 20.); - fHPtMuonMinus = new TH1F("hPtMuonMinus", "Muon- Pt (GeV/c)", 100, 0., 20.); - fHInvMassAll = new TH1F("hInvMassAll", "Mu+Mu- invariant mass (GeV/c2)", 480, 0., 12.); - fHRapMuon = new TH1F("hRapMuon"," Muon Rapidity",50,-4.5,-2); - fHRapResonance = new TH1F("hRapResonance"," Resonance Rapidity",50,-4.5,-2); - fHPtResonance = new TH1F("hPtResonance", "Resonance Pt (GeV/c)", 100, 0., 20.); - fHInvMassAllvsPt = new TH2F("hInvMassAll_vs_Pt","hInvMassAll_vs_Pt",480,0.,12.,80,0.,20.); - - return 0; -} -/*********************************************************/ - -Int_t AliMuonAnalysis::ProcessEvent(AliAOD* aodrec, AliAOD* aodsim) -{ - // - // process the event - // - if (aodrec) { - GetInvMass(aodrec); - // Info("ProcessEvent","Inv Mass Rec"); - } - - if (aodsim) { - // Info("ProcessEvent","aodsim not implemented"); - } - - return 0; - -} - -/*********************************************************/ - -Int_t AliMuonAnalysis::Finish() -{ - //Finish analysis and writes results - Info("Finish","Histo writing for MUON Analysis"); - - fHistoFile->Write(); - fHistoFile->Close(); - - return 0; -} -/*********************************************************/ - -void AliMuonAnalysis::GetInvMass(AliAOD* aod) -{ - // get the invariant mass distribution - // from the oad events - - TLorentzVector lorV1, lorV2, lorVtot; - Float_t massMin = 9.17; - Float_t massMax = 9.77; - Int_t charge1, charge2; - -//returns flow parameters: v2 and event plane - if (aod == 0x0) { - Error("AliMuonAnalysis::GetInvMass","Pointer to AOD is NULL"); - return; - } - - Int_t nPart = aod->GetNumberOfParticles(); - - for (Int_t iPart1 = 0; iPart1 < nPart; iPart1++) { - AliAODParticle* aodPart1 = (AliAODParticle*)aod->GetParticle(iPart1); - - if (aodPart1 == 0x0) { - Error("AliMuonAnalysis::GetInvMass","Cannot get particle %d", iPart1); - continue; - } - - lorV1.SetPxPyPzE(aodPart1->Px(), - aodPart1->Py(), - aodPart1->Pz(), - aodPart1->E()); - - fHPtMuon->Fill(lorV1.Pt()); - fHPMuon->Fill(lorV1.P()); - - charge1 = TMath::Sign(1,aodPart1->GetPdgCode()); - - if (charge1 > 0) { - fHPtMuonPlus->Fill(lorV1.Pt()); - } else { - fHPtMuonMinus->Fill(lorV1.Pt()); - } - fHRapMuon->Fill(lorV1.Rapidity()); - for (Int_t iPart2 = iPart1 + 1; iPart2 < nPart; iPart2++) { - - AliAODParticle* aodPart2 = (AliAODParticle*)aod->GetParticle(iPart2); - - lorV2.SetPxPyPzE(aodPart2->Px(), - aodPart2->Py(), - aodPart2->Pz(), - aodPart2->E()); - - charge2 = TMath::Sign(1,aodPart2->GetPdgCode()); - - if ((charge1 * charge2) == -1) { - - lorVtot = lorV1; - lorVtot += lorV2; - Float_t invMass = lorVtot.M(); - - fHInvMassAll->Fill(invMass); - fHInvMassAllvsPt->Fill(invMass,lorVtot.Pt()); - - if (invMass > massMin && invMass < massMax) { - fHRapResonance->Fill(lorVtot.Rapidity()); - fHPtResonance->Fill(lorVtot.Pt()); - } - } - - } - } -} diff --git a/ANALYSIS/AliMuonAnalysis.h b/ANALYSIS/AliMuonAnalysis.h deleted file mode 100644 index d158e0d14f9..00000000000 --- a/ANALYSIS/AliMuonAnalysis.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef ALIMUONANALYSIS_H -#define ALIMUONANALYSIS_H -//________________________________ -/////////////////////////////////////////////////////////// -// -// class AliMuonAnalysis -// -// Flow Analysis -// -// -// S.Radomski@gsi.de -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////// - -#include "AliAnalysis.h" - -class AliESD; -class AliAOD; -class AliStack; -class AliAODParticleCut; -class TFile; -class TH1F; -class TH2F; - -class AliMuonAnalysis: public AliAnalysis -{ - public: - AliMuonAnalysis(); - virtual ~AliMuonAnalysis(); - - Int_t Init(); - Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim); - Int_t Finish(); - - void SetParticleCut(AliAODParticleCut* pcut){fPartCut = pcut;} - - void GetInvMass(AliAOD* aod); - - protected: - - private: - - TFile *fHistoFile; // histogramm file pointer - TH1F *fHPtMuon; // Muon Pt distribution - TH1F *fHPtMuonPlus; // Muon Plus Pt distribution - TH1F *fHPtMuonMinus; // Muon Minus Pt distribution - TH1F *fHPMuon; // Muon momentum distribution - TH1F *fHInvMassAll; // Invariant mass distribution - TH1F *fHRapMuon; // Muon rapidity distribution - TH1F *fHRapResonance; // Muon rapidity distribution around resonance - TH1F *fHPtResonance; // Muon Pt distribution around resonance - TH2F *fHInvMassAllvsPt; // Invariant mass vs Pt distribution - - AliAODParticleCut* fPartCut;//Particle Cut - - AliMuonAnalysis(const AliMuonAnalysis&); // Not implemented - AliMuonAnalysis& operator=(const AliMuonAnalysis&); // Not implemented - - ClassDef(AliMuonAnalysis,1) -}; - -#endif diff --git a/ANALYSIS/AliReader.cxx b/ANALYSIS/AliReader.cxx deleted file mode 100644 index df65af7eae1..00000000000 --- a/ANALYSIS/AliReader.cxx +++ /dev/null @@ -1,501 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliReader -// -// Reader Base class -// Reads particles and tracks and -// puts them to the AliAOD objects and eventually, if needed, buffers AliAODs in AliAODRun(s) -// -// User loops over events calling method Next. In case of success this method returns 0. -// In case of error or if there is no more events to read, non-0 value is returned -// -// Reading can be rewound to the beginning using method Rewind. -// -// Tracks are read to the fEventRec (contains reconstructed tracks) -// and fEventSim (corresponding MC simulated data) data members, -// that are of the type AliAOD. -// -// If a given reader has ability of reading both, reconstructed and simulated data, -// these are structured in AODs so a "n'th" simulated particle -// (the one stored in the fEventSim at slot n) -// corresponds to the n'th reconstructed track (the one stored in the fEventRec at slot n). -// -// The same reconstructed track can be present more than ones in the AOD, -// but with a different PID. In this case -// pointer to the corresponding MC simulated particles is also present more than ones. -// This situation happens if you want to read all particles -// with PID probability of being , e.g., pion higher than 60% -// and being kaon higher than 40%. Than, if a given track has probability Ppid(pi)=52% and Ppid(K)=48% -// than it is read twise. -// -// Provides functionality for both buffering and non-buffering reading -// This can be switched on/off via method SetEventBuffering(bool) -// The main method that inheriting classes need to implement is ReadNext() -// that read next event in queue. -// -// The others are: -// Bool_t ReadsRec() const; specifies if reader is able to read simulated particles -// Bool_t ReadsSim() const; specifies if reader is able to read reconstructed tracks -// void Rewind(); rewind reading to the beginning -// -// This class provides full functionality for reading from many sources -// User can provide TObjArray of TObjStrings (SetDirs method or via parameter -// in the constructor) which desribes paths of directories to search data in. -// If none specified current directory is searched. -// -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include - -#include "AliAOD.h" -#include "AliAODParticleCut.h" -#include "AliAODRun.h" -#include "AliLog.h" -#include "AliReader.h" - -ClassImp(AliReader) -//pure virtual - -/*************************************************************************************/ - -AliReader::AliReader(): - fEventList(0x0), - fCuts(new TObjArray()), - fDirs(0x0), - fCurrentEvent(0), - fCurrentDir(0), - fNEventsRead(0), - fEventRec(0x0), - fEventSim(0x0), - fRunSim(0x0), - fRunRec(0x0), - fIsRead(kFALSE), - fBufferEvents(kFALSE), - fBlend(kFALSE), - fFirst(0), - fLast(0), - fTrackCounter(0x0) -{ -//constructor -} -/*************************************************************************************/ - -AliReader::AliReader(TObjArray* dirs): - fEventList(0x0), - fCuts(new TObjArray()), - fDirs(dirs), - fCurrentEvent(0), - fCurrentDir(0), - fNEventsRead(0), - fEventRec(0x0), - fEventSim(0x0), - fRunSim(0x0), - fRunRec(0x0), - fIsRead(kFALSE), - fBufferEvents(kFALSE), - fBlend(kFALSE), - fFirst(0), - fLast(0), - fTrackCounter(0x0) -{ -//ctor with array of directories to read as parameter -} -/*************************************************************************************/ -AliReader::AliReader(const AliReader& in): - TNamed(in), - fEventList((in.fEventList)?(TGliteXmlEventlist*)in.fEventList->Clone():0x0), - fCuts((in.fCuts)?(TObjArray*)in.fCuts->Clone():0x0), - fDirs((in.fDirs)?(TObjArray*)in.fDirs->Clone():0x0), - fCurrentEvent(0), - fCurrentDir(0), - fNEventsRead(0), - fEventRec(0x0), - fEventSim(0x0), - fRunSim(0x0), - fRunRec(0x0), - fIsRead(kFALSE), - fBufferEvents(in.fBufferEvents), - fBlend(in.fBlend), - fFirst(in.fFirst), - fLast(in.fLast), - fTrackCounter(0x0) -{ - //cpy constructor -} - -AliReader::~AliReader() -{ -//destructor - if(fCuts) - { - fCuts->SetOwner(); - delete fCuts; - } - delete fEventSim; - delete fEventRec; - delete fTrackCounter; - delete fEventList; -} -/*************************************************************************************/ - -AliReader& AliReader::operator=(const AliReader& in) -{ - //Assigment operator - if (this == &in) return *this; - TNamed::operator=( (const TNamed&)in ); - - fCuts = (in.fCuts)?(TObjArray*)in.fCuts->Clone():0x0; - fDirs = (in.fDirs)?(TObjArray*)in.fDirs->Clone():0x0; - fCurrentEvent = 0; - fCurrentDir = 0; - fNEventsRead = 0; - fEventRec = 0x0; - fEventSim = 0x0; - fRunSim = 0x0; - fRunRec = 0x0; - fIsRead = kFALSE; - fBufferEvents = in.fBufferEvents; - fBlend = in.fBlend; - fFirst = in.fFirst; - fLast = in.fLast; - fTrackCounter = 0x0; - return *this; -} -/*************************************************************************************/ - -Int_t AliReader::Next() -{ -//moves to next event - - //if asked to read up to event nb. fLast, and it is overcome, report no more events - if ((fNEventsRead >= fLast) && (fLast > 0) ) return kTRUE; - - if (fTrackCounter == 0x0)//create Track Counter - { - fTrackCounter = new TH1I("trackcounter","Track Counter",20000,0,20000); - fTrackCounter->SetDirectory(0x0); - } - - do //if asked to read from event fFirst, rewind to it - { - if ( ReadNext() == kTRUE) //if no more evets, return it - return kTRUE; - }while (fNEventsRead < fFirst); - - //here we have event - - if (fBlend) Blend();//Mix particles order - - if (fBufferEvents)//store events if buffering is on - { - if ( ReadsRec() && fEventRec) - fRunRec->SetEvent(fNEventsRead-1-fFirst,fEventRec); - if ( ReadsSim() && fEventSim) - fRunSim->SetEvent(fNEventsRead-1-fFirst,fEventSim); - } - return kFALSE; -} -/*************************************************************************************/ - -void AliReader::AddParticleCut(AliAODParticleCut* cut) -{ - //sets the new cut. MAKES A COPY OF THE CUT !!!! - - if (!cut) //if cut is NULL return with error - { - Error("AddParticleType","NULL pointers are not accepted any more.\nIf You want to accept all particles of this type, set an empty cut "); - return; - } - AliAODParticleCut *c = (AliAODParticleCut*)cut->Clone(); - fCuts->Add(c); -} -/********************************************************************/ - -AliAOD* AliReader::GetEventSim(Int_t n) - { - //returns Nth event with simulated particles - if (ReadsSim() == kFALSE) - { - Error("GetParticleEvent","This reader is not able to provide simulated particles."); - return 0; - } - - if (!fIsRead) - { - if (ReadsSim() && (fRunSim == 0x0)) fRunSim = new AliAODRun(); - if (ReadsRec() && (fRunRec == 0x0)) fRunRec = new AliAODRun(); - - if (Read(fRunSim,fRunRec)) - { - Error("GetParticleEvent","Error in reading"); - return 0x0; - } - else fIsRead = kTRUE; - } - return fRunSim->GetEvent(n); - } -/********************************************************************/ - -AliAOD* AliReader::GetEventRec(Int_t n) - { - //returns Nth event with reconstructed tracks - if (ReadsRec() == kFALSE) - { - Error("GetTrackEvent","This reader is not able to provide recosntructed tracks."); - return 0; - } - if (!fIsRead) - { - if (ReadsSim() && (fRunSim == 0x0)) fRunSim = new AliAODRun(); - if (ReadsRec() && (fRunRec == 0x0)) fRunRec = new AliAODRun(); - - if(Read(fRunSim,fRunRec)) - { - Error("GetTrackEvent","Error in reading"); - return 0x0; - } - else fIsRead = kTRUE; - } - return fRunRec->GetEvent(n); - } -/********************************************************************/ - -Int_t AliReader::GetNumberOfSimEvents() - { - //returns number of events of particles - if (ReadsSim() == kFALSE) - { - Error("GetNumberOfPartEvents","This reader is not able to provide simulated particles."); - return 0; - } - - if (!fIsRead) - { - if (ReadsSim() && (fRunSim == 0x0)) fRunSim = new AliAODRun(); - if (ReadsRec() && (fRunRec == 0x0)) fRunRec = new AliAODRun(); - - if (Read(fRunSim,fRunRec)) - { - Error("GetNumberOfPartEvents","Error in reading"); - return 0; - } - else fIsRead = kTRUE; - } - return fRunSim->GetNumberOfEvents(); - } -/********************************************************************/ - -Int_t AliReader::GetNumberOfRecEvents() - { - //returns number of events of tracks - if (ReadsRec() == kFALSE) - { - Error("GetNumberOfTrackEvents","This reader is not able to provide recosntructed tracks."); - return 0; - } - if (!fIsRead) - { - if (ReadsSim() && (fRunSim == 0x0)) fRunSim = new AliAODRun(); - if (ReadsRec() && (fRunRec == 0x0)) fRunRec = new AliAODRun(); - - if(Read(fRunSim,fRunRec)) - { - Error("GetNumberOfTrackEvents","Error in reading"); - return 0; - } - else fIsRead = kTRUE; - } - return fRunRec->GetNumberOfEvents(); - } -/********************************************************************/ - -Int_t AliReader::Read(AliAODRun* particles, AliAODRun *tracks) -{ - //reads data and puts put to the particles and tracks objects - //reurns 0 if everything is OK - // - Info("Read",""); - - if ( ReadsSim() && (particles == 0x0) ) //check if an object is instatiated - { - Error("Read"," particles object must be instatiated before passing it to the reader"); - return 1; - } - if ( ReadsRec() && (tracks == 0x0) ) //check if an object is instatiated - { - Error("Read"," tracks object must be instatiated before passing it to the reader"); - return 1; - } - - if (ReadsSim()) particles->Reset();//clear runs == delete all old events - if (ReadsRec()) tracks->Reset(); - - Rewind(); - - Int_t i = 0; - while(Next() == kFALSE) - { - if (ReadsRec()) tracks->SetEvent(i,fEventRec); - if (ReadsSim()) particles->SetEvent(i,fEventSim); - i++; - } - return 0; -} -/*************************************************************************************/ - -Bool_t AliReader::Rejected(AliVAODParticle* p) -{ - //Method examines whether particle meets all cut and particle type criteria - - if(p==0x0)//of corse we not pass NULL pointers - { - Warning("Rejected()","No Pasaran! We never accept NULL pointers"); - return kTRUE; - } - //if no particle is specified, we pass all particles - //excluding NULL pointers, of course - if ( fCuts->GetEntriesFast() == 0 ) return kFALSE; //if no cut specified accept all particles - for(Int_t i=0; iGetEntriesFast(); i++) - { - AliAODParticleCut &cut = *((AliAODParticleCut*)fCuts->At(i)); - if(!cut.Rejected(p)) return kFALSE; //accepted - } - - return kTRUE;//not accepted -} -/*************************************************************************************/ - -Bool_t AliReader::Rejected(Int_t pid) -{ -//this method checks if any of existing cuts accepts this pid particles -//or any cuts accepts all particles - - if(pid == 0) - return kTRUE; - - if ( fCuts->GetEntriesFast() == 0 ) return kFALSE; //if no cut specified accept all particles - - for(Int_t i=0; iGetEntriesFast(); i++) - { - AliAODParticleCut &cut = *((AliAODParticleCut*)fCuts->At(i)); - //if some of cuts accepts all particles or some accepts particles of this type, accept - if ( (cut.GetPID() == 0) || (cut.GetPID() == pid) ) return kFALSE; - } - return kTRUE; -} -/*************************************************************************************/ - -TString AliReader::GetDirName(Int_t entry) -{ -//returns directory name of next one to read - TString retval;//return value - if (fDirs == 0x0) - { - if (entry == 0) - { - retval = "."; - return retval; - } - else - { - return retval; - } - } - - - if ( (entry >= fDirs->GetEntries()) || (entry < 0))//if out of bounds return empty string - { //note that entry==0 is accepted even if array is empty (size=0) - if ( (fDirs->GetEntries() == 0) && (entry == 0) ) - { - retval = "."; - return retval; - } - AliDebug(1,Form("Index %d out of bounds",entry)); - - return retval; - } - - - TClass *objclass = fDirs->At(entry)->IsA(); - TClass *stringclass = TObjString::Class(); - - TObjString *dir = (TObjString*)objclass->DynamicCast(stringclass,fDirs->At(entry)); - - if(dir == 0x0) - { - Error("GetDirName","Object in TObjArray is not a TObjString or its descendant"); - return retval; - } - AliDebug(1,Form("Returned ok %s",dir->String().Data())); - retval = dir->String(); - return retval; -} -/*************************************************************************************/ - -void AliReader::Blend() -{ - //randomly change positions of the particles after reading - //is used to check if some distributions (of many particle properties) - //depend on the order of particles - //(tracking gives particles Pt sorted) - Int_t npart = 0; - - if (fEventSim ) - { - npart = fEventSim->GetNumberOfParticles(); - } - else - if (fEventRec ) - { - npart = fEventRec->GetNumberOfParticles(); - } - else - { - return; - } - for (Int_t i = 2; i < npart; i++) - { - Int_t with = gRandom->Integer(i); -// Info("Blend","%d %d",i, with); - if (fEventSim) fEventSim->SwapParticles(i,with); - if (fEventRec) fEventRec->SwapParticles(i,with); - } -} -/*************************************************************************************/ - -void AliReader::WriteTrackCounter() const -{ - //writes the counter histogram - - if (fTrackCounter) fTrackCounter->Write(0,TObject::kOverwrite); - else - { - Warning("WriteTrackCounter","Counter is NULL"); - } -} diff --git a/ANALYSIS/AliReader.h b/ANALYSIS/AliReader.h deleted file mode 100644 index 7988dfd2007..00000000000 --- a/ANALYSIS/AliReader.h +++ /dev/null @@ -1,146 +0,0 @@ -#ifndef ALIREADER_H -#define ALIREADER_H -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliReader -// -// Reader Base class -// Reads particles and tracks and -// puts them to the AliAOD objects and eventually, if needed, buffers AliAODs in AliAODRun(s) -// -// User loops over events calling method Next. In case of success this method returns 0. -// In case of error or if there is no more events to read, non-0 value is returned -// -// Reading can be rewound to the beginning using method Rewind. -// -// Tracks are read to the fEventRec (contains reconstructed tracks) -// and fEventSim (corresponding MC simulated data) data members, -// that are of the type AliAOD. -// -// If a given reader has ability of reading both, reconstructed and simulated data, -// these are structured in AODs so a "n'th" simulated particle -// (the one stored in the fEventSim at slot n) -// corresponds to the n'th reconstructed track (the one stored in the fEventRec at slot n). -// -// The same reconstructed track can be present more than ones in the AOD, -// but with a different PID. In this case -// pointer to the corresponding MC simulated particles is also present more than ones. -// This situation happens if you want to read all particles -// with PID probability of being , e.g., pion higher than 60% -// and being kaon higher than 40%. Than, if a given track has probability Ppid(pi)=52% and Ppid(K)=48% -// than it is read twise. -// -// Provides functionality for both buffering and non-buffering reading -// This can be switched on/off via method SetEventBuffering(bool) -// The main method that inheriting classes need to implement is ReadNext() -// that read next event in queue. -// -// The others are: -// Bool_t ReadsSim() const; specifies if reader is able to read simulated particles -// Bool_t ReadsRec() const; specifies if reader is able to read reconstructed tracks -// void Rewind(); rewind reading to the beginning -// -// This class provides full functionality for reading from many sources -// User can provide TObjArray of TObjStrings (SetDirs method or via parameter -// in the constructor) which desribes paths of directories to search data in. -// If none specified current directory is searched. -// -// Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////////////////////// - -#include -#include - -class TGliteXmlEventlist; - -class AliAODRun; -class AliAOD; -class AliAODParticleCut; -class AliVAODParticle; -class TString; -class TH1I; - -class AliReader: public TNamed -{ - public: - AliReader(); - AliReader(TObjArray*); - AliReader(const AliReader& in); - virtual ~AliReader(); - - AliReader& operator=(const AliReader& in); - - virtual Int_t Next(); - virtual void Rewind() = 0; // - - virtual Bool_t ReadsSim() const = 0; //specifies if reader is able to read simulated particles - virtual Bool_t ReadsRec() const = 0;//specifies if reader is able to read reconstructed tracks - - void AddParticleCut(AliAODParticleCut* cut);//adds a particle cut to the list of cuts - - virtual AliAOD* GetEventRec() const {return fEventRec;}//returns current event with reconstructed tracks - virtual AliAOD* GetEventSim() const {return fEventSim;}//returns current event with simulated particles - - virtual AliAOD* GetEventRec(Int_t n);//returns event number n - virtual AliAOD* GetEventSim(Int_t n); - - virtual Int_t Read(const char * name) {return TObject::Read(name);} - virtual Int_t Read(AliAODRun* particles, AliAODRun *tracks);//Reads all available evenets and stores them in 'particles' and 'tracks' - - virtual Int_t GetNumberOfRecEvents();//Returns number of available events -> usually conncected with reading all events - //may be time consuming - virtual Int_t GetNumberOfSimEvents();// - - void SetEventList(TGliteXmlEventlist* evl){fEventList = evl;} - - void SetDirs(TObjArray* dirs){fDirs = dirs;} //sets array directories names - void SetEventBuffering(Bool_t flag){fBufferEvents = flag;}//switches on/off buffering - read data are kept in local buffer - void SetBlend(Bool_t flag = kTRUE){fBlend=flag;} //set blending - randomizing particle order - virtual Int_t GetNumberOfDirs() const {return (fDirs)?fDirs->GetEntries():0;} - void ReadEventsFromTo(Int_t first,Int_t last){fFirst = first; fLast = last;} - virtual TH1I* GetTrackCounter() const {return fTrackCounter;} - virtual void WriteTrackCounter() const;//Writes the track counting histigram - - protected: - - TGliteXmlEventlist* fEventList;//Event list delivered by GLite/AliEn - - TObjArray* fCuts;//array with particle cuts - TObjArray* fDirs;//arry with directories to read data from - - Int_t fCurrentEvent;//! number of current event in current directory - Int_t fCurrentDir;//! number of current directory - - Int_t fNEventsRead;//!total - - AliAOD* fEventRec; //! tracks read from current event - AliAOD* fEventSim; //! particles read from current event - - AliAODRun* fRunSim; //!simulated particles - AliAODRun* fRunRec; //!reconstructed tracks - - Bool_t fIsRead;//!flag indicating if the data are already read - Bool_t fBufferEvents;//flag indicating if the data should be bufferred - - Bool_t fBlend;// flag indicating if randomly change positions of the particles after reading - - Int_t fFirst;//first event to return (all before are skipped) - Int_t fLast;//the last one - - TH1I* fTrackCounter; //histogram with number of tracks read - - virtual Int_t ReadNext() = 0; //this methods reads next event and put result in fTracksEvent and/or fParticlesEvent - Bool_t Rejected(AliVAODParticle* p);//Checks if a given particle agains cuts - Bool_t Rejected(Int_t pid);//Checks if a given pid passes cuts - void Blend();//Mixes current events in a symmetric way so after mixing thy are consistent - - TString GetDirName(Int_t entry); - - private: - - ClassDef(AliReader,1)// -}; - -#endif diff --git a/ANALYSIS/AliReaderAOD.cxx b/ANALYSIS/AliReaderAOD.cxx deleted file mode 100644 index 234f8dc03b3..00000000000 --- a/ANALYSIS/AliReaderAOD.cxx +++ /dev/null @@ -1,488 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//______________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////////// -// // -// class AliReaderAOD // -// // -// Reader and Writer for AOD format. // -// AODs are stored in a tree named by the variable fgkTreeName. // -// There is stored 1 or 2 branches. Each of them stores AOD objects // -// First branch is named by the variable fgkReconstructedDataBranchName // -// ("reconstructed.") and keeps reconstructed data. // -// Second branch is called by the variable fgkSimulatedDataBranchName // -// ("simulated.") and stores Monte carlo truth. If both branches are present // -// AODs are parallel, i.e. nth particle in one branch corresponds to the nth // -// particle in the other one. // -// // -// Since we accept different formats of particles that are stored in AODs // -// reader must take care of that fact: clean buffer if the next file contains // -// different particle type. // -// // -// Piotr.Skowronski@cern.ch // -// // -//////////////////////////////////////////////////////////////////////////////// - - -#include -#include -#include -#include - -#include "AliAOD.h" -#include "AliLog.h" -#include "AliReaderAOD.h" - -const TString AliReaderAOD::fgkTreeName("TAOD"); -const TString AliReaderAOD::fgkReconstructedDataBranchName("reconstructed."); -const TString AliReaderAOD::fgkSimulatedDataBranchName("simulated."); - -ClassImp(AliReaderAOD) - -AliReaderAOD::AliReaderAOD(const Char_t* aodfilename): - fFileName(aodfilename), - fReadSim(kFALSE), - fReadRec(kTRUE), - fTree(0x0), - fFile(0x0), - fSimBuffer(0x0), - fRecBuffer(0x0) -{ - //ctor -} -/********************************************************************/ - -AliReaderAOD::~AliReaderAOD() -{ -//dtor - if (fEventSim == fSimBuffer ) - { - fEventSim = 0x0; - fEventRec = 0x0; - } - delete fSimBuffer; - delete fRecBuffer; - - delete fTree; - delete fFile; -} -/********************************************************************/ - -void AliReaderAOD::Rewind() -{ -//Rewinds reading - delete fTree; - fTree = 0x0; - delete fFile; - fFile = 0x0; - fCurrentDir = 0; - fNEventsRead= 0; -} -/********************************************************************/ -Int_t AliReaderAOD::ReadNext() -{ -//Reads next event - - Info("ReadNext","Entered"); - do //do{}while; is OK even if 0 dirs specified. In that case we try to read from "./" - { - if (fFile == 0x0) - { - Int_t openfailed = OpenFile(fCurrentDir);//rl is opened here - if (openfailed) - { - //Error("ReadNext","Error Occured while opening directory number %d",fCurrentDir); - fCurrentDir++; - continue; - } - fCurrentEvent = 0; - } - //Tree must exist because OpenFile would reuturn error in the other case - if ( fCurrentEvent >= fTree->GetEntries() ) - { - delete fTree; - fTree = 0x0; - delete fFile; - fFile = 0x0; - - delete fSimBuffer; - delete fRecBuffer; - - fSimBuffer = 0x0; - fRecBuffer = 0x0; - fCurrentDir++; - continue; - } - - Info("ReadNext","Getting event %d",fCurrentEvent); - fTree->GetEvent(fCurrentEvent); - Info("ReadNext","Getting event %d Done",fCurrentEvent); - - Int_t retval = 0; - if (fReadRec && fReadSim) - { - retval = ReadRecAndSim(); - } - else - { - if (fReadRec) retval = ReadRec(); - if (fReadSim) retval = ReadSim(); - } - - fCurrentEvent++; - if (retval != 0) - { - //something wrong has happend during reading this event, take next - continue; - } - - fNEventsRead++; - return retval;//success -> read one event - - }while(fCurrentDir < GetNumberOfDirs());//end of loop over directories specified in fDirs Obj Array - - return 1; //no more directories to read - - -} -/********************************************************************/ - -Int_t AliReaderAOD::ReadRecAndSim() -{ -//Reads raconstructed and simulated data - - Info("ReadRecAndSim","Found %d reconstructed tracks and %d simulated particles", - fRecBuffer->GetNumberOfParticles(),fSimBuffer->GetNumberOfParticles()); - - if (fCuts->GetEntriesFast() == 0x0) - {//if there is no cuts we return pointer to the buffer - if (fEventRec != fRecBuffer) - { - delete fEventRec; - delete fEventSim; - } - fEventRec = fRecBuffer;//fEventRec is the pointer that the user gets when he asks about an event - fEventSim = fSimBuffer; - } - else - {//if there are cuts specified - if ( (fEventRec == 0x0) || (fEventRec == fRecBuffer) ) - {//we need to create a new event, if it is not existing or it is the same as branch buffer - fEventRec = new AliAOD(); - fEventSim = new AliAOD(); - - fEventRec->SetParticleClass( fRecBuffer->GetParticleClass() ); - fEventSim->SetParticleClass( fSimBuffer->GetParticleClass() ); - } - else - {//or simply reset it in case it already exists - fEventRec->Reset(); - fEventSim->Reset(); - } - - Int_t npart = fRecBuffer->GetNumberOfParticles(); - - if (npart != fSimBuffer->GetNumberOfParticles()) - { - Error("ReadRecAndSim","There is different number of simulated and reconstructed particles!", - fSimBuffer->GetNumberOfParticles(),npart); - return 1; - } - for (Int_t i = 0; i < npart; i++) - { - AliVAODParticle* prec = fRecBuffer->GetParticle(i); - AliVAODParticle* psim = fSimBuffer->GetParticle(i); - - if (prec == 0x0) - { - Error("ReadRecAndSim","Reconstructed Particle is NULL !!!"); - continue; - } - if (psim == 0x0) - { - Error("ReadRecAndSim","Simulated Particle is NULL !!!"); - continue; - } - - if (Rejected(prec)) continue;//we make cuts only on reconstructed data - - fEventRec->AddParticle(prec); - fEventSim->AddParticle( fSimBuffer->GetParticle(i)); - } - } - - Info("ReadRecAndSim","Read %d reconstructed tracks and %d simulated particles", - fEventRec->GetNumberOfParticles(),fEventSim->GetNumberOfParticles()); - - fTrackCounter->Fill(fEventRec->GetNumberOfParticles()); - - return 0; -} -/********************************************************************/ - -Int_t AliReaderAOD::ReadRec() -{ -//Reads reconstructed data only - - Info("ReadRec","Found %d reconstructed tracks",fRecBuffer->GetNumberOfParticles()); - - if (fCuts->GetEntriesFast() == 0x0) - {//if there is no cuts we return pointer to the buffer - if (fEventRec != fRecBuffer) - { - delete fEventRec; - } - fEventRec = fRecBuffer;//fEventRec is the pointer that the user gets when he asks about an event - } - else - {//if there are cuts specified - if ( (fEventRec == 0x0) || (fEventRec == fRecBuffer) ) - {//we need to create a new event, if it is not existing or it is the same as branch buffer - fEventRec = new AliAOD(); - - fEventRec->SetParticleClass( fRecBuffer->GetParticleClass() ); - } - else - {//or simply reset it in case it already exists - fEventRec->Reset(); - } - - Int_t npart = fRecBuffer->GetNumberOfParticles(); - for (Int_t i = 0; i < npart; i++) - { - AliVAODParticle* prec = fRecBuffer->GetParticle(i); - if (Rejected(prec)) continue;//we make cuts only on simulated data - - fEventRec->AddParticle(prec); - } - } - - Info("ReadRec","Read %d reconstructed tracks",fEventRec->GetNumberOfParticles()); - fTrackCounter->Fill(fEventRec->GetNumberOfParticles()); - - return 0; -} -/********************************************************************/ - -Int_t AliReaderAOD::ReadSim() -{ -//Reads simulated data only - - Info("ReadSim","Found %d simulated particles",fSimBuffer->GetNumberOfParticles()); - - if (fCuts->GetEntriesFast() == 0x0) - {//if there is no cuts we return pointer to the buffer - if (fEventSim != fSimBuffer) - { - delete fEventSim; - } - fEventSim = fSimBuffer; - } - else - {//if there are cuts specified - if ( (fEventSim == 0x0) || (fEventSim == fSimBuffer) ) - {//we need to create a new event, if it is not existing or it is the same as branch buffer - fEventSim = new AliAOD(); - - fEventSim->SetParticleClass( fSimBuffer->GetParticleClass() ); - } - else - {//or simply reset it in case it already exists - fEventSim->Reset(); - } - - Int_t npart = fSimBuffer->GetNumberOfParticles(); - for (Int_t i = 0; i < npart; i++) - { - AliVAODParticle* prec = fSimBuffer->GetParticle(i); - if (Rejected(prec)) continue;//we make cuts only on simulated data - fEventSim->AddParticle(prec); - } - } - - Info("ReadSim","Read %d simulated particles",fEventSim->GetNumberOfParticles()); - fTrackCounter->Fill(fEventSim->GetNumberOfParticles()); - - - return 0; -} -/********************************************************************/ - -Int_t AliReaderAOD::OpenFile(Int_t n) -{ -//opens fFile with tree - -// Info("ReadNext","Opening File %d",n); - const TString dirname = GetDirName(n); - if (dirname == "") - { - AliDebug(3,"Got empty string as a directory name."); - return 1; - } - - TString filename = dirname +"/"+ fFileName; - fFile = TFile::Open(filename.Data()); - if ( fFile == 0x0) - { - Error("OpenFile","Can't open fFile %s",filename.Data()); - return 2; - } - if (!fFile->IsOpen()) - { - Error("OpenFile","Can't open fFile %s",filename.Data()); - delete fFile; - fFile = 0x0; - return 3; - } - - Info("ReadNext","File %s Is Opened, Getting the TREE",filename.Data()); - - fTree = dynamic_cast(fFile->Get(fgkTreeName)); - if (fTree == 0x0) - { - AliDebug(3,Form("Can not find TTree object named %s",fgkTreeName.Data())); - delete fFile; - fFile = 0x0; - return 4; - } - -// Info("ReadNext","Got TREE, Setting branch addresses"); - - if (fReadRec) - { - TBranch* branch = fTree->GetBranch(fgkReconstructedDataBranchName); - if (branch == 0x0) - { - Error("OpenFile","Can not find branch %s in file %s", - fgkReconstructedDataBranchName.Data(),filename.Data()); - - delete fTree; - fTree = 0x0; - delete fFile; - fFile = 0x0; - return 5; - } - fTree->SetBranchAddress(fgkReconstructedDataBranchName,&fRecBuffer); - } - - - if (fReadSim) - { - TBranch* branch = fTree->GetBranch(fgkSimulatedDataBranchName); - if (branch == 0x0) - { - Error("OpenFile","Can not find branch %s in file %s", - fgkSimulatedDataBranchName.Data(),filename.Data()); - - delete fTree; - fTree = 0x0; - delete fFile; - fFile = 0x0; - return 6; - } - fTree->SetBranchAddress(fgkSimulatedDataBranchName,&fSimBuffer); - } -// Info("ReadNext","Got TREE, Addresses are set."); -// Info("ReadNext","Quitting the method."); - - return 0; - -} -/********************************************************************/ - -Int_t AliReaderAOD::WriteAOD(AliReader* reader, const char* outfilename, const char* pclassname, Bool_t /*multcheck*/) -{ -//reads tracks from runs and writes them to file - ::Info("AliReaderAOD::Write","________________________________________________________"); - ::Info("AliReaderAOD::Write","________________________________________________________"); - ::Info("AliReaderAOD::Write","________________________________________________________"); - - if (reader == 0x0) - { - ::Error("AliReaderAOD::Write","Input Reader is NULL"); - return -1; - } - TFile *outfile = TFile::Open(outfilename,"recreate"); - if (outfile == 0x0) - { - ::Error("AliReaderAOD::Write","Can not open output file %s",outfilename); - return -1; - } - - TTree *tree = new TTree(fgkTreeName,"Tree with tracks"); - - TBranch *recbranch = 0x0, *simbranch = 0x0; - - AliAOD* eventrec = new AliAOD();//must be created before Branch is called. Otherwise clones array is not splitted - AliAOD* eventsim = new AliAOD();//AOD together with fParticles clones array knowing exact type of particles - - eventrec->SetParticleClassName(pclassname); - eventsim->SetParticleClassName(pclassname); - - AliAOD* recbuffer = eventrec; - AliAOD* simbuffer = eventsim; - - if (reader->ReadsRec()) recbranch = tree->Branch(fgkReconstructedDataBranchName,"AliAOD",&recbuffer,32000,99); - if (reader->ReadsSim()) simbranch = tree->Branch(fgkSimulatedDataBranchName,"AliAOD",&simbuffer,32000,99); - - reader->Rewind(); - while (reader->Next() == kFALSE) - { - - if (reader->ReadsRec()) - {//here we can get AOD that has different particle type - AliAOD* event = reader->GetEventRec(); - if ( eventrec->GetParticleClass() != event->GetParticleClass() ) - {//if class type is not what what we whant we copy particles - eventrec->CopyData(event); - recbuffer = eventrec; - } - else - {//else just pointer to event from input reader is passed - recbuffer = event; - } - } - - if (reader->ReadsSim()) - { - AliAOD* event = reader->GetEventSim(); - if ( eventsim->GetParticleClass() != event->GetParticleClass() ) - {//if class type is not what what we whant we copy particles - eventsim->CopyData(event); - simbuffer = eventrec; - } - else - {//else just pointer to event from input reader is passed - simbuffer = event; - } - } - tree->Fill(); - } - - ::Info("AliReaderAOD::Write","Written %d events",tree->GetEntries()); - outfile->cd(); - tree->Write(); - - delete eventsim; - delete eventrec; - - delete tree; - delete outfile; - return 0; -} - diff --git a/ANALYSIS/AliReaderESD.cxx b/ANALYSIS/AliReaderESD.cxx deleted file mode 100644 index b6aa2dfe1fb..00000000000 --- a/ANALYSIS/AliReaderESD.cxx +++ /dev/null @@ -1,869 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//____________________________________________________________________ -////////////////////////////////////////////////////////////////////// -// // -// class AliReaderESD // -// // -// reader for ALICE Event Summary Data (ESD). // -// // -// Piotr.Skowronski@cern.ch // -// // -////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include - -#include "AliAOD.h" -#include "AliAODParticle.h" -#include "AliClusterMap.h" -#include "AliESD.h" -#include "AliESDtrack.h" -#include "AliLog.h" -#include "AliReaderESD.h" -#include "AliRunLoader.h" -#include "AliStack.h" - -ClassImp(AliReaderESD) - -AliReaderESD::AliReaderESD(const Char_t* esdfilename, const Char_t* galfilename): - fESDFileName(esdfilename), - fGAlFileName(galfilename), - fFile(0x0), - fRunLoader(0x0), - fKeyIterator(0x0), - fReadSim(kFALSE), - fCheckParticlePID(kFALSE), - fReadMostProbableOnly(kFALSE), - fNTrackPoints(0), - fdR(0.0), - fClusterMap(kFALSE), - fITSTrackPoints(kFALSE), - fITSTrackPointsType(AliTrackPoints::kITS), - fMustTPC(kFALSE), - fReadCentralBarrel(kTRUE), - fReadMuon(kFALSE), - fReadPHOS(kFALSE), - fNTPCClustMin(0), - fNTPCClustMax(1500), - fTPCChi2PerClustMin(0.0), - fTPCChi2PerClustMax(10e5), - fChi2Min(0.0), - fChi2Max(10e5), - fC00Min(0.0), - fC00Max(10e5), - fC11Min(0.0), - fC11Max(10e5), - fC22Min(0.0), - fC22Max(10e5), - fC33Min(0.0), - fC33Max(10e5), - fC44Min(0.0), - fC44Max(10e5), - fTPCC00Min(0.0), - fTPCC00Max(10e5), - fTPCC11Min(0.0), - fTPCC11Max(10e5), - fTPCC22Min(0.0), - fTPCC22Max(10e5), - fTPCC33Min(0.0), - fTPCC33Max(10e5), - fTPCC44Min(0.0), - fTPCC44Max(10e5) - -{ - //cosntructor - if ( ((Int_t)kNSpecies) != ((Int_t)AliPID::kSPECIES)) - Fatal("AliReaderESD","ESD defintions probobly changed. Ask Youra."); -} -/********************************************************************/ - -AliReaderESD::AliReaderESD(TObjArray* dirs,const Char_t* esdfilename, const Char_t* galfilename): - AliReader(dirs), - fESDFileName(esdfilename), - fGAlFileName(galfilename), - fFile(0x0), - fRunLoader(0x0), - fKeyIterator(0x0), - fReadSim(kFALSE), - fCheckParticlePID(kFALSE), - fReadMostProbableOnly(kFALSE), - fNTrackPoints(0), - fdR(0.0), - fClusterMap(kFALSE), - fITSTrackPoints(kFALSE), - fITSTrackPointsType(AliTrackPoints::kITS), - fMustTPC(kFALSE), - fReadCentralBarrel(kTRUE), - fReadMuon(kFALSE), - fReadPHOS(kFALSE), - fNTPCClustMin(0), - fNTPCClustMax(150), - fTPCChi2PerClustMin(0.0), - fTPCChi2PerClustMax(10e5), - fChi2Min(0.0), - fChi2Max(10e5), - fC00Min(0.0), - fC00Max(10e5), - fC11Min(0.0), - fC11Max(10e5), - fC22Min(0.0), - fC22Max(10e5), - fC33Min(0.0), - fC33Max(10e5), - fC44Min(0.0), - fC44Max(10e5), - fTPCC00Min(0.0), - fTPCC00Max(10e5), - fTPCC11Min(0.0), - fTPCC11Max(10e5), - fTPCC22Min(0.0), - fTPCC22Max(10e5), - fTPCC33Min(0.0), - fTPCC33Max(10e5), - fTPCC44Min(0.0), - fTPCC44Max(10e5) -{ - //cosntructor - if ( ((Int_t)kNSpecies) != ((Int_t)AliPID::kSPECIES)) - Fatal("AliReaderESD","ESD defintions probobly changed. Ask Youra."); -} -/********************************************************************/ - -AliReaderESD::~AliReaderESD() -{ - //desctructor - delete fRunLoader; - delete fKeyIterator; - delete fFile; -} - -/**********************************************************/ -Int_t AliReaderESD::ReadNext() -{ -//reads next event from fFile - //fRunLoader is for reading Kine - - AliDebug(1,"Entered"); - - if (fEventSim == 0x0) fEventSim = new AliAOD(); - if (fEventRec == 0x0) fEventRec = new AliAOD(); - - fEventSim->Reset(); - fEventRec->Reset(); - - do //do{}while; is OK even if 0 dirs specified. In that case we try to read from "./" - { - if (fFile == 0x0) - { - fFile = OpenFile(fCurrentDir);//rl is opened here - if (fFile == 0x0) - { - Error("ReadNext","Cannot get fFile for dir no. %d",fCurrentDir); - fCurrentDir++; - continue; - } - fCurrentEvent = 0; - } - TString esdname = "ESD"; - esdname+=fCurrentEvent; - AliESD* esd = dynamic_cast(fFile->Get(esdname)); - if (esd == 0x0) - { - AliDebug(3,Form("Can not find AliESD object named %s",esdname.Data())); - fCurrentDir++; - delete fFile;//we have to assume there is no more ESD objects in the fFile - fFile = 0x0; - delete fRunLoader; - fRunLoader = 0x0; - continue; - } - ReadESD(esd); - - fCurrentEvent++; - fNEventsRead++; - delete esd; - return 0;//success -> read one event - }while(fCurrentDir < GetNumberOfDirs());//end of loop over directories specified in fDirs Obj Array - - return 1; //no more directories to read -} - -/**********************************************************/ -Int_t AliReaderESD::ReadESD(AliESD* esd) -{ -//Reads esd data - if (esd == 0x0) - { - Error("ReadESD","ESD is NULL"); - return 1; - } - - // seperate each method - if (fReadCentralBarrel) ReadESDCentral(esd); - - if (fReadMuon) ReadESDMuon(esd); - - if (fReadPHOS) ReadESDPHOS(esd); - - return 1; -} - -/**********************************************************/ -Int_t AliReaderESD::ReadESDCentral(AliESD* esd) -{ - //****** Tentative particle type "concentrations" - static const Double_t kConcentr[5]={0.05, 0., 0.85, 0.10, 0.05}; - - Double_t pidtable[kNSpecies];//array used for reading pid probabilities from ESD track - Double_t w[kNSpecies]; - Double_t mom[3];//momentum - Double_t pos[3];//position - Double_t vertexpos[3];//vertex position - //Reads one ESD - - TDatabasePDG* pdgdb = TDatabasePDG::Instance(); - if (pdgdb == 0x0) - { - Error("ReadESD","Can not get PDG Database Instance."); - return 1; - } - - Float_t mf = esd->GetMagneticField()/10.; //AliESD::GetMagnField returns mf in kG - - if ( (mf == 0.0) && ((fNTrackPoints > 0) || fITSTrackPoints) ) - { - Error("ReadESD","Magnetic Field is 0 and Track Points Demended. Skipping to next event."); - - } - - if (fITSTrackPoints) - { - Info("ReadESD","Magnetic Field is %f",mf); - //AliKalmanTrack::SetMagneticField(mf); - } - - AliStack* stack = 0x0; - if (fReadSim && fRunLoader) - { - fRunLoader->GetEvent(fCurrentEvent); - stack = fRunLoader->Stack(); - } - - const AliESDVertex* vertex = esd->GetVertex(); - if (vertex == 0x0) - { - Info("ReadESD","ESD returned NULL pointer to vertex - assuming (0.0,0.0,0.0)"); - vertexpos[0] = 0.0; - vertexpos[1] = 0.0; - vertexpos[2] = 0.0; - } - else - { - vertex->GetXYZ(vertexpos); - } - - AliDebug(1,Form("Primary Vertex is (%f,%f,%f)",vertexpos[0],vertexpos[1],vertexpos[2])); - - Info("ReadESD","Reading Event %d",fCurrentEvent); - - Int_t ntr = esd->GetNumberOfTracks(); - Info("ReadESD","Found %d tracks.",ntr); - for (Int_t i = 0;iGetTrack(i); - if (esdtrack == 0x0) - { - Error("Next","Can not get track %d", i); - continue; - } - - //if (esdtrack->HasVertexParameters() == kFALSE) - if ((esdtrack->GetStatus() & AliESDtrack::kITSrefit) == kFALSE) - { - AliDebug(3,Form("Particle skipped: Data at vertex not available.")); - continue; - } - - if (fMustTPC) - { - if ((esdtrack->GetStatus() & AliESDtrack::kTPCin) == kFALSE) - { - AliDebug(3,"Particle skipped: Was not reconstructed in TPC."); - continue; - } - } - - if ((esdtrack->GetStatus() & AliESDtrack::kESDpid) == kFALSE) - { - AliDebug(3,"Particle skipped: PID BIT is not set."); - continue; - } - - - Double_t alpha,extx; - Double_t extp[5]; - esdtrack->GetConstrainedExternalParameters(alpha,extx,extp); - if (extp[4] == 0.0) - { - AliDebug(3,"Track has 0 contrianed curvature -> Probobly parameters never updated. Skipping."); - continue; - } - esdtrack->GetESDpid(pidtable); - esdtrack->GetConstrainedPxPyPz(mom); - esdtrack->GetConstrainedXYZ(pos); - pos[0] -= vertexpos[0];//we are interested only in relative position to Primary vertex at this point - pos[1] -= vertexpos[1]; - pos[2] -= vertexpos[2]; - - Int_t charge = (extp[4] > 0)?1:-1;//if curvature=charg/Pt is positive charge is positive - - //Particle from kinematics - AliAODParticle* particle = 0; - Bool_t keeppart = kFALSE; - if ( fReadSim && stack ) - { - if (esdtrack->GetLabel() < 0) continue;//this is fake - we are not able to match any track - TParticle *p = stack->Particle(esdtrack->GetLabel()); - if (p==0x0) - { - Error("ReadNext","Can not find track with such label."); - continue; - } - - if (fCheckParticlePID) - { - if(Rejected(p->GetPdgCode())) - { - AliDebug(6,Form("Simulated Particle PID (%d) did not pass the cut.",p->GetPdgCode())); - continue; //check if we are intersted with particles of this type - } - } -// if(p->GetPdgCode()<0) charge = -1; - particle = new AliAODParticle(*p,i); - - } - - if(CheckTrack(esdtrack)) continue; - - //Here we apply Bayes' formula - Double_t rc=0.; - for (Int_t s=0; s 4) - { - Info("ReadNext","###########################################################################"); - Info("ReadNext","Momentum: %f %f %f",mom[0],mom[1],mom[2]); - Info("ReadNext","Position: %f %f %f",pos[0],pos[1],pos[2]); - TString msg("Pid list got from track:"); - for (Int_t s = 0;s4) - - AliTrackPoints* tpts = 0x0; - if (fNTrackPoints > 0) - { - tpts = new AliTrackPoints(fNTrackPoints,esdtrack,mf*10.0,fdR); -// tpts->Move(-vertexpos[0],-vertexpos[1],-vertexpos[2]); - } - - AliTrackPoints* itstpts = 0x0; - if (fITSTrackPoints) - { - itstpts = new AliTrackPoints(fITSTrackPointsType,esdtrack,mf*10.0); -// itstpts->Move(-vertexpos[0],-vertexpos[1],-vertexpos[2]); - } - - AliClusterMap* cmap = 0x0; - if ( fClusterMap ) - { - cmap = new AliClusterMap(esdtrack); - } - - //If this flag fReadMostProbableOnly is false the - //loop over species (see "LOOPPIDS") is over all possible PIDs - //in other case the most probablle PID is searched - //and the loop is limited to that PID only - - Int_t firstspecie = 0; - Int_t lastspecie = kNSpecies; - - if (fReadMostProbableOnly) - { - //find the most probable PID - Int_t spec = 0; - Float_t maxprob = w[0]; - for (Int_t s=1; smaxprob) - { - maxprob = w[s]; - spec = s; - } - } - firstspecie = spec; - lastspecie = spec + 1; - } - - for (Int_t s = firstspecie; sGetParticle(pdgcode)->Mass(); - Double_t tEtot = TMath::Sqrt( mom[0]*mom[0] + mom[1]*mom[1] + mom[2]*mom[2] + mass*mass);//total energy of the track - - AliAODParticle* track = new AliAODParticle(pdgcode, w[s],i, - mom[0], mom[1], mom[2], tEtot, - pos[0], pos[1], pos[2], 0.); - //copy probabilitis of other species (if not zero) - for (Int_t k = 0; kSetPIDprobability(charge*GetSpeciesPdgCode( (ESpecies)k ),w[k]); - } - - if(Rejected(track))//check if meets all criteria of any of our cuts - //if it does not delete it and take next good track - { - AliDebug(5,"Track did not pass the cut"); - delete track; - continue; - } - - //Single Particle cuts on cluster map and track points rather do not have sense - if (tpts) - { - track->SetTPCTrackPoints(tpts); - } - - if (itstpts) - { - track->SetITSTrackPoints(itstpts); - } - - if (cmap) - { - track->SetClusterMap(cmap); - } - - fEventRec->AddParticle(track); - if (particle) fEventSim->AddParticle(particle); - keeppart = kTRUE; - - if (AliDebugLevel() > 4 ) - { - Info("ReadNext","\n\nAdding Particle with incarnation %d",pdgcode); - track->Print(); - if (particle) particle->Print(); - Info("ReadNext","\n----------------------------------------------\n"); - } - }//for (Int_t s = 0; sP() < 0.00001) - { - Info("ReadNext","###################################"); - Info("ReadNext","###################################"); - Info("ReadNext","Track Label %d",esdtrack->GetLabel()); - TParticle *p = stack->Particle(esdtrack->GetLabel()); - Info("ReadNext",""); - p->Print(); - Info("ReadNext",""); - particle->Print(); - } - } - } - - }//for (Int_t i = 0;iGetNumberOfParticles(), fEventSim->GetNumberOfParticles(), - fNEventsRead,fCurrentEvent,fCurrentDir); - fTrackCounter->Fill(fEventRec->GetNumberOfParticles()); - - /******************************************************/ - /****** Setting glevet properties *************/ - /******************************************************/ - - if (fEventRec->GetNumberOfParticles() > 0) - { - fEventRec->SetPrimaryVertex(vertexpos[0],vertexpos[1],vertexpos[2]); - } - return 0; -} - -/**********************************************************/ -Int_t AliReaderESD::ReadESDMuon(AliESD* esd) -{ - // Reads the muon tracks from the ESD - Double_t vertexpos[3];//vertex position, assuming no secondary decay - - const AliESDVertex* vertex = esd->GetVertex(); - - if (vertex == 0x0) { - Info("ReadESD","ESD returned NULL pointer to vertex - assuming (0.0,0.0,0.0)"); - vertexpos[0] = 0.0; - vertexpos[1] = 0.0; - vertexpos[2] = 0.0; - } else { - vertex->GetXYZ(vertexpos); - } - - Int_t nTracks = (Int_t)esd->GetNumberOfMuonTracks() ; - - AliDebug(1,Form("Reading Event %d \nFound %d tracks.",fCurrentEvent,nTracks)); - - // settings - Float_t chi2Cut = 100.; - Float_t ptCutMin = 1.; - Float_t ptCutMax = 10000.; - Float_t muonMass = 0.105658389; - Int_t pdgcode = -13; - Double_t thetaX, thetaY, pYZ; - Double_t pxRec1, pyRec1, pzRec1, e1; - Int_t charge; - - Int_t ntrackhits; - Double_t fitfmin; - - TLorentzVector fV1; - fEventRec->Reset(); - for (Int_t iTrack = 0; iTrack < nTracks; iTrack++) { - - AliESDMuonTrack* muonTrack = esd->GetMuonTrack(iTrack); - - thetaX = muonTrack->GetThetaX(); - thetaY = muonTrack->GetThetaY(); - - pYZ = 1./TMath::Abs(muonTrack->GetInverseBendingMomentum()); - pzRec1 = - pYZ / TMath::Sqrt(1.0 + TMath::Tan(thetaY)*TMath::Tan(thetaX)); - pxRec1 = pzRec1 * TMath::Tan(thetaX); - pyRec1 = pzRec1 * TMath::Tan(thetaY); - charge = Int_t(TMath::Sign(1.,muonTrack->GetInverseBendingMomentum())); - e1 = TMath::Sqrt(muonMass * muonMass + pxRec1 * pxRec1 + pyRec1 * pyRec1 + pzRec1 * pzRec1); - fV1.SetPxPyPzE(pxRec1, pyRec1, pzRec1, e1); - - ntrackhits = muonTrack->GetNHit(); - fitfmin = muonTrack->GetChi2(); - - // transverse momentum - Float_t pt1 = fV1.Pt(); - - // chi2 per d.o.f. - Float_t ch1 = fitfmin / (2.0 * ntrackhits - 5); - - if ((ch1 < chi2Cut) && (pt1 > ptCutMin) && (pt1 < ptCutMax)) { - AliAODParticle* track = new AliAODParticle(pdgcode*charge,1,iTrack, - pxRec1, pyRec1,pzRec1, e1, - vertexpos[0], vertexpos[1], vertexpos[2], 0.); - fEventRec->AddParticle(track); - } - - } - fTrackCounter->Fill(fEventRec->GetNumberOfParticles()); - return 0; -} - -/**********************************************************/ - -void AliReaderESD::Rewind() -{ - //rewinds reading - // delete fKeyIterator; - delete fFile; - fFile = 0x0; - // fKeyIterator = 0x0; - delete fRunLoader; - fRunLoader = 0x0; - fCurrentDir = 0; - fNEventsRead = 0; - if (fEventList) fEventList->Reset(); - if (fTrackCounter) fTrackCounter->Reset(); -} -/**********************************************************/ - -TFile* AliReaderESD::OpenFile(Int_t n) -{ -//opens fFile with tree - if (fEventList) - { - if (fCurrentDir > n) - { - fEventList->Reset(); - fCurrentDir = 0; - } - - while (fCurrentDir < n) - { - fEventList->Next(); - fCurrentDir++; - } - fEventList->Next(); - } - - const TString& dirname = GetDirName(n); - if (dirname == "") - { - Error("OpenFiles","Can not get directory name"); - return 0x0; - } - TString filename; - - if (fEventList) - { - filename = fEventList->GetURL(fESDFileName); - } - else - { - filename = dirname +"/"+ fESDFileName; - } - Info("OpenFile","%s ==> %s",fESDFileName.Data(),filename.Data()); - TFile *ret = TFile::Open(filename.Data()); - - if ( ret == 0x0) - { - Error("OpenFiles","Can't open fFile %s",filename.Data()); - return 0x0; - } - if (!ret->IsOpen()) - { - Error("OpenFiles","Can't open fFile %s",filename.Data()); - return 0x0; - } - - if (fReadSim ) - { - TString gafilename; - if (fEventList) - { - gafilename = fEventList->GetURL(fGAlFileName); - } - else - { - gafilename = dirname +"/"+ fGAlFileName; - } - Info("OpenFile","%s ==> %s",fGAlFileName.Data(),gafilename.Data()); - - fRunLoader = AliRunLoader::Open(gafilename); - - if (fRunLoader == 0x0) - { - Error("OpenFiles","Can't get RunLoader for directory %s",dirname.Data()); - delete ret; - return 0x0; - } - - fRunLoader->LoadHeader(); - - if (fEventList) - { - TString kinefilename = fEventList->GetURL("Kinematics.root"); - fRunLoader->SetKineFileName(kinefilename); - Info("OpenFile","%s ==> %s","Kinematics.root",kinefilename.Data()); - } - - if (fRunLoader->LoadKinematics()) - { - Error("Next","Error occured while loading kinematics."); - delete fRunLoader; - delete ret; - return 0x0; - } - } - - return ret; -} -/**********************************************************/ - -Int_t AliReaderESD::GetSpeciesPdgCode(ESpecies spec)//skowron -{ - //returns pdg code from the PID index - //ask jura about charge - switch (spec) - { - case kESDElectron: - return kPositron; - break; - case kESDMuon: - return kMuonPlus; - break; - case kESDPion: - return kPiPlus; - break; - case kESDKaon: - return kKPlus; - break; - case kESDProton: - return kProton; - break; - default: - ::Warning("GetSpeciesPdgCode","Specie with number %d is not defined.",(Int_t)spec); - break; - } - return 0; -} -/********************************************************************/ -Bool_t AliReaderESD::CheckTrack(AliESDtrack* t) const -{ - //Performs check of the track - - if ( (t->GetConstrainedChi2() < fChi2Min) || (t->GetConstrainedChi2() > fChi2Max) ) return kTRUE; - - if ( (t->GetTPCclusters(0x0) < fNTPCClustMin) || (t->GetTPCclusters(0x0) > fNTPCClustMax) ) return kTRUE; - - if (t->GetTPCclusters(0x0) > 0) - { - Float_t chisqpercl = t->GetTPCchi2()/((Double_t)t->GetTPCclusters(0x0)); - if ( (chisqpercl < fTPCChi2PerClustMin) || (chisqpercl > fTPCChi2PerClustMax) ) return kTRUE; - } - - Double_t cc[15]; - t->GetConstrainedExternalCovariance(cc); - - if ( (cc[0] < fC00Min) || (cc[0] > fC00Max) ) return kTRUE; - if ( (cc[2] < fC11Min) || (cc[2] > fC11Max) ) return kTRUE; - if ( (cc[5] < fC22Min) || (cc[5] > fC22Max) ) return kTRUE; - if ( (cc[9] < fC33Min) || (cc[9] > fC33Max) ) return kTRUE; - if ( (cc[14] < fC44Min) || (cc[14] > fC44Max) ) return kTRUE; - - - t->GetInnerExternalCovariance(cc); - - if ( (cc[0] < fTPCC00Min) || (cc[0] > fTPCC00Max) ) return kTRUE; - if ( (cc[2] < fTPCC11Min) || (cc[2] > fTPCC11Max) ) return kTRUE; - if ( (cc[5] < fTPCC22Min) || (cc[5] > fTPCC22Max) ) return kTRUE; - if ( (cc[9] < fTPCC33Min) || (cc[9] > fTPCC33Max) ) return kTRUE; - if ( (cc[14] < fTPCC44Min) || (cc[14] > fTPCC44Max) ) return kTRUE; - - return kFALSE; - -} -/********************************************************************/ - -void AliReaderESD::SetChi2Range(Float_t min, Float_t max) -{ - //sets range of Chi2 per Cluster - fChi2Min = min; - fChi2Max = max; -} -/********************************************************************/ - -void AliReaderESD::SetTPCNClustersRange(Int_t min,Int_t max) -{ - //sets range of Number Of Clusters that tracks have to have - fNTPCClustMin = min; - fNTPCClustMax = max; -} -/********************************************************************/ - -void AliReaderESD::SetTPCChi2PerCluserRange(Float_t min, Float_t max) -{ - //sets range of Chi2 per Cluster - fTPCChi2PerClustMin = min; - fTPCChi2PerClustMax = max; -} -/********************************************************************/ - -void AliReaderESD::SetC00Range(Float_t min, Float_t max) -{ - //Sets range of C00 parameter of covariance matrix of the track - //it defines uncertainty of the momentum - fC00Min = min; - fC00Max = max; -} -/********************************************************************/ - -void AliReaderESD::SetC11Range(Float_t min, Float_t max) -{ - //Sets range of C11 parameter of covariance matrix of the track - //it defines uncertainty of the momentum - fC11Min = min; - fC11Max = max; -} -/********************************************************************/ - -void AliReaderESD::SetC22Range(Float_t min, Float_t max) -{ - //Sets range of C22 parameter of covariance matrix of the track - //it defines uncertainty of the momentum - fC22Min = min; - fC22Max = max; -} -/********************************************************************/ - -void AliReaderESD::SetC33Range(Float_t min, Float_t max) -{ - //Sets range of C33 parameter of covariance matrix of the track - //it defines uncertainty of the momentum - fC33Min = min; - fC33Max = max; -} -/********************************************************************/ - -void AliReaderESD::SetC44Range(Float_t min, Float_t max) -{ - //Sets range of C44 parameter of covariance matrix of the track - //it defines uncertainty of the momentum - fC44Min = min; - fC44Max = max; -} diff --git a/ANALYSIS/AliReaderESD.h b/ANALYSIS/AliReaderESD.h deleted file mode 100644 index f73392df965..00000000000 --- a/ANALYSIS/AliReaderESD.h +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef AliReaderESD_H -#define AliReaderESD_H -//___________________________________________________________________________ -///////////////////////////////////////////////////////////////////////////// -// // -// Multi file reader for ESD // -// // -// This reader reads tracks from Event Summary Data // -// do not read particles // -// Piotr.Skowronski@cern.ch // -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html // -// // -///////////////////////////////////////////////////////////////////////////// - -#include "AliReader.h" -#include "AliTrackPoints.h" -#include -class TFile; -class AliRunLoader; -class AliESD; -class AliESDtrack; - -class AliReaderESD: public AliReader -{ - public: - AliReaderESD(const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root"); - - AliReaderESD(TObjArray* dirs,const Char_t* esdfilename = "AliESDs.root", const Char_t* galfilename = "galice.root"); - - virtual ~AliReaderESD(); - - void Rewind(); - - void ReadSimulatedData(Bool_t flag){fReadSim = flag;}//switches reading MC data - Bool_t ReadsRec() const {return kTRUE;} - Bool_t ReadsSim() const {return fReadSim;} - void SetCheckParticlePID(Bool_t flag){fCheckParticlePID = flag;} - void SetReadMostProbableOnly(Bool_t flag){fReadMostProbableOnly = flag;} - - void ReadDataTPC(){} - void ReadDataITS(){} - - void SetTPCNClustersRange(Int_t min,Int_t max); - void SetTPCChi2PerCluserRange(Float_t min, Float_t max); - - void SetChi2Range(Float_t min, Float_t max); - void SetC00Range(Float_t min, Float_t max); - void SetC11Range(Float_t min, Float_t max); - void SetC22Range(Float_t min, Float_t max); - void SetC33Range(Float_t min, Float_t max); - void SetC44Range(Float_t min, Float_t max); - void SetNumberOfTrackPoints(Int_t n = 5,Float_t dr = 30.0) {fNTrackPoints = n; fdR = dr;} - Int_t GetNumberOfTrackPoints() const {return fNTrackPoints;} - void SetClusterMap(Bool_t flag = kTRUE){fClusterMap = flag;} - void SetITSTrackPoints(Bool_t flag, AliTrackPoints::ETypes type) - {fITSTrackPoints = flag; fITSTrackPointsType = type;} - void MustTPC(Bool_t flag){fMustTPC = flag;} - - void SetReadCentralBarrel(Bool_t flag){fReadCentralBarrel = flag;} - void SetReadMuon(Bool_t flag){fReadMuon = flag;} - void SetReadPHOS(Bool_t flag){fReadPHOS = flag;} - - enum ESpecies {kESDElectron = 0, kESDMuon, kESDPion, kESDKaon, kESDProton, kNSpecies}; - static Int_t GetSpeciesPdgCode(ESpecies spec); - - Int_t ReadESD(AliESD* esd); - Int_t ReadESDCentral(AliESD* esd); - Int_t ReadESDMuon(AliESD* esd); - Int_t ReadESDPHOS(AliESD* /*esd*/){return 0;} - - protected: - virtual Int_t ReadNext(); - - virtual TFile* OpenFile(Int_t evno);//opens files to be read for given event - - Bool_t CheckTrack(AliESDtrack* t) const; - - TString fESDFileName;//name of the file with tracks - TString fGAlFileName;//name of the file with tracks - TFile* fFile;//! pointer to current ESD file - AliRunLoader* fRunLoader;//!Run Loader - TIter* fKeyIterator;//!iterator over keys in ESD file - Bool_t fReadSim;//flag indicating wether to read particles from kinematics - Bool_t fCheckParticlePID;//flag indicating to perform the check on PID of simulated particle - usefull in resoluion analysis - Bool_t fReadMostProbableOnly;//flag indicating to read ony one incarnation with the highest probability - Int_t fNTrackPoints;//number of track points; if==0 track points are not created - Float_t fdR;//spacing between points (along radius) in cm - //Track Points are needed for Anti-Merging Cut - - Bool_t fClusterMap;//Flag indicating if Claster Map should be created for each track - //Claster map is needed for Anti-Splitting Cut - - - Bool_t fITSTrackPoints; //Flag indicalting if track positions in ITS are to be read - //currently we use only position at first pixels wich are - //used by anti-merging cut in non-id analysis - AliTrackPoints::ETypes fITSTrackPointsType;//defines the way track points are calculated - - Bool_t fMustTPC;// must be reconstructed in TPC -> reject tracks reconstructed ITS stand alone - - Bool_t fReadCentralBarrel; // Flag for reading ESD central track - Bool_t fReadMuon;// Flag for reading ESD Muon track - Bool_t fReadPHOS;// Flag for reading ESD Phos - - //Cut Parameters specific to TPC tracks - - Int_t fNTPCClustMin;//Number of clusters min value - Int_t fNTPCClustMax;//Number of clusters max value - - Float_t fTPCChi2PerClustMin;//Chi^2 per number of clusters min value - Float_t fTPCChi2PerClustMax;//Chi^2 per number of clusters max value - - - // Required parameters at vertex - Float_t fChi2Min;//Chi^2 min value - Float_t fChi2Max;//Chi^2 max value - - Float_t fC00Min;//C00 (0th diagonal element of covariance matrix) min value - Float_t fC00Max;//C00 (0th diagonal element of covariance matrix) max value - - Float_t fC11Min;//C11 (1th diagonal element of covariance matrix) min value - Float_t fC11Max;//C11 (1th diagonal element of covariance matrix) max value - - Float_t fC22Min;//C22 (2th diagonal element of covariance matrix) min value - Float_t fC22Max;//C22 (2th diagonal element of covariance matrix) max value - - Float_t fC33Min;//C33 (3th diagonal element of covariance matrix) min value - Float_t fC33Max;//C33 (3th diagonal element of covariance matrix) max value - - Float_t fC44Min;//C44 (4th diagonal element of covariance matrix) min value - Float_t fC44Max;//C44 (4th diagonal element of covariance matrix) max value - - // Required parameters at TPC Inner Layer - Float_t fTPCC00Min;//C00 (0th diagonal element of covariance matrix) min value - Float_t fTPCC00Max;//C00 (0th diagonal element of covariance matrix) max value - - Float_t fTPCC11Min;//C11 (1th diagonal element of covariance matrix) min value - Float_t fTPCC11Max;//C11 (1th diagonal element of covariance matrix) max value - - Float_t fTPCC22Min;//C22 (2th diagonal element of covariance matrix) min value - Float_t fTPCC22Max;//C22 (2th diagonal element of covariance matrix) max value - - Float_t fTPCC33Min;//C33 (3th diagonal element of covariance matrix) min value - Float_t fTPCC33Max;//C33 (3th diagonal element of covariance matrix) max value - - Float_t fTPCC44Min;//C44 (4th diagonal element of covariance matrix) min value - Float_t fTPCC44Max;//C44 (4th diagonal element of covariance matrix) max value - - private: - AliReaderESD(const AliReaderESD&); // Not implemented - AliReaderESD& operator=(const AliReaderESD&); // Not implemented - - ClassDef(AliReaderESD,1) -}; - - -#endif diff --git a/ANALYSIS/AliReaderESDTree.cxx b/ANALYSIS/AliReaderESDTree.cxx deleted file mode 100644 index fba42416399..00000000000 --- a/ANALYSIS/AliReaderESDTree.cxx +++ /dev/null @@ -1,165 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//*********************************************************************** -// class AliReaderESDTree -// Reader for MUON ESD Tree (only for rec) -// finck@subatech.in2p3.fr -//*********************************************************************** - -#include -#include -#include - -#include "AliAOD.h" -#include "AliESD.h" -#include "AliLog.h" -#include "AliReaderESDTree.h" -#include "AliRunLoader.h" - - -ClassImp(AliReaderESDTree) - -AliReaderESDTree::AliReaderESDTree(const Char_t* esdfilename, const Char_t* galfilename): - AliReaderESD(esdfilename,galfilename), - fTree(0x0) -{ -//ctor -} - -/********************************************************************/ -AliReaderESDTree::~AliReaderESDTree() -{ -//dtor - delete fTree; -} - -/**********************************************************/ -Int_t AliReaderESDTree::ReadNext() -{ -//reads next event from fFile -//fRunLoader is for reading Kine - - AliDebug(1,"Entered"); - - if (fEventSim == 0x0) fEventSim = new AliAOD(); - if (fEventRec == 0x0) fEventRec = new AliAOD(); - - fEventSim->Reset(); - fEventRec->Reset(); - - do //do{}while; is OK even if 0 dirs specified. In that case we try to read from "./" - { - if (fFile == 0x0) - { - fFile = OpenFile(fCurrentDir);//rl is opened here - if (fFile == 0x0) - { - Error("ReadNext","Cannot get fFile for dir no. %d",fCurrentDir); - fCurrentDir++; - continue; - } - fCurrentEvent = 0; - } - - static AliESD* esd = 0x0; - fTree->SetBranchAddress("ESD", &esd); - Int_t status = fTree->GetEvent(fCurrentEvent); - - if (!status) - { - AliDebug(2,Form("Cannot find event# %d in Tree", fCurrentEvent)); - fCurrentDir++; - delete fTree; - fTree = 0x0; - delete fFile;//we have to assume there is no more ESD objects in the fFile - fFile = 0x0; - delete fRunLoader; - fRunLoader = 0x0; - continue; - } - - ReadESD(esd); - - fCurrentEvent++; - fNEventsRead++; - return 0;//success -> read one event - }while(fCurrentDir < GetNumberOfDirs());//end of loop over directories specified in fDirs Obj Array - - return 1; //no more directories to read -} - -/**********************************************************/ -TFile* AliReaderESDTree::OpenFile(Int_t n) -{ -//opens fFile with kine tree - - const TString& dirname = GetDirName(n); - if (dirname == "") - { - Error("OpenFiles","Can not get directory name"); - return 0x0; - } - TString filename = dirname +"/"+ fESDFileName; - TFile *ret = TFile::Open(filename.Data()); - - if (ret == 0x0) - { - Error("OpenFiles","Can't open fFile %s",filename.Data()); - return 0x0; - } - if (!ret->IsOpen()) - { - Error("OpenFiles","Can't open fFile %s",filename.Data()); - return 0x0; - } - - TString esdname = "esdTree"; - fTree = dynamic_cast (ret->Get(esdname)); - - if (!fTree) - { - Error("OpenFiles","Can't open ESD Tree %s",esdname.Data()); - delete ret; - return 0x0; - - } - - if (fReadSim ) - { - fRunLoader = AliRunLoader::Open(dirname +"/"+ fGAlFileName); - if (fRunLoader == 0x0) - { - Error("OpenFiles","Can't get RunLoader for directory %s",dirname.Data()); - delete fTree; - delete ret; - return 0x0; - } - - fRunLoader->LoadHeader(); - if (fRunLoader->LoadKinematics()) - { - Error("Next","Error occured while loading kinematics."); - delete fRunLoader; - delete fTree; - delete ret; - return 0x0; - } - } - - return ret; -} diff --git a/ANALYSIS/AliReaderESDTree.h b/ANALYSIS/AliReaderESDTree.h deleted file mode 100644 index 128320dc706..00000000000 --- a/ANALYSIS/AliReaderESDTree.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef AliReaderESDTree_H -#define AliReaderESDTree_H - -//*********************************************************************** -// class AliReaderESDTree -// Reader for ESD Tree -// Ch. Finck -//*********************************************************************** - -#include "AliReaderESD.h" - -class TFile; -class TTree; - -class AliReaderESDTree: public AliReaderESD - { - public: - - AliReaderESDTree(const Char_t* esdfilename = "AliESDs.root", - const Char_t* galfilename = "galice.root"); - - virtual ~AliReaderESDTree(); - - - protected: - Int_t ReadNext();//reads tracks and particles and puts them in runs - TFile* OpenFile(Int_t evno);//opens files to be read for given event - - TTree* fTree;// tree pointer - - private: - AliReaderESDTree(const AliReaderESDTree&); // Not implemented - AliReaderESDTree& operator=(const AliReaderESDTree&); // Not implemented - - ClassDef(AliReaderESDTree,1) - }; - -#endif diff --git a/ANALYSIS/AliReaderKineTree.cxx b/ANALYSIS/AliReaderKineTree.cxx deleted file mode 100644 index c69f1e2f913..00000000000 --- a/ANALYSIS/AliReaderKineTree.cxx +++ /dev/null @@ -1,191 +0,0 @@ -#include "AliReaderKineTree.h" -//_______________________________________________________________________ -///////////////////////////////////////////////////////////////////////// -// -// class AliReaderKineTree -// -// Reader for Kinematics -// -// Piotr.Skowronski@cern.ch -// -///////////////////////////////////////////////////////////////////////// - -#include -#include - -#include -#include - -#include "AliAOD.h" -#include "AliAODParticle.h" - -ClassImp(AliReaderKineTree) -/**********************************************************/ -const TString AliReaderKineTree::fgkEventFolderName("ReaderKineTree"); - -AliReaderKineTree::AliReaderKineTree(): - fFileName("galice.root"), - fRunLoader(0x0) -{ - //ctor -} -/**********************************************************/ - -AliReaderKineTree::AliReaderKineTree(TString& fname): - fFileName(fname), - fRunLoader(0x0) -{ - //ctor -} -/**********************************************************/ - -AliReaderKineTree::AliReaderKineTree(TObjArray* dirs,const Char_t *filename): - AliReader(dirs), - fFileName(filename), - fRunLoader(0x0) -{ - //ctor -} - -/**********************************************************/ -AliReaderKineTree::AliReaderKineTree(const AliReaderKineTree& in): - AliReader(in), - fFileName(in.fFileName), - fRunLoader(0x0) -{ - //cpy ctor -} - -/**********************************************************/ - -AliReaderKineTree::~AliReaderKineTree() -{ - //dtor - delete fRunLoader; -} -/**********************************************************/ -AliReaderKineTree& AliReaderKineTree::operator=(const AliReaderKineTree& in) -{ -//Assiment operator - if (this == &in) return *this; - AliReader::operator=(in); - delete fRunLoader; - fRunLoader = 0x0; - return * this; -} -/**********************************************************/ - -void AliReaderKineTree::Rewind() -{ -//Rewinds to the beginning - delete fRunLoader; - fRunLoader = 0x0; - fCurrentDir = 0; - fNEventsRead= 0; -} -/**********************************************************/ - -Int_t AliReaderKineTree::ReadNext() -{ - //Reads Kinematics Tree - - Info("Read",""); - if (fEventSim == 0x0) - { - fEventSim = new AliAOD(); - } - fEventSim->Reset(); - - do //do{}while; is OK even if 0 dirs specified. In that case we try to read from "./" - { - if (fRunLoader == 0x0) - if (OpenNextFile()) - { - fCurrentDir++; - continue; - } - - if (fCurrentEvent == fRunLoader->GetNumberOfEvents()) - { - //read next directory - delete fRunLoader;//close current session - fRunLoader = 0x0;//assure pointer is null - fCurrentDir++;//go to next dir - continue;//directory counter is increased inside in case of error - } - - Info("ReadNext","Reading Event %d",fCurrentEvent); - - fRunLoader->GetEvent(fCurrentEvent); - - AliStack* stack = fRunLoader->Stack(); - if (!stack) - { - Error("ReadNext","Can not get stack for event %d",fCurrentEvent); - continue; - } - Int_t npart = stack->GetNtrack(); - for (Int_t i = 0;iParticle(i); -// if (p->GetFirstMother() >= 0) continue; do not apply with pythia etc - - if(Rejected(p->GetPdgCode())) continue; //check if we are intersted with particles of this type - //if not take next partilce - - AliAODParticle* part = new AliAODParticle(*p,i); - if(Rejected(part)) { delete part; continue;}//check if meets all criteria of any of our cuts - //if it does not delete it and take next good track - fEventSim->AddParticle(part);//put particle in event - } - Info("ReadNext","Read %d particles from event %d (event %d in dir %d).", - fEventSim->GetNumberOfParticles(), - fNEventsRead,fCurrentEvent,fCurrentDir); - - fCurrentEvent++; - fNEventsRead++; - return 0; - }while(fCurrentDir < GetNumberOfDirs());//end of loop over directories specified in fDirs Obj Array - - return 1; -} -/**********************************************************/ - -Int_t AliReaderKineTree::OpenNextFile() -{ -//opens file with kine tree - Info("OpenNextFile","________________________________________________________"); - - const TString& dirname = GetDirName(fCurrentDir); - if (dirname == "") - { - Error("OpenNextFile","Can not get directory name"); - return 1; - } - TString filename = dirname +"/"+ fFileName; - - fRunLoader = AliRunLoader::Open(filename.Data(),fgkEventFolderName,"READ"); - - if ( fRunLoader == 0x0) - { - Error("OpenNextFile","Can't open session from file %s",filename.Data()); - return 1; - } - - if (fRunLoader->GetNumberOfEvents() <= 0) - { - Error("OpenNextFile","There is no events in this directory."); - delete fRunLoader; - fRunLoader = 0x0; - return 2; - } - - if (fRunLoader->LoadKinematics()) - { - Error("OpenNextFile","Error occured while loading kinematics."); - return 3; - } - - fCurrentEvent = 0; - return 0; -} diff --git a/ANALYSIS/AliRunAnalysis.cxx b/ANALYSIS/AliRunAnalysis.cxx deleted file mode 100644 index 71784e1ee56..00000000000 --- a/ANALYSIS/AliRunAnalysis.cxx +++ /dev/null @@ -1,155 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//******************************************************** -// class AliRunAnalysis * -// Analysis manager * -// Author: Piotr.Skowronski@cern.ch * -//******************************************************** - -#include - -#include "AliRunAnalysis.h" -#include "AliLog.h" -#include "AliAnalysis.h" -#include "AliEventCut.h" -#include "AliReader.h" - - -ClassImp(AliRunAnalysis) -AliRunAnalysis::AliRunAnalysis(): - TTask("RunAnalysis","Alice Analysis Manager"), - fAnalysies(10), - fReader(0x0), - fEventCut(0x0), - fCutOnSim(kFALSE), - fCutOnRec(kTRUE) -{ - //ctor -} -/*********************************************************/ - -AliRunAnalysis::~AliRunAnalysis() -{ - //dtor - delete fReader; - delete fEventCut; -} -/*********************************************************/ - -Int_t AliRunAnalysis::Run() -{ - //makes analysis - - if (fReader == 0x0) - { - AliError("Reader is not set"); - return 1; - } - TDirectory* cwd = gDirectory; - Int_t nanal = fAnalysies.GetEntries(); - AliDebug(1,Form("There are %d analyses",nanal)); - /******************************/ - /* Init Event */ - /******************************/ - AliDebug(1,"Intializing analyses..."); - for (Int_t an = 0; an < nanal; an++) - { - AliAnalysis* analysis = (AliAnalysis*)fAnalysies.At(an); - AliDebug(1,Form("Intializing analysis %d,address=%#x, name=%s", - an, analysis, analysis->GetName())); - analysis->Init(); - AliDebug(1,Form("Init done for analysis %d",an)); - } - AliDebug(1,"Intializing analyses... Done."); - - while (fReader->Next() == kFALSE) - { - AliAOD* eventrec = fReader->GetEventRec(); - AliAOD* eventsim = fReader->GetEventSim(); - - /******************************/ - /* Event Cut */ - /******************************/ - if ( Rejected(eventrec,eventsim) ) - { - AliDebug(1,"Event rejected by Event Cut"); - continue; //Did not pass the - } - - /******************************/ - /* Process Event */ - /******************************/ - AliDebug(1,Form("There is %d analyses",fAnalysies.GetEntries())); - - for (Int_t an = 0; an < fAnalysies.GetEntries(); an++) - { - AliAnalysis* analysis = (AliAnalysis*)fAnalysies.At(an); - analysis->ProcessEvent(eventrec,eventsim); - } - - }//end of loop over events - - /******************************/ - /* Finish Event */ - /******************************/ - AliDebug(1,Form("Finishing analyses...\n There are %d anlyses",fAnalysies.GetEntries())); - if (cwd) cwd->cd(); - for (Int_t an = 0; an < fAnalysies.GetEntries(); an++) - { - AliAnalysis* analysis = (AliAnalysis*)fAnalysies.At(an); - AliDebug(1,Form("Calling Finish for analysis %d address %#x name=%s", - an, analysis,analysis->GetName())); - analysis->Finish(); - AliDebug(1,Form("Called Finish for analysis %d",an)); - } - AliDebug(1,"Finishing done"); - - return 0; -} -/*********************************************************/ - -void AliRunAnalysis::Add(AliAnalysis* a) -{ - //adds a to the list of analysis - fAnalysies.Add(a); -} -/*********************************************************/ - -void AliRunAnalysis::SetEventCut(AliEventCut* evcut) -{ -//Sets event - makes a private copy - delete fEventCut; - if (evcut) fEventCut = (AliEventCut*)evcut->Clone(); - else fEventCut = 0x0; -} - -/*********************************************************/ - -Bool_t AliRunAnalysis::Rejected(AliAOD* recevent, AliAOD* simevent) -{ - //checks the event cut - if (fEventCut == 0x0) return kFALSE; - - if (fCutOnRec) - if (fEventCut->Rejected(recevent)) return kTRUE; - - if (fCutOnSim) - if (fEventCut->Rejected(simevent)) return kTRUE; - - return kFALSE; -} diff --git a/ANALYSIS/AliRunAnalysis.h b/ANALYSIS/AliRunAnalysis.h deleted file mode 100644 index d2419218a4a..00000000000 --- a/ANALYSIS/AliRunAnalysis.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef ALIRUNANALYSIS_H -#define ALIRUNANALYSIS_H - -/////////////////////////////////////////////////////////// -// -// class AliRunAnalysis -// Analysis manager -// Author: Piotr.Skowronski@cern.ch -// -/////////////////////////////////////////////////////////// - -#include -#include - -class AliEventCut; -class AliReader; -class AliAnalysis; -class AliAOD; - -class AliRunAnalysis: public TTask -{ - public: - AliRunAnalysis(); - virtual ~AliRunAnalysis(); - - Int_t Run(); - void Add(TTask *t){TTask::Add(t);} - void Add(AliAnalysis* a); - void SetReader(AliReader* reader){fReader = reader;} - - const char* GetName() const {return "RunAnalysis";} - void EventCutOnRec(Bool_t flag){fCutOnRec = flag;} - void EventCutOnSim(Bool_t flag){fCutOnSim = flag;} - void SetEventCut(AliEventCut* evcut); - void SetOwner(Bool_t owner=kTRUE){fAnalysies.SetOwner(owner);} - - protected: - TObjArray fAnalysies;//arry with analysies - AliReader* fReader;//arry with directories to read data from - - AliEventCut* fEventCut;//event cut - - Bool_t fCutOnSim;//flag indicating that event cut is performed on simulated particles - Bool_t fCutOnRec;//flag indicating that event cut is performed on reconstructed tracks - - Bool_t Rejected(AliAOD* recevent, AliAOD* simevent); - - private: - AliRunAnalysis(const AliRunAnalysis & src); - AliRunAnalysis & operator=(const AliRunAnalysis & src); - - void SetName(const char *){}//change SetName to be private - - ClassDef(AliRunAnalysis,1) -}; - -#endif diff --git a/ANALYSIS/AliTrackPoints.cxx b/ANALYSIS/AliTrackPoints.cxx deleted file mode 100644 index 88390fdefa3..00000000000 --- a/ANALYSIS/AliTrackPoints.cxx +++ /dev/null @@ -1,704 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//////////////////////////////////////////////////////////// -// // -// class AliTrackPoints // -// // -// used by Anti-Merging cut // -// contains set of poits the lay on track trajectory // -// according to reconstructed track parameters - // -// NOT CLUSTERS POSITIONS!!! // -// Anti-Merging cut is applied only on tracks coming from // -// different events (that are use to fill deniminators) // -// // -//////////////////////////////////////////////////////////// - -#include "AliTrackPoints.h" -#include "AliLog.h" - -#include -#include -#include - -#include "AliESDtrack.h" -#include "AliTPCtrack.h" -#include "AliTrackReference.h" -#include "AliITStrackV2.h" - -#include "AliRun.h" -#include "AliMagF.h" -#include "AliTracker.h" -#include "AliESD.h" -#include "AliRunLoader.h" -#include "AliTPCtrack.h" -#include "TTree.h" -#include "TBranch.h" -#include "TH2D.h" - -ClassImp(AliTrackPoints) - -Int_t AliTrackPoints::fgDebug = 0; - -AliTrackPoints::AliTrackPoints(): - fN(0), - fX(0x0), - fY(0x0), - fZ(0x0) -{ - //constructor -} - -/***************************************************************/ - -AliTrackPoints::AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf): - fN(0), - fX(0x0), - fY(0x0), - fZ(0x0) -{ - //constructor - //tupe - what kind of track points should be calculated - //mf - magnetic field in [kG] = [T]*10.0 - switch (type) - { - case kITS: - fN = 6; - fX = new Float_t[fN]; - fY = new Float_t[fN]; - fZ = new Float_t[fN]; - MakeITSPoints(track); - break; - - case kITSInnerFromVertexOuterFromTPC: - fN = 6; - fX = new Float_t[fN]; - fY = new Float_t[fN]; - fZ = new Float_t[fN]; - MakeITSPointsInnerFromVertexOuterFromTPC(track,mf); - break; - - default: - Info("AliTrackPoints","Not recognized type"); - } - -} - -/***************************************************************/ - -AliTrackPoints::AliTrackPoints(Int_t n, AliESDtrack* track, Float_t mf, Float_t dr, Float_t r0): - fN(n), - fX(new Float_t[fN]), - fY(new Float_t[fN]), - fZ(new Float_t[fN]) -{ - //constructor - //mf - magnetic field in kG - needed to calculate curvature out of Pt - //r0 - starting radius - //dr - calculate points every dr cm, default every 30cm - if (track == 0x0) - { - Error("AliTrackPoints","ESD track is null"); - fN = 0; - delete [] fX; - delete [] fY; - delete [] fZ; - fX = fY = fZ = 0x0; - return; - } - - if ( ((track->GetStatus() & AliESDtrack::kTPCrefit) == kFALSE)&& - ((track->GetStatus() & AliESDtrack::kTPCin) == kFALSE) ) - { - //could happend: its stand alone tracking - AliDebug(3,"This ESD track does not contain TPC information"); - - fN = 0; - delete [] fX; - delete [] fY; - delete [] fZ; - fX = fY = fZ = 0x0; - - return; - } - - Double_t alpha,x; - Double_t par[5]; - track->GetInnerExternalParameters(alpha,x,par);//get properties of the track - if (par[4] == 0) - { - Error("AliTrackPoints","This ESD track seem not to contain TPC information (curv is 0)"); - return; - } - - if (mf == 0.0) - { - Error("AliTrackPoints","Zero Magnetic field passed as parameter."); - return; - } - - //Double_t alpha = track->GetInnerAlpha(); - Double_t cc = 1000./0.299792458/mf;//conversion constant - Double_t c=par[4]/cc; - - MakePoints(dr,r0,x,par,c,alpha); - -} - -/***************************************************************/ - -AliTrackPoints::AliTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr, Float_t r0): - fN(n), - fX(new Float_t[fN]), - fY(new Float_t[fN]), - fZ(new Float_t[fN]) -{ - //constructor - //r0 starting radius - //dr - calculate points every dr cm, default every 30cm - if (track == 0x0) - { - Error("AliTrackPoints","TPC track is null"); - fN = 0; - delete [] fX; - delete [] fY; - delete [] fZ; - fX = fY = fZ = 0x0; - return; - } - track->PropagateTo(r0); - - //* This formation is now fixed in the following way: * - //* external param0: local Y-coordinate of a track (cm) * - //* external param1: local Z-coordinate of a track (cm) * - //* external param2: local sine of the track momentum azimuth angle * - //* external param3: tangent of the track momentum dip angle * - //* external param4: 1/pt (1/(GeV/c)) * - - Double_t x = 0; - Double_t par[5]; - track->GetExternalParameters(x,par); //get properties of the track - - Double_t alpha = track->GetAlpha(); - Double_t c=track->GetC(); - MakePoints(dr,r0,x,par,c,alpha); -} - -/***************************************************************/ - -AliTrackPoints::~AliTrackPoints() -{ - //destructor - delete [] fX; - delete [] fY; - delete [] fZ; -} - -/***************************************************************/ - -void AliTrackPoints::MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha) -{ - //Calculates points starting at radius r0 - //spacing every dr (in radial direction) - // according to track parameters - // x - position in sector local reference frame. x i parallel to R and sector is symmetric with respect to x - // par - track external parameters; array with 5 elements; look at AliTPCtrack.h or AliESDtrack.h for their meaning - // c - track curvature - // alpha - sector's rotation angle (phi) == angle needed for local to global transformation - - Double_t y = par[0]; - Double_t z0 = par[1]; - - Double_t phi0local = TMath::ATan2(y,x); - Double_t phi0global = phi0local + alpha; - - if (phi0local<0) phi0local+=2*TMath::Pi(); - if (phi0local>=2.*TMath::Pi()) phi0local-=2*TMath::Pi(); - - if (phi0global<0) phi0global+=2*TMath::Pi(); - if (phi0global>=2.*TMath::Pi()) phi0global-=2*TMath::Pi(); - - Double_t r = TMath::Hypot(x,y); - - - AliDebug(9,Form("Radius0 %f, Real Radius %f",r0,r)); - - AliDebug(5,Form("Phi Global at first padraw %f, Phi locat %f",phi0global,phi0local)); - - Double_t eta = x*c - par[2] ;//par[2] = fX*C - eta; eta==fP2 ; C==fP4 - - //this calculattions are assuming new (current) model - Double_t tmp = par[2]; - tmp = 1. - tmp*tmp; - tmp = c*y + TMath::Sqrt(tmp); - Double_t dca=(TMath::Hypot(eta,tmp) - 1. )/TMath::Abs(c); - - //Here is old model Cold=Cnew/2. - Double_t dcasq = dca*dca; - Double_t c2 = c/2.; - Double_t cst1 = (1.+c2*dca)*dca;//first constant - Double_t cst2 = 1. + 2.*c2*dca;//second constant - - Double_t factorPhi0 = TMath::ASin((c2*r + cst1/r)/cst2); - Double_t factorZ0 = TMath::ASin(c2*TMath::Sqrt((r*r-dcasq)/cst2))*par[3]/c2; - - for(Int_t i = 0; i 1.0) - { - AliDebug(1,Form("ASin argument > 1 %f:",ftmp)); - ftmp=1.0; - } - else if (ftmp < -1.0) - { - AliDebug(1,Form("ASin argument < -1 %f:",ftmp)); - ftmp=-1.0; - } - - Double_t factorPhi = TMath::ASin( ftmp );//factor phi od rc - Double_t phi = phi0global + factorPhi - factorPhi0; - - ftmp = (rc*rc-dcasq)/cst2; - if (ftmp < 0.0) - { - AliDebug(1,Form("Sqrt argument < 0: %f",ftmp)); - ftmp=0.0; - } - - ftmp = c2*TMath::Sqrt(ftmp); - if (ftmp > 1.0) - { - AliDebug(1,Form("ASin argument > 1: %f",ftmp)); - ftmp=1.0; - } - else if (ftmp < -1.0) - { - AliDebug(2,Form("ASin argument < -1: %f",ftmp)); - ftmp=-1.0; - } - Double_t factorZ = TMath::ASin(ftmp)*par[3]/c2; - fZ[i] = z0 + factorZ - factorZ0; - fX[i] = rc*TMath::Cos(phi); - fY[i] = rc*TMath::Sin(phi); - - AliDebug(3,Form("AliTrackPoints","X %f Y %f Z %f R asked %f R obtained %f", - fX[i],fY[i],fZ[i],rc,TMath::Hypot(fX[i],fY[i]))); - } -} - -/***************************************************************/ - -void AliTrackPoints::MakeITSPoints(AliESDtrack* track) -{ -//Calculates points in ITS -// z=R*Pz/Pt - AliITStrackV2 itstrack(*track,kTRUE); - Double_t x,y,z; - static const Double_t kR[6] = {4.0, 7.0, 14.9, 23.8, 39.1, 43.6}; - for (Int_t i = 0; i < 6; i++) - { - itstrack.GetGlobalXYZat(kR[i],x,y,z); - fX[i] = x; - fY[i] = y; - fZ[i] = z; -// Info("MakeITSPoints","X %f Y %f Z %f R asked %f R obtained %f", -// fX[i],fY[i],fZ[i],r[i],TMath::Hypot(fX[i],fY[i])); - } - -} - -/***************************************************************/ - -void AliTrackPoints::MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track, Float_t mf) -{ -//makes trackpoints for ITS -//for 3 inner layers calculates out of the vector at vertex -//for 3 outer ---------------//------------------ at inner TPC - - static const Double_t kR[6] = {4.0, 7.0, 14.9, 23.8, 39.1, 43.6}; - AliITStrackV2 itstrack(*track,kTRUE); - Double_t x,y,z; - for (Int_t i = 0; i < 3; i++) - { - itstrack.GetGlobalXYZat(kR[i],x,y,z); - fX[i] = x; - fY[i] = y; - fZ[i] = z; - AliDebug(3,Form("X %f Y %f Z %f R asked %f R obtained %f", - fX[i],fY[i],fZ[i],kR[i],TMath::Hypot(fX[i],fY[i]))); - } - - for (Int_t i = 3; i < 6; i++) - { - Float_t ax,ay,az; - AliTrackPoints tmptp(1,track,mf,0,kR[i]); - tmptp.PositionAt(0,ax,ay,az); - fX[i] = ax; - fY[i] = ay; - fZ[i] = az; - AliDebug(3,Form("X %f Y %f Z %f R asked %f R obtained %f", - fX[i],fY[i],fZ[i],kR[i],TMath::Hypot(fX[i],fY[i]))); - } - -} - -/***************************************************************/ - -void AliTrackPoints::PositionAt(Int_t n, Float_t &x,Float_t &y,Float_t &z) -{ - //returns position at point n - if ((n<0) || (n>=fN)) - { - Error("PositionAt","Point %d out of range",n); - return; - } - - x = fX[n]; - y = fY[n]; - z = fZ[n]; - AliDebug(2,Form("n %d; X %f; Y %f; Z %f",n,x,y,z)); - -} - -/***************************************************************/ - -void AliTrackPoints::Move(Float_t x, Float_t y, Float_t z) -{ -//Moves all points about vector - for (Int_t i = 0; iLoadgAlice(); - - Float_t mf = rl->GetAliRun()->Field()->SolenoidField(); - - - TFile* fFile = TFile::Open(fname); - - if (fFile == 0x0) - { - printf("testesd: There is no suche a ESD file\n"); - return; - } - AliESD* esd = dynamic_cast(fFile->Get("0")); - AliESDtrack *t = esd->GetTrack(entr); - if (t == 0x0) - { - ::Error("testesd","Can not get track %d",entr); - return; - } - - - Int_t nTrackPoints = 170; - AliTrackPoints* tp = new AliTrackPoints(nTrackPoints,t,mf,1.); - - Float_t xmin = -250; - Float_t xmax = 250; - - Float_t ymin = -250; - Float_t ymax = 250; - - Float_t zmin = -250; - Float_t zmax = 250; - - TH2D* hxy = new TH2D("hxy","hxy",1000,xmin,xmax,1000,ymin,ymax); - TH2D* hxyt = new TH2D("hxyt","hxyt",1000,xmin,xmax,1000,ymin,ymax); - TH2D* hxyTR = new TH2D("hxyTR","hxyTR",1000,xmin,xmax,1000,ymin,ymax); - - TH2D* hxz = new TH2D("hxz","hxz",1000,xmin,xmax,1000,zmin,zmax); - TH2D* hxzt = new TH2D("hxzt","hxzt",1000,xmin,xmax,1000,zmin,zmax); - TH2D* hxzTR = new TH2D("hxzTR","hxzTR",1000,xmin,xmax,1000,zmin,zmax); - - hxyt->SetDirectory(0x0); - hxy->SetDirectory(0x0); - hxyTR->SetDirectory(0x0); - - hxzt->SetDirectory(0x0); - hxz->SetDirectory(0x0); - hxzTR->SetDirectory(0x0); - - Float_t x,y,z; - - for (Int_t i = 0;iPositionAt(i,x,y,z); - hxy->Fill(x,y); - hxz->Fill(x,z); - printf("Rdemanded %f\n",r); - printf("tpx %f tpy %f tpz %f Rt =%f\n", x,y,z,TMath::Hypot(x,y)); - - } - - rl->LoadTrackRefs(); - TTree* treeTR = rl->TreeTR(); - TBranch* b = treeTR->GetBranch("TPC"); - - TClonesArray* trackrefs = new TClonesArray("AliTrackReference", 100); - AliTrackReference* tref; - b->SetAddress(&trackrefs); - - Int_t tlab = TMath::Abs(t->GetLabel()); - - Int_t netr = (Int_t)treeTR->GetEntries(); - printf("Found %d entries in TR tree\n",netr); - - for (Int_t e = 0; e < netr; e++) - { - treeTR->GetEntry(e); - tref = (AliTrackReference*)trackrefs->At(0); - if (tref == 0x0) continue; - if (tref->GetTrack() != tlab) continue; - - printf("Found %d entries in TR array\n",trackrefs->GetEntries()); - - for (Int_t i = 0; i < trackrefs->GetEntries(); i++) - { - tref = (AliTrackReference*)trackrefs->At(i); - if (tref->GetTrack() != tlab) continue; - x = tref->X(); - y = tref->Y(); - z = tref->Z(); - printf("Track Ref: x %f y %f z %f\n",tref->X(),tref->Y(),tref->Z()); - - hxzTR->Fill(x,z); - hxyTR->Fill(x,y); - for (Int_t j = 1; j < 10; j++) - { - hxyTR->Fill(x, y+j*0.1); - hxyTR->Fill(x, y-j*0.1); - hxyTR->Fill(x+j*0.1,y); - hxyTR->Fill(x-j*0.1,y); - - hxzTR->Fill(x,z-j*0.1); - hxzTR->Fill(x,z+j*0.1); - hxzTR->Fill(x-j*0.1,z); - hxzTR->Fill(x+j*0.1,z); - } - } - break; - } - hxy->Draw(""); -// hxzt->Draw("same"); - hxyTR->Draw("same"); - - delete rl; -} - -/***************************************************************/ - -void AliTrackPoints::Testtpc(Int_t entr) -{ - // This is a former macro converted to member function. - // It is used to test the functionality of the class using TPC tracks - delete gAlice; - gAlice = 0x0; - AliRunLoader* rl = AliRunLoader::Open(); - AliLoader* l = rl->GetLoader("TPCLoader"); - rl->LoadgAlice(); - AliTracker::SetFieldMap(rl->GetAliRun()->Field(),kTRUE); - l->LoadTracks(); - AliTPCtrack* t = new AliTPCtrack(); - TBranch* b=l->TreeT()->GetBranch("tracks"); - b->SetAddress(&t); - l->TreeT()->GetEntry(entr); - Int_t nTrackPoints = 160; - AliTrackPoints* tp = new AliTrackPoints(nTrackPoints,t,1.); - - Float_t xmin = -250; - Float_t xmax = 250; - - Float_t ymin = -250; - Float_t ymax = 250; - - Float_t zmin = -250; - Float_t zmax = 250; - - TH2D* hxy = new TH2D("hxy","hxy",1000,xmin,xmax,1000,ymin,ymax); - TH2D* hxyt = new TH2D("hxyt","hxyt",1000,xmin,xmax,1000,ymin,ymax); - TH2D* hxyTR = new TH2D("hxyTR","hxyTR",1000,xmin,xmax,1000,ymin,ymax); - - TH2D* hxz = new TH2D("hxz","hxz",1000,xmin,xmax,1000,zmin,zmax); - TH2D* hxzt = new TH2D("hxzt","hxzt",1000,xmin,xmax,1000,zmin,zmax); - TH2D* hxzTR = new TH2D("hxzTR","hxzTR",1000,xmin,xmax,1000,zmin,zmax); - - hxyt->SetDirectory(0x0); - hxy->SetDirectory(0x0); - hxyTR->SetDirectory(0x0); - - hxzt->SetDirectory(0x0); - hxz->SetDirectory(0x0); - hxzTR->SetDirectory(0x0); - - Float_t x,y,z; - - for (Int_t i = 0;iPositionAt(i,x,y,z); - hxy->Fill(x,y); - hxz->Fill(x,z); - printf("Rdemanded %f\n",r); - printf("tpx %f tpy %f tpz %f Rt =%f\n", x,y,z,TMath::Hypot(x,y)); - - //BUT they are local!!!! - t->PropagateTo(r); -// Double_t phi = t->Phi(); - Double_t rL = TMath::Hypot(t->GetX(),t->GetY());//real radius - - Double_t alpha = t->GetAlpha(); - Double_t salpha = TMath::Sin(alpha); - Double_t calpha = TMath::Cos(alpha); - x = t->GetX()*calpha - t->GetY()*salpha; - y = t->GetX()*salpha + t->GetY()*calpha; - z = t->GetZ(); - - printf("tx %f ty %f tz %f Rt = %f R from XY %f\n",x,y,z,TMath::Hypot(x,y),rL); - - printf("tpz - tz %f\n",z-t->GetZ()); - printf("\n"); - hxyt->Fill(x,y); - hxzt->Fill(x,z); - - } - - rl->LoadTrackRefs(); - TTree* treeTR = rl->TreeTR(); - b = treeTR->GetBranch("TPC"); - - TClonesArray* trackrefs = new TClonesArray("AliTrackReference", 100); - AliTrackReference* tref; - b->SetAddress(&trackrefs); - - Int_t tlab = TMath::Abs(t->GetLabel()); - - Int_t netr = (Int_t)treeTR->GetEntries(); - printf("Found %d entries in TR tree\n",netr); - - for (Int_t e = 0; e < netr; e++) - { - treeTR->GetEntry(e); - tref = (AliTrackReference*)trackrefs->At(0); - if (tref == 0x0) continue; - if (tref->GetTrack() != tlab) continue; - - printf("Found %d entries in TR array\n",trackrefs->GetEntries()); - - for (Int_t i = 0; i < trackrefs->GetEntries(); i++) - { - tref = (AliTrackReference*)trackrefs->At(i); - if (tref->GetTrack() != tlab) continue; - x = tref->X(); - y = tref->Y(); - z = tref->Z(); - printf("Track Ref: x %f y %f z %f\n",tref->X(),tref->Y(),tref->Z()); - - hxzTR->Fill(x,z); - hxyTR->Fill(x,y); - for (Int_t j = 1; j < 10; j++) - { - hxyTR->Fill(x, y+j*0.1); - hxyTR->Fill(x, y-j*0.1); - hxyTR->Fill(x+j*0.1,y); - hxyTR->Fill(x-j*0.1,y); - - hxzTR->Fill(x,z-j*0.1); - hxzTR->Fill(x,z+j*0.1); - hxzTR->Fill(x-j*0.1,z); - hxzTR->Fill(x+j*0.1,z); - } - } - break; - } - hxz->Draw(""); -// hxzt->Draw("same"); - hxzTR->Draw("same"); - - delete rl; -} - diff --git a/ANALYSIS/AliTrackPoints.h b/ANALYSIS/AliTrackPoints.h deleted file mode 100644 index 95a903d9e02..00000000000 --- a/ANALYSIS/AliTrackPoints.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef AliTrackPoints_H -#define AliTrackPoints_H -//_________________________________ -//////////////////////////////////////////////////////////// -// // -// class AliTrackPoints // -// // -// used by Anti-Merging cut // -// contains set of poits the lay on track trajectory // -// according to reconstructed track parameters - // -// NOT CLUSTERS POSITIONS!!! // -// Anti-Merging cut is applied only on tracks coming from // -// different events (that are use to fill deniminators) // -// // -//////////////////////////////////////////////////////////// -#include - -class AliTPCtrack; -class AliESDtrack; - -class AliTrackPoints: public TObject -{ - public: - typedef enum - {//defines the type and the track points are calculated - kITS = 1,//points calculated in ITS, made out of the vector at vertex - kITSInnerFromVertexOuterFromTPC //for ITS, for 3 inner layers calculated out of the vector at vertex - // for 3 outer ---------------//------------------ at inner TPC - } ETypes; - - AliTrackPoints(); - AliTrackPoints(AliTrackPoints::ETypes type, AliESDtrack* track, Float_t mf); - AliTrackPoints(Int_t n, AliESDtrack* track, Float_t mf, Float_t dr=30,Float_t r0 = 84.1); //min TPC R = 84.1; max TPC R = 246.6cm, - AliTrackPoints(Int_t n, AliTPCtrack* track, Float_t dr=30, Float_t r0 = 84.1); //min TPC R = 84.1; max TPC R = 246.6cm, - - virtual ~AliTrackPoints(); - - Double_t AvarageDistance(const AliTrackPoints& tr); - void PositionAt(Int_t n, Float_t &x, Float_t &y, Float_t &z); - void Move(Float_t x, Float_t y, Float_t z); - Int_t GetN() const {return fN;} - - Int_t GetDebug() const {return fgDebug;} - void SetDebug(Int_t deblevel){fgDebug = deblevel;} - static void Testtpc(Int_t entr); - static void Testesd(Int_t entr,const char* fname = "AliESDs.root"); - void Print(Option_t* /*option*/ = "") const; - - protected: - void MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha); - void MakeITSPoints(AliESDtrack* track); - void MakeITSPointsInnerFromVertexOuterFromTPC(AliESDtrack* track,Float_t mf); - - private: - AliTrackPoints(const AliTrackPoints& in); - AliTrackPoints& operator=(const AliTrackPoints& in); - - Int_t fN;//number of points - Float_t* fX;//[fN]positions at x - Float_t* fY;//[fN]positions at y - Float_t* fZ;//[fN] positions at z -// Float_t* fR;//! [fN] radii - static Int_t fgDebug;//! debug level - ClassDef(AliTrackPoints,1) -}; -#endif diff --git a/ANALYSIS/AliVAODParticle.cxx b/ANALYSIS/AliVAODParticle.cxx deleted file mode 100644 index 74384ab41a2..00000000000 --- a/ANALYSIS/AliVAODParticle.cxx +++ /dev/null @@ -1,68 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -///////////////////////////////////////////////////////////// -// -// base class for AOD particles -// -// Most of the methods defined in this base class (or even all of them) -// should be redefined in derived classes. Some methods like Pt() or -// Vx() have default implementation, but they are not optimised for -// performance. It is likely that they can be (and should be) implemented -// in the derived classes in a way which gives faster access. -// -// Algorithms and analysis classes should as much as possible use the -// interface of the base class instead of special methods of derived -// classes. This allows to run the code on all types of particles. -// -///////////////////////////////////////////////////////////// - -#include "AliVAODParticle.h" - -Int_t AliVAODParticle::fgDebug = 0; - -ClassImp(AliVAODParticle) - -void AliVAODParticle::Clear(Option_t * /*option*/) -{ -//Clear method -//It is necessary for storing particles in clones array - Error("Clear","!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - Error("Clear","error Error ERROR error Error ERROR"); - Error("Clear","This Particle do not implement Clear Method"); - Error("Clear","Clear Method must delete all dynamiclally allocalted memory"); - Error("Clear","error Error ERROR error Error ERROR"); - Error("Clear","!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); -} -//______________________________________________________________________________ - -AliVAODParticle::AliVAODParticle(const AliVAODParticle& in): - TObject(in) -{ - //Copy constructor -// Info("AliVAODParticle(const AliVAODParticle& in)",""); -} -//______________________________________________________________________________ - - -AliVAODParticle& AliVAODParticle::operator=(const AliVAODParticle& in) -{ -//assigment operator - if(this!=&in) { - } return *this; -} - diff --git a/ANALYSIS/AliVAODParticle.h b/ANALYSIS/AliVAODParticle.h deleted file mode 100644 index 04234cfd174..00000000000 --- a/ANALYSIS/AliVAODParticle.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef ALIVAODPARTICLE_H -#define ALIVAODPARTICLE_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -//*********************************************************** -// Class AliVAODParticle -// base class for AOD particles -// Author: Piotr.Skowronski@cern.ch -//*********************************************************** - -#include -//#include -#include - -class AliTrackPoints; -class AliClusterMap; - -class AliVAODParticle : public TObject { -public: - AliVAODParticle() : TObject(){} - virtual ~AliVAODParticle(){} - - AliVAODParticle(const AliVAODParticle& in); - AliVAODParticle& operator=(const AliVAODParticle& in); - - // kinematics - virtual Double_t Mass() const = 0; - virtual Double_t E() const = 0; - virtual Double_t P() const = 0; - virtual Double_t Pt() const = 0; - virtual Double_t Px() const = 0; - virtual Double_t Py() const = 0; - virtual Double_t Pz() const = 0; - virtual Double_t Phi() const = 0; - virtual Double_t Theta() const = 0; - virtual Double_t Eta() const = 0; - virtual Double_t Y() const = 0; - - virtual void SetMomentum(Double_t/*px*/,Double_t/*py*/,Double_t/*pz*/,Double_t/*E*/) = 0; - virtual void SetProductionVertex(Double_t /*vx*/, Double_t /*vy*/, Double_t /*vz*/, Double_t /*t*/) = 0; - - // PID - virtual void SetPdgCode(Int_t pdg, Float_t prob = 1.0) = 0; - virtual Double_t GetProbability(Int_t pdg) const = 0; - virtual Double_t GetPidProb() const = 0;//returns probability of being particle type defined by GetPdgCode() - virtual Int_t GetMostProbable() const = 0; - - virtual Int_t GetPdgCode() const = 0;//We need to assume some PID (f.e. energy calculation) - //sometimes one track can apear in analysis twise (e.g. ones as pion ones as kaon) - virtual Int_t GetNumberOfPids() const = 0; //returns number of non zero PID probabilities - virtual Int_t GetNthPid (Int_t idx) const = 0;//These two methods are made to be able to - virtual Float_t GetNthPidProb (Int_t idx) const = 0;//copy pid information i.e. in copy ctors - - virtual Double_t Charge() const = 0; - - // vertices - virtual Double_t Vx() const = 0; - virtual Double_t Vy() const = 0; - virtual Double_t Vz() const = 0; - virtual Double_t T() const {return 0.0;}; - - virtual AliVAODParticle* Mother() const {return NULL;}; - virtual Bool_t HasDecayVertex() const {return kFALSE;}; - virtual TVector3 DecayVertex() const {return TVector3();}; - virtual Int_t NumberOfDaughters() const {return 0;}; - virtual AliVAODParticle* Daughter(Int_t /*index*/) const {return NULL;}; - - virtual Int_t GetUID() const { return 0;}//returns unique ID of this track - //(may happen than the same track is selected - //twise, f.g. as a pion and as a kaon than both have the same UID) - virtual void SetUID(Int_t /*id*/){/* *this */} - // type information - virtual Bool_t IsSimulated() const {return kFALSE;}; - virtual Bool_t IsTrack() const {return kFALSE;}; - virtual Bool_t IsCluster() const {return kFALSE;}; - - //HBT specific - virtual AliTrackPoints* GetTPCTrackPoints() const {return 0x0;} - virtual AliTrackPoints* GetITSTrackPoints() const {return 0x0;} - virtual AliClusterMap* GetClusterMap() const {return 0x0;} - virtual void Print(const Option_t * opt = "") const = 0; - - static void SetDebug(Int_t dbg=1){fgDebug=dbg;} - static Int_t GetDebug(){return fgDebug;} - virtual void Clear(Option_t * /*option*/ =""); -private: - static Int_t fgDebug;//! debug level for all the analysis package - - ClassDef(AliVAODParticle,1) // base class for AOD particles -}; - -#endif diff --git a/ANALYSIS/AnalysisOldLinkDef.h b/ANALYSIS/AnalysisOldLinkDef.h deleted file mode 100644 index 58aa9354e40..00000000000 --- a/ANALYSIS/AnalysisOldLinkDef.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifdef __CINT__ - -#pragma link off all glols; -#pragma link off all classes; -#pragma link off all functions; - -#pragma link C++ class TGliteXmlEventlist+; - -#pragma link C++ class AliRunAnalysis+; -#pragma link C++ class AliAnalysis+; - -#pragma link C++ class AliAOD+; -#pragma link C++ class AliEventBuffer+; -#pragma link C++ class AliVAODParticle+; -#pragma link C++ class AliAODParticle+; -#pragma link C++ class AliAODPair+; - -#pragma link C++ class AliAODRun+; - -#pragma link C++ class AliTrackPoints+; -#pragma link C++ class AliClusterMap+; - -#pragma link C++ class AliReader+; -#pragma link C++ class AliReaderAOD+; -#pragma link C++ class AliReaderESD+; -#pragma link C++ class AliReaderESDTree+; -#pragma link C++ class AliReaderKineTree+; - -#pragma link C++ class AliFlowAnalysis+; -#pragma link C++ class AliMuonAnalysis+; - -#pragma link C++ class AliEventCut+; -#pragma link C++ class AliEventEmptyCut+; -#pragma link C++ class AliEventBaseCut+; - -#pragma link C++ class AliPrimVertexXCut+; -#pragma link C++ class AliPrimVertexYCut+; -#pragma link C++ class AliPrimVertexZCut+; -#pragma link C++ class AliNChargedCut+; - -#pragma link C++ class AliAODParticleCut-; -#pragma link C++ class AliAODParticleEmptyCut-; -#pragma link C++ class AliAODParticleBaseCut+; - -#pragma link C++ class AliAODMomentumCut+; -#pragma link C++ class AliAODPtCut+; -#pragma link C++ class AliAODEnergyCut+; -#pragma link C++ class AliAODRapidityCut+; -#pragma link C++ class AliAODPseudoRapidityCut+; -#pragma link C++ class AliAODPxCut+; -#pragma link C++ class AliAODPyCut+; -#pragma link C++ class AliAODPzCut+; -#pragma link C++ class AliAODPhiCut+; -#pragma link C++ class AliAODThetaCut+; -#pragma link C++ class AliAODVxCut+; -#pragma link C++ class AliAODVyCut+; -#pragma link C++ class AliAODVzCut+; -#pragma link C++ class AliAODPIDCut+; -#pragma link C++ class AliAODLogicalOperCut-; -#pragma link C++ class AliAODAndCut+; -#pragma link C++ class AliAODOrCut+; - - -#pragma link C++ class AliAODPairCut-; -#pragma link C++ class AliAODPairEmptyCut-; -#pragma link C++ class AliAODPairBaseCut+; - -#pragma link C++ class AliAODQInvCut+; -#pragma link C++ class AliAODKtCut+; -#pragma link C++ class AliAODKStarCut+; -#pragma link C++ class AliAODKStarOutCut+; -#pragma link C++ class AliAODKStarSideCut+; -#pragma link C++ class AliAODKStarLongCut+; -#pragma link C++ class AliAODQSideLCMSCut+; -#pragma link C++ class AliAODQOutLCMSCut+; -#pragma link C++ class AliAODQLongLCMSCut+; -#pragma link C++ class AliAODDeltaECut+; -#pragma link C++ class AliAODDeltaPCut+; -#pragma link C++ class AliAODDeltaPvectorCut+; -#pragma link C++ class AliAODDeltaPhiCut+; -#pragma link C++ class AliAODDeltaThetaCut+; -#pragma link C++ class AliAODAvSeparationCut+; -#pragma link C++ class AliAODSeparationCut+; -#pragma link C++ class AliAODITSSeparationCut+; -#pragma link C++ class AliAODCluterOverlapCut+; -#pragma link C++ class AliAODOutSideSameSignCut+; -#pragma link C++ class AliAODOutSideDiffSignCut+; -#pragma link C++ class AliAODLogicalOperPairCut-; -#pragma link C++ class AliAODOrPairCut+; -#pragma link C++ class AliAODAndPairCut+; - -#pragma link C++ class AliAnalysisEventCuts+; -#pragma link C++ class AliAnalysisTrackCuts+; - -#endif diff --git a/ANALYSIS/CMakeLists.txt b/ANALYSIS/CMakeLists.txt index ca8c912ac79..dd37d05cfc6 100644 --- a/ANALYSIS/CMakeLists.txt +++ b/ANALYSIS/CMakeLists.txt @@ -26,8 +26,6 @@ include(CMake_libANALYSISalice.txt) include(CMake_libANALYSIS.txt) -include(CMake_libAnalysisOld.txt) - include(CMake_libANALYSISRL.txt) include(CMake_libAliengui.txt) diff --git a/ANALYSIS/CMake_libAnalysisOld.txt b/ANALYSIS/CMake_libAnalysisOld.txt deleted file mode 100644 index 74a7f2cdc73..00000000000 --- a/ANALYSIS/CMake_libAnalysisOld.txt +++ /dev/null @@ -1,36 +0,0 @@ -# -*- mode: cmake -*- - -set(SRCS -TGliteXmlEventlist.cxx -AliAOD.cxx -AliEventBuffer.cxx -AliRunAnalysis.cxx -AliAnalysis.cxx -AliVAODParticle.cxx -AliAODParticle.cxx -AliAODPair.cxx -AliAODRun.cxx -AliAODParticleCut.cxx -AliAODParticleBaseCut.cxx -AliAODPairCut.cxx -AliAODPairBaseCut.cxx -AliEventCut.cxx -AliEventBaseCut.cxx -AliReader.cxx -AliReaderAOD.cxx -AliReaderKineTree.cxx -AliReaderESD.cxx -AliReaderESDTree.cxx -AliTrackPoints.cxx -AliClusterMap.cxx -AliFlowAnalysis.cxx -AliMuonAnalysis.cxx -AliAnalysisEventCuts.cxx -AliAnalysisTrackCuts.cxx -) - -# fill list of header files from list of source files -# by exchanging the file extension -String(REPLACE ".cxx" ".h" HDRS "${SRCS}") - -AddLibrary(AnalysisOld "${SRCS}" "${HDRS}") diff --git a/ANALYSIS/TGliteXmlEventlist.cxx b/ANALYSIS/TGliteXmlEventlist.cxx deleted file mode 100644 index 1b387cf4188..00000000000 --- a/ANALYSIS/TGliteXmlEventlist.cxx +++ /dev/null @@ -1,249 +0,0 @@ -#include "TGliteXmlEventlist.h" - -/////////////////////////////////////////////////////////////////////////////////////// -// class to read gLite XML collections -// Autor: Dr. A.-J. Peters - CERN 2004/ALICE Mail-to: Andreas.Joachim.Peters@cern.ch -/////////////////////////////////////////////////////////////////////////////////////// - -// example: -// --------------------------------------------------------------------------------- -// TGliteXmlEventlist* evlist = new TGliteXmlEventlist("/tmp/fileset.rxml"); -// evlist->Reset() -// // loop over all events -// while (evlist->Next()) { -// printf("URL for file AliESDs.root is: \n", evlist->GetURL("AliESDs.root")); -// } -// delete evlist; -// --------------------------------------------------------------------------------- - -#include -#include -#include -#include -#include -#include - - -ClassImp(TGliteXmlEventlist) - - -TGliteXmlEventlist::TGliteXmlEventlist(const char* localfilename): - TObject(), - fXmlFile(localfilename), - fEventList(new TList()), - fEventListIter(new TIter(fEventList)), - fCurrent(0) -{ -//Andi - please put a comment - fEventList->SetOwner(kTRUE); - ReadXML(); -} - -TGliteXmlEventlist::~TGliteXmlEventlist() { -//Andi - please put a comment - delete fEventList; - delete fEventListIter; -} - -void -TGliteXmlEventlist::Reset() { -//Andi - please put a comment - fEventListIter->Reset(); - fCurrent = 0; -} - -TMap* TGliteXmlEventlist::Next() { -//Andi - please put a comment - fCurrent = (TMap*)fEventListIter->Next(); - return fCurrent; -} - -void TGliteXmlEventlist::ReadXML() { -//Andi - please put a comment - TXMLEngine* xml = new TXMLEngine(); -#if ROOT_VERSION_CODE < 328704 - xmlDocPointer xdoc = xml->ParseFile(fXmlFile); - xmlNodePointer xglite = xml->DocGetRootElement(xdoc); - xmlNodePointer xdtext = xml->GetChild(xglite); - xmlNodePointer xcollection = xml->GetNext(xdtext); - - xmlNodePointer xtext = 0; - xmlNodePointer xevent = 0; - xmlNodePointer xtextnext = 0; - xmlNodePointer xeventnext = 0; -#else - XMLDocPointer_t xdoc = xml->ParseFile(fXmlFile); - XMLNodePointer_t xglite = xml->DocGetRootElement(xdoc); - XMLNodePointer_t xdtext = xml->GetChild(xglite); - XMLNodePointer_t xcollection = xml->GetNext(xdtext); - - XMLNodePointer_t xtext = 0; - XMLNodePointer_t xevent = 0; - XMLNodePointer_t xtextnext = 0; - XMLNodePointer_t xeventnext = 0; -#endif - Bool_t first_event=kTRUE; - do { - if (first_event) { - xtextnext = xml->GetChild(xcollection); - first_event = kFALSE; - } else { - xtextnext = xml->GetNext(xevent); - } - - if (xtextnext) { - xeventnext = xml->GetNext(xtextnext); - xtext = xeventnext; - xevent = xeventnext; - } else { - xtext = 0; - } - - if (xevent) { - if (xml->GetAttr(xevent,"name")) { - TMap* files = new TMap(); - - // here is our event - // printf("Found xevent: %s\n",xml->GetAttr(xevent,"name")); - - Bool_t first_file = kTRUE; - -#if ROOT_VERSION_CODE < 328704 - xmlNodePointer xfile = 0; - xmlNodePointer xfiletext = 0; - - xmlNodePointer xfilenext = 0; - xmlNodePointer xfiletextnext = 0; -#else - XMLNodePointer_t xfile = 0; - XMLNodePointer_t xfiletext = 0; - - XMLNodePointer_t xfilenext = 0; - XMLNodePointer_t xfiletextnext = 0; -#endif - do { - if (first_file) { - xfiletextnext = xml->GetChild(xevent); - first_file = kFALSE; - } else { - xfiletextnext = xml->GetNext(xfile); - } - - if (xfiletextnext) { - xfilenext = xml->GetNext(xfiletextnext); - xfiletext = xfilenext; - xfile = xfilenext; - } else { - xfile = 0; - xfiletext = 0; - } - if (xfile) { - // here we have an event file - // printf("Found file: %s\n",xml->GetAttr(xfile,"name")); - - // get the attributes; - // xml->GetAttr(xfile,"comment"); - // xml->GetAttr(xfile,"date"); - // xml->GetAttr(xfile,"group"); - // xml->GetAttr(xfile,"guid"); - // xml->GetAttr(xfile,"path"); - // xml->GetAttr(xfile,"permissions"); - // xml->GetAttr(xfile,"pfn"); - // xml->GetAttr(xfile,"se"); - // xml->GetAttr(xfile,"size"); - // xml->GetAttr(xfile,"user"); - - Bool_t first_mirror = kTRUE; - -#if ROOT_VERSION_CODE < 328704 - xmlNodePointer xmirror = 0; - xmlNodePointer xmirrortext = 0; - - xmlNodePointer xmirrornext = 0; - xmlNodePointer xmirrortextnext = 0; -#else - XMLNodePointer_t xmirror = 0; - XMLNodePointer_t xmirrortext = 0; - - XMLNodePointer_t xmirrornext = 0; - XMLNodePointer_t xmirrortextnext = 0; -#endif - - do { - if (first_mirror) { - xmirrortextnext = xml->GetChild(xfile); - first_mirror = kFALSE; - } else { - xmirrortextnext = xml->GetNext(xmirror); - } - - if (xmirrortextnext) { - xmirrornext = xml->GetNext(xmirrortextnext); - xmirrortext = xmirrornext; - xmirror = xmirrornext; - } else { - xmirror = 0; - xmirrortext = 0; - } - if (xmirror) { - // here we have a file mirror - xml->GetAttr(xmirror,"name"); - xml->GetAttr(xmirror,"domain"); - xml->GetAttr(xmirror,"latitude"); - xml->GetAttr(xmirror,"longitude"); - xml->GetAttr(xmirror,"location"); - xml->GetAttr(xmirror,"master"); - xml->GetAttr(xmirror,"site"); - xml->GetAttr(xmirror,"rootd"); - const char* master = 0; - if ( (master = xml->GetAttr(xmirror,"master"))) { - if (atoi(master) == 1) { - files->Add(new TObjString(xml->GetAttr(xfile,"name")) , new TObjString(xml->GetAttr(xmirror,"rootd"))); - } - } - // printf("Found File Mirror: %s\n",xml->GetAttr(xmirror,"name")); - } - } while (xmirror); - } - } while (xfile); - // printf("Adding files\n"); - fEventList->Add(files); - } - } - } while ( xtext ); - delete xml; -} - -const char* TGliteXmlEventlist::GetURL(const char* filename) const { -//Andi - please put a comment - if (fCurrent) { - TObjString* obj = (TObjString*)fCurrent->GetValue(filename); - if (obj) { - if (strlen(obj->GetName())) - return (obj->GetName()); - else - return 0; - } else { - return 0; - } - } else { - return 0; - } -} - - -void TGliteXmlEventlist::Print(Option_t */*opt*/) const { -//Andi - please put a comment - printf("Dumping %d elements\n",fEventList->GetSize()); - TIter next(fEventList); - TMap* filemap; - Int_t count=0; - while ( (filemap = (TMap*)next()) ) { - count++; - printf("Printing Element %d\n",count); - filemap->Print(); - } -} - - - diff --git a/ANALYSIS/libAnalysisOld.pkg b/ANALYSIS/libAnalysisOld.pkg deleted file mode 100644 index ab264e293d8..00000000000 --- a/ANALYSIS/libAnalysisOld.pkg +++ /dev/null @@ -1,41 +0,0 @@ -#-*- Mode: Makefile -*- - -SRCS= TGliteXmlEventlist.cxx\ - AliAOD.cxx AliEventBuffer.cxx \ - AliRunAnalysis.cxx AliAnalysis.cxx \ - AliVAODParticle.cxx AliAODParticle.cxx \ - AliAODPair.cxx AliAODRun.cxx \ - AliAODParticleCut.cxx AliAODParticleBaseCut.cxx \ - AliAODPairCut.cxx AliAODPairBaseCut.cxx \ - AliEventCut.cxx AliEventBaseCut.cxx \ - AliReader.cxx AliReaderAOD.cxx AliReaderKineTree.cxx \ - AliReaderESD.cxx AliReaderESDTree.cxx \ - AliTrackPoints.cxx AliClusterMap.cxx \ - AliFlowAnalysis.cxx \ - AliMuonAnalysis.cxx \ - AliAnalysisEventCuts.cxx AliAnalysisTrackCuts.cxx - -HDRS= $(SRCS:.cxx=.h) - -DHDR:=AnalysisOldLinkDef.h - -EXPORT:=AliAOD.h AliEventBuffer.h\ - AliVAODParticle.h AliAODParticle.h \ - AliAODPair.h AliAODRun.h \ - AliAODPairCut.h AliAODPairBaseCut.h \ - AliAODParticleCut.h AliAODParticleBaseCut.h \ - AliRunAnalysis.h AliAnalysis.h \ - AliEventCut.h AliEventBaseCut.h \ - AliReader.h AliReaderESD.h \ - AliTrackPoints.h AliClusterMap.h \ - AliFlowAnalysis.h AliReaderESDTree.h \ - AliMuonAnalysis.h \ - AliAnalysisEventCuts.h AliAnalysisTrackCuts.h - -EINCLUDE:= TPC ITS - -ifeq (win32gcc,$(ALICE_TARGET)) -PACKSOFLAGS:= $(SOFLAGS) -L$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET) \ - -lSTEER -lESD -lSTEERBase -lTPCrec -lITSrec \ - -L$(shell root-config --libdir) -lXMLIO -lEG -endif diff --git a/CMakeLists.txt b/CMakeLists.txt index ec838fb9620..210b959ddfe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,7 +126,6 @@ Add_subdirectory(EVE) Add_subdirectory(EVGEN) Add_subdirectory(FASTSIM) Add_subdirectory(FMD) -Add_subdirectory(HBTAN) Add_subdirectory(HERWIG) Add_subdirectory(HIJING) Add_subdirectory(HLT) diff --git a/EMCAL/AliEMCALv0.cxx b/EMCAL/AliEMCALv0.cxx index 169f3154b51..97da3d93b0b 100644 --- a/EMCAL/AliEMCALv0.cxx +++ b/EMCAL/AliEMCALv0.cxx @@ -96,167 +96,6 @@ AliEMCALv0::AliEMCALv0(const char *name, const char *title) fShishKebabModules = geom->GetShishKebabTrd1Modules(); } -//______________________________________________________________________ -void AliEMCALv0::BuildGeometry() -{ - // Display Geometry for display.C - - const Int_t kColorArm1 = kBlue ; - - AliEMCALGeometry * geom = GetGeometry(); - - TString gn(geom->GetName()); - gn.ToUpper(); - - // Define the shape of the Calorimeter - TNode * top = gAlice->GetGeometry()->GetNode("alice") ; // See AliceGeom/Nodes - TNode * envelopNode = 0; - const char *envn = "Envelop1"; - if(gn.Contains("WSUC")) { - envelopNode = BuildGeometryOfWSUC(); - } else { // Shish-kebab now for compact and TRD1 cases (ALIC) - envn="Envelop2"; - TPGON *pgon = new TPGON(envn, "PGON that contains arm 1", "void", - geom->GetArm1PhiMin(),geom->GetArm1PhiMax()-geom->GetArm1PhiMin(),geom->GetNPhiSuperModule(), 2); - // define section - if (fEnvelop1.GetSize()<8) { - fEnvelop1.Set(10); - fEnvelop1[0] = geom->GetArm1PhiMin(); // minimum phi angle - fEnvelop1[1] = geom->GetArm1PhiMax() - geom->GetArm1PhiMin(); // angular range in phi - fEnvelop1[2] = geom->GetNPhiSuperModule(); - fEnvelop1[3] = 2; // 2 z coordinates - fEnvelop1[4] = -geom->GetEnvelop(2)/2.; //zmin - fEnvelop1[5] = geom->GetEnvelop(0) ; // rmin at z1 - fEnvelop1[6] = geom->GetEnvelop(1) ; // rmax at z1 - fEnvelop1[7] = geom->GetEnvelop(2)/2.; //zmax - fEnvelop1[8] = fEnvelop1[5] ; // radii are the same. - fEnvelop1[9] = fEnvelop1[6] ; // radii are the same. - } - pgon->DefineSection(0, fEnvelop1[4], fEnvelop1[5], fEnvelop1[6]); - pgon->DefineSection(1, fEnvelop1[7], fEnvelop1[5], fEnvelop1[6]); - top->cd(); - envelopNode = new TNode(envn, "Arm1 Envelop2", envn, 0., 0., 0., "") ; - } - - envelopNode->SetLineColor(kColorArm1) ; - fNodes->Add(envelopNode); -} - -//______________________________________________________________________ -TNode *AliEMCALv0::BuildGeometryOfWSUC() -{ - // June 8, 2005; see directory geant3/TGeant3/G3toRoot.cxx - // enum EColor { kWhite, kBlack, kRed, kGreen, kBlue, kYellow, kMagenta, kCyan } - see $ROOTSYS/include/Gtypes.h - AliEMCALGeometry * g = GetGeometry(); - TNode * top = gAlice->GetGeometry()->GetNode("alice") ; // See AliceGeom/Nodes - top->cd(); - - TNode *envelopNode = 0; - const char *name = ""; - /* - name = "WSUC"; - new TBRIK(name, "WSUC(XEN1 in Geant)","void",fEnvelop1[0],fEnvelop1[1],fEnvelop1[2]); - envelopNode = new TNode(name, "envelope for WSUC", name, 0., 0., 0., ""); - envelopNode->SetVisibility(0); - */ - - TNode *emod=0, *scmx=0; - name = "SMOD"; // super module - new TBRIK(name, "SMOD(SMOD in Geant)","void", fSmodPar0,fSmodPar1,fSmodPar2); - if(envelopNode) envelopNode->cd(); - TNode *smod = new TNode(name, "SMOD", name, 0., 0., 0., ""); - smod->SetLineColor(kBlue) ; - if(envelopNode==0) envelopNode = smod; - - name = "EMOD"; // see CreateEMOD - TTRD1 *emodTrd1 = new TTRD1(name, "EMOD(EMOD in Geant)","void", float(fParEMOD[0]), - float(fParEMOD[1]),float(fParEMOD[2]),float(fParEMOD[3])); - - // SCMX = EMOD/4 for simplicity of drawing - name = "SCMX"; - Float_t dz=0.,theta=0.,phi=0.,h1=0.,bl1=0.,tl1=0.,alpha1=0.,h2=0.,bl2=0.,tl2=0.,alpha2=0.; - h1 = emodTrd1->GetDy()/2.; - bl1 = emodTrd1->GetDx()/2.; - tl1 = bl1; - alpha1 = 0.; - h2 = emodTrd1->GetDy()/2.; - bl2 = emodTrd1->GetDx2()/2.; - tl2 = bl2; - alpha2 = 0.; - - dz = emodTrd1->GetDz(); - double dr = TMath::Sqrt((h2-h1)*(h2-h1)+(bl2-bl1)*(bl2-bl1)); - theta = TMath::ATan2(dr,2.*dz) * TMath::RadToDeg(); - phi = 180.; - - TTRAP *scmxTrap = new TTRAP(name, "SCMX(SCMX as in Geant)","void", - dz,theta,phi, h1,bl1,tl1,alpha1, h2,bl2,tl2,alpha2); - // scmxTrap->Dump(); - Float_t xShiftSCMX = (emodTrd1->GetDx() + emodTrd1->GetDx2())/4.; - Float_t yShiftSCMX = emodTrd1->GetDy()/2.; - printf(" xShiftSCMX %7.4f yShiftSCMX %7.4f \n",xShiftSCMX,yShiftSCMX); - - name = "EMOD"; // see CreateEMOD - smod->cd(); - - AliEMCALShishKebabTrd1Module *mod=0; - Double_t angle=90., xpos=0.,ypos=0.,zpos=0., xposSCMX=0.,yposSCMX=0.,zposSCMX=0.; - char rtmn[100], rtmt[100]; - TRotMatrix *rtm=0, *rtmSCMX=0; - int numEmod=0; - for(int iz=0; izGetNZ(); iz++) { - mod = (AliEMCALShishKebabTrd1Module*)fShishKebabModules->At(iz); - zpos = mod->GetPosZ() - fSmodPar2; - ypos = mod->GetPosXfromR() - fSmodPar1; - - angle = mod->GetThetaInDegree(); - sprintf(rtmn,"rmEmod%5.1f",angle); - sprintf(rtmt,"rotation matrix for EMOD, iz=%i, angle = %6.3f",iz, angle); - if(iz==0) rtm = new TRotMatrix(rtmn, rtmt,0.,0., 90.,0., 90.,90.); // z'(x); y'(y); x'(z) - else rtm = new TRotMatrix(rtmn, rtmt,90.-angle,270., 90.0,0.0, angle,90.); - - TGeometry *tg = gAlice->GetGeometry(); - for(int ix=0; ixGetNPhi(); ix++) { // flat in phi - xpos = g->GetPhiModuleSize()*(2*ix+1 - g->GetNPhi())/2.; - sprintf(rtmt,"EMOD, iz %i, ix %i, angle %6.3f",iz,ix, angle); - TString namNode=name; - namNode += numEmod++; - smod->cd(); - emod = new TNode(namNode.Data(), rtmt, (TShape*)emodTrd1, xpos,ypos,zpos,rtm); - // emod->SetLineColor(kGreen) ; - emod->SetVisibility(0); // SCMX will bi visible - if(scmxTrap) { // 4(2x2) sensetive volume inside EMOD - emod->cd(); - zposSCMX = 0.; - for(int jy=0; jy<2; jy++){ // division on y - yposSCMX = yShiftSCMX *(2*jy - 1); - for(int jx=0; jx<2; jx++){ // division on x - Double_t theta1=90.,phi1=0., theta2=90.,phi2=90., theta3=0.,phi3=0 ; - xposSCMX = xShiftSCMX *(2*jx - 1); - namNode = "SCMX"; - namNode += jy; - namNode += jx; - sprintf(rtmn,"rm%s",namNode.Data()); - sprintf(rtmt,"rotation matrix for %s inside EMOD",namNode.Data()); - rtmSCMX = tg->GetRotMatrix(rtmn); - if(jx == 1) { - phi1 = 180.; // x' = -x - phi2 = 270.; // y' = -y - } - if(rtmSCMX == 0) rtmSCMX = new TRotMatrix(rtmn,rtmt, theta1,phi1, theta2,phi2, theta3,phi3); - sprintf(rtmt,"%s inside %s", namNode.Data(), emod->GetName()); - scmx = new TNode(namNode.Data(), rtmt, (TShape*)scmxTrap, xposSCMX,yposSCMX,zposSCMX,rtmSCMX); - scmx->SetLineColor(kMagenta); - } - } - } - } - } - // emod->Draw(); // for testing - - return envelopNode; -} - //______________________________________________________________________ void AliEMCALv0::CreateGeometry() { diff --git a/EMCAL/AliEMCALv0.h b/EMCAL/AliEMCALv0.h index a4c932615c7..2bb1674e5b7 100644 --- a/EMCAL/AliEMCALv0.h +++ b/EMCAL/AliEMCALv0.h @@ -39,8 +39,6 @@ class AliEMCALv0 : public AliEMCAL { virtual void AddAlignableVolumesInALICE() const; virtual void AddAlignableVolumesInWSUC() const; - virtual void BuildGeometry();// creates the geometry for the ROOT display - TNode *BuildGeometryOfWSUC(); // WSUC - test environment virtual void CreateGeometry() ;// creates the geometry for GEANT virtual void Init(void) ; // does nothing virtual Int_t IsVersion(void) const { diff --git a/EMCAL/AliEMCALv2.cxx b/EMCAL/AliEMCALv2.cxx index e57b14383f0..927d465c2f3 100644 --- a/EMCAL/AliEMCALv2.cxx +++ b/EMCAL/AliEMCALv2.cxx @@ -44,7 +44,6 @@ #include "AliHeader.h" #include "AliMC.h" #include "AliStack.h" -#include "AliPoints.h" // for TRD1 case only; May 31,2006 ClassImp(AliEMCALv2) diff --git a/EMCAL/AliEMCALv3.cxx b/EMCAL/AliEMCALv3.cxx index 135ce96665c..ba25771c870 100644 --- a/EMCAL/AliEMCALv3.cxx +++ b/EMCAL/AliEMCALv3.cxx @@ -43,7 +43,6 @@ #include "AliHeader.h" #include "AliMC.h" #include "AliStack.h" -#include "AliPoints.h" // for TRD1,2 case ClassImp(AliEMCALv3) diff --git a/Euclid/ITSgeometry_5.det b/Euclid/ITSgeometry_5.det deleted file mode 100644 index ac03a2d551f..00000000000 --- a/Euclid/ITSgeometry_5.det +++ /dev/null @@ -1,2270 +0,0 @@ - 1 1 1 1.5466 3.7892 12.72 90. 162. 90. 252. 0. 0. - 1 1 2 1.5466 3.7892 4.24 90. 162. 90. 252. 0. 0. - 1 1 3 1.5466 3.7892 -4.24 90. 162. 90. 252. 0. 0. - 1 1 4 1.5466 3.7892 -12.72 90. 162. 90. 252. 0. 0. - 1 2 1 0.3000 3.8375 12.72 90. 180. 90. 270. 0. 0. - 1 2 2 0.3000 3.8375 4.24 90. 180. 90. 270. 0. 0. - 1 2 3 0.3000 3.8375 -4.24 90. 180. 90. 270. 0. 0. - 1 2 4 0.3000 3.8375 -12.72 90. 180. 90. 270. 0. 0. - 1 3 1 -0.9760 3.9746 12.72 90. 198. 90. 288. 0. 0. - 1 3 2 -0.9760 3.9746 4.24 90. 198. 90. 288. 0. 0. - 1 3 3 -0.9760 3.9746 -4.24 90. 198. 90. 288. 0. 0. - 1 3 4 -0.9760 3.9746 -12.72 90. 198. 90. 288. 0. 0. - 1 4 1 -2.0129 3.2809 12.72 90. 216. 90. 306. 0. 0. - 1 4 2 -2.0129 3.2809 4.24 90. 216. 90. 306. 0. 0. - 1 4 3 -2.0129 3.2809 -4.24 90. 216. 90. 306. 0. 0. - 1 4 4 -2.0129 3.2809 -12.72 90. 216. 90. 306. 0. 0. - 1 5 1 -3.1259 2.6418 12.72 90. 234. 90. 324. 0. 0. - 1 5 2 -3.1259 2.6418 4.24 90. 234. 90. 324. 0. 0. - 1 5 3 -3.1259 2.6418 -4.24 90. 234. 90. 324. 0. 0. - 1 5 4 -3.1259 2.6418 -12.72 90. 234. 90. 324. 0. 0. - 1 6 1 -3.5570 1.4712 12.72 90. 252. 90. 342. 0. 0. - 1 6 2 -3.5570 1.4712 4.24 90. 252. 90. 342. 0. 0. - 1 6 3 -3.5570 1.4712 -4.24 90. 252. 90. 342. 0. 0. - 1 6 4 -3.5570 1.4712 -12.72 90. 252. 90. 342. 0. 0. - 1 7 1 -4.0817 0.3000 12.72 90. 270. 90. 0. 0. 0. - 1 7 2 -4.0817 0.3000 4.24 90. 270. 90. 0. 0. 0. - 1 7 3 -4.0817 0.3000 -4.24 90. 270. 90. 0. 0. 0. - 1 7 4 -4.0817 0.3000 -12.72 90. 270. 90. 0. 0. 0. - 1 8 1 -3.7424 -0.9005 12.72 90. 288. 90. 18. 0. 0. - 1 8 2 -3.7424 -0.9005 4.24 90. 288. 90. 18. 0. 0. - 1 8 3 -3.7424 -0.9005 -4.24 90. 288. 90. 18. 0. 0. - 1 8 4 -3.7424 -0.9005 -12.72 90. 288. 90. 18. 0. 0. - 1 9 1 -3.4785 -2.1565 12.72 90. 306. 90. 36. 0. 0. - 1 9 2 -3.4785 -2.1565 4.24 90. 306. 90. 36. 0. 0. - 1 9 3 -3.4785 -2.1565 -4.24 90. 306. 90. 36. 0. 0. - 1 9 4 -3.4785 -2.1565 -12.72 90. 306. 90. 36. 0. 0. - 1 10 1 -2.4983 -2.9283 12.72 90. 324. 90. 54. 0. 0. - 1 10 2 -2.4983 -2.9283 4.24 90. 324. 90. 54. 0. 0. - 1 10 3 -2.4983 -2.9283 -4.24 90. 324. 90. 54. 0. 0. - 1 10 4 -2.4983 -2.9283 -12.72 90. 324. 90. 54. 0. 0. - 1 11 1 -1.5466 -3.7892 12.72 90. 342. 90. 72. 0. 0. - 1 11 2 -1.5466 -3.7892 4.24 90. 342. 90. 72. 0. 0. - 1 11 3 -1.5466 -3.7892 -4.24 90. 342. 90. 72. 0. 0. - 1 11 4 -1.5466 -3.7892 -12.72 90. 342. 90. 72. 0. 0. - 1 12 1 -0.3000 -3.8375 12.72 90. 0. 90. 90. 0. 0. - 1 12 2 -0.3000 -3.8375 4.24 90. 0. 90. 90. 0. 0. - 1 12 3 -0.3000 -3.8375 -4.24 90. 0. 90. 90. 0. 0. - 1 12 4 -0.3000 -3.8375 -12.72 90. 0. 90. 90. 0. 0. - 1 13 1 0.9760 -3.9746 12.72 90. 18. 90. 108. 0. 0. - 1 13 2 0.9760 -3.9746 4.24 90. 18. 90. 108. 0. 0. - 1 13 3 0.9760 -3.9746 -4.24 90. 18. 90. 108. 0. 0. - 1 13 4 0.9760 -3.9746 -12.72 90. 18. 90. 108. 0. 0. - 1 14 1 2.0129 -3.2809 12.72 90. 36. 90. 126. 0. 0. - 1 14 2 2.0129 -3.2809 4.24 90. 36. 90. 126. 0. 0. - 1 14 3 2.0129 -3.2809 -4.24 90. 36. 90. 126. 0. 0. - 1 14 4 2.0129 -3.2809 -12.72 90. 36. 90. 126. 0. 0. - 1 15 1 3.1259 -2.6418 12.72 90. 54. 90. 144. 0. 0. - 1 15 2 3.1259 -2.6418 4.24 90. 54. 90. 144. 0. 0. - 1 15 3 3.1259 -2.6418 -4.24 90. 54. 90. 144. 0. 0. - 1 15 4 3.1259 -2.6418 -12.72 90. 54. 90. 144. 0. 0. - 1 16 1 3.5570 -1.4712 12.72 90. 72. 90. 162. 0. 0. - 1 16 2 3.5570 -1.4712 4.24 90. 72. 90. 162. 0. 0. - 1 16 3 3.5570 -1.4712 -4.24 90. 72. 90. 162. 0. 0. - 1 16 4 3.5570 -1.4712 -12.72 90. 72. 90. 162. 0. 0. - 1 17 1 4.0817 -0.3000 12.72 90. 90. 90. 180. 0. 0. - 1 17 2 4.0817 -0.3000 4.24 90. 90. 90. 180. 0. 0. - 1 17 3 4.0817 -0.3000 -4.24 90. 90. 90. 180. 0. 0. - 1 17 4 4.0817 -0.3000 -12.72 90. 90. 90. 180. 0. 0. - 1 18 1 3.7424 0.9005 12.72 90. 108. 90. 198. 0. 0. - 1 18 2 3.7424 0.9005 4.24 90. 108. 90. 198. 0. 0. - 1 18 3 3.7424 0.9005 -4.24 90. 108. 90. 198. 0. 0. - 1 18 4 3.7424 0.9005 -12.72 90. 108. 90. 198. 0. 0. - 1 19 1 3.4785 2.1565 12.72 90. 126. 90. 216. 0. 0. - 1 19 2 3.4785 2.1565 4.24 90. 126. 90. 216. 0. 0. - 1 19 3 3.4785 2.1565 -4.24 90. 126. 90. 216. 0. 0. - 1 19 4 3.4785 2.1565 -12.72 90. 126. 90. 216. 0. 0. - 1 20 1 2.4983 2.9283 12.72 90. 144. 90. 234. 0. 0. - 1 20 2 2.4983 2.9283 4.24 90. 144. 90. 234. 0. 0. - 1 20 3 2.4983 2.9283 -4.24 90. 144. 90. 234. 0. 0. - 1 20 4 2.4983 2.9283 -12.72 90. 144. 90. 234. 0. 0. - 2 1 1 3.1659 6.3740 12.72 90. 310. 90. 40. 0. 0. - 2 1 2 3.1659 6.3740 4.24 90. 310. 90. 40. 0. 0. - 2 1 3 3.1659 6.3740 -4.24 90. 310. 90. 40. 0. 0. - 2 1 4 3.1659 6.3740 -12.72 90. 310. 90. 40. 0. 0. - 2 2 1 2.1299 6.7908 12.72 90. 319. 90. 49. 0. 0. - 2 2 2 2.1299 6.7908 4.24 90. 319. 90. 49. 0. 0. - 2 2 3 2.1299 6.7908 -4.24 90. 319. 90. 49. 0. 0. - 2 2 4 2.1299 6.7908 -12.72 90. 319. 90. 49. 0. 0. - 2 3 1 1.0413 7.0403 12.72 90. 328. 90. 58. 0. 0. - 2 3 2 1.0413 7.0403 4.24 90. 328. 90. 58. 0. 0. - 2 3 3 1.0413 7.0403 -4.24 90. 328. 90. 58. 0. 0. - 2 3 4 1.0413 7.0403 -12.72 90. 328. 90. 58. 0. 0. - 2 4 1 -0.0729 7.1166 12.72 90. 337. 90. 67. 0. 0. - 2 4 2 -0.0729 7.1166 4.24 90. 337. 90. 67. 0. 0. - 2 4 3 -0.0729 7.1166 -4.24 90. 337. 90. 67. 0. 0. - 2 4 4 -0.0729 7.1166 -12.72 90. 337. 90. 67. 0. 0. - 2 5 1 -1.1852 7.0175 12.72 90. 346. 90. 76. 0. 0. - 2 5 2 -1.1852 7.0175 4.24 90. 346. 90. 76. 0. 0. - 2 5 3 -1.1852 7.0175 -4.24 90. 346. 90. 76. 0. 0. - 2 5 4 -1.1852 7.0175 -12.72 90. 346. 90. 76. 0. 0. - 2 6 1 -2.2684 6.7457 12.72 90. 355. 90. 85. 0. 0. - 2 6 2 -2.2684 6.7457 4.24 90. 355. 90. 85. 0. 0. - 2 6 3 -2.2684 6.7457 -4.24 90. 355. 90. 85. 0. 0. - 2 6 4 -2.2684 6.7457 -12.72 90. 355. 90. 85. 0. 0. - 2 7 1 -3.2958 6.3078 12.72 90. 4. 90. 94. 0. 0. - 2 7 2 -3.2958 6.3078 4.24 90. 4. 90. 94. 0. 0. - 2 7 3 -3.2958 6.3078 -4.24 90. 4. 90. 94. 0. 0. - 2 7 4 -3.2958 6.3078 -12.72 90. 4. 90. 94. 0. 0. - 2 8 1 -4.2420 5.7146 12.72 90. 13. 90. 103. 0. 0. - 2 8 2 -4.2420 5.7146 4.24 90. 13. 90. 103. 0. 0. - 2 8 3 -4.2420 5.7146 -4.24 90. 13. 90. 103. 0. 0. - 2 8 4 -4.2420 5.7146 -12.72 90. 13. 90. 103. 0. 0. - 2 9 1 -5.0837 4.9806 12.72 90. 22. 90. 112. 0. 0. - 2 9 2 -5.0837 4.9806 4.24 90. 22. 90. 112. 0. 0. - 2 9 3 -5.0837 4.9806 -4.24 90. 22. 90. 112. 0. 0. - 2 9 4 -5.0837 4.9806 -12.72 90. 22. 90. 112. 0. 0. - 2 10 1 -5.8002 4.1241 12.72 90. 31. 90. 121. 0. 0. - 2 10 2 -5.8002 4.1241 4.24 90. 31. 90. 121. 0. 0. - 2 10 3 -5.8002 4.1241 -4.24 90. 31. 90. 121. 0. 0. - 2 10 4 -5.8002 4.1241 -12.72 90. 31. 90. 121. 0. 0. - 2 11 1 -6.3740 3.1659 12.72 90. 40. 90. 130. 0. 0. - 2 11 2 -6.3740 3.1659 4.24 90. 40. 90. 130. 0. 0. - 2 11 3 -6.3740 3.1659 -4.24 90. 40. 90. 130. 0. 0. - 2 11 4 -6.3740 3.1659 -12.72 90. 40. 90. 130. 0. 0. - 2 12 1 -6.7908 2.1298 12.72 90. 49. 90. 139. 0. 0. - 2 12 2 -6.7908 2.1298 4.24 90. 49. 90. 139. 0. 0. - 2 12 3 -6.7908 2.1298 -4.24 90. 49. 90. 139. 0. 0. - 2 12 4 -6.7908 2.1298 -12.72 90. 49. 90. 139. 0. 0. - 2 13 1 -7.0403 1.0413 12.72 90. 58. 90. 148. 0. 0. - 2 13 2 -7.0403 1.0413 4.24 90. 58. 90. 148. 0. 0. - 2 13 3 -7.0403 1.0413 -4.24 90. 58. 90. 148. 0. 0. - 2 13 4 -7.0403 1.0413 -12.72 90. 58. 90. 148. 0. 0. - 2 14 1 -7.1166 -0.0728 12.72 90. 67. 90. 157. 0. 0. - 2 14 2 -7.1166 -0.0728 4.24 90. 67. 90. 157. 0. 0. - 2 14 3 -7.1166 -0.0728 -4.24 90. 67. 90. 157. 0. 0. - 2 14 4 -7.1166 -0.0728 -12.72 90. 67. 90. 157. 0. 0. - 2 15 1 -7.0175 -1.1853 12.72 90. 76. 90. 166. 0. 0. - 2 15 2 -7.0175 -1.1853 4.24 90. 76. 90. 166. 0. 0. - 2 15 3 -7.0175 -1.1853 -4.24 90. 76. 90. 166. 0. 0. - 2 15 4 -7.0175 -1.1853 -12.72 90. 76. 90. 166. 0. 0. - 2 16 1 -6.7457 -2.2685 12.72 90. 85. 90. 175. 0. 0. - 2 16 2 -6.7457 -2.2685 4.24 90. 85. 90. 175. 0. 0. - 2 16 3 -6.7457 -2.2685 -4.24 90. 85. 90. 175. 0. 0. - 2 16 4 -6.7457 -2.2685 -12.72 90. 85. 90. 175. 0. 0. - 2 17 1 -6.3078 -3.2958 12.72 90. 94. 90. 184. 0. 0. - 2 17 2 -6.3078 -3.2958 4.24 90. 94. 90. 184. 0. 0. - 2 17 3 -6.3078 -3.2958 -4.24 90. 94. 90. 184. 0. 0. - 2 17 4 -6.3078 -3.2958 -12.72 90. 94. 90. 184. 0. 0. - 2 18 1 -5.7146 -4.2419 12.72 90. 103. 90. 193. 0. 0. - 2 18 2 -5.7146 -4.2419 4.24 90. 103. 90. 193. 0. 0. - 2 18 3 -5.7146 -4.2419 -4.24 90. 103. 90. 193. 0. 0. - 2 18 4 -5.7146 -4.2419 -12.72 90. 103. 90. 193. 0. 0. - 2 19 1 -4.9806 -5.0837 12.72 90. 112. 90. 202. 0. 0. - 2 19 2 -4.9806 -5.0837 4.24 90. 112. 90. 202. 0. 0. - 2 19 3 -4.9806 -5.0837 -4.24 90. 112. 90. 202. 0. 0. - 2 19 4 -4.9806 -5.0837 -12.72 90. 112. 90. 202. 0. 0. - 2 20 1 -4.1240 -5.8003 12.72 90. 121. 90. 211. 0. 0. - 2 20 2 -4.1240 -5.8003 4.24 90. 121. 90. 211. 0. 0. - 2 20 3 -4.1240 -5.8003 -4.24 90. 121. 90. 211. 0. 0. - 2 20 4 -4.1240 -5.8003 -12.72 90. 121. 90. 211. 0. 0. - 2 21 1 -3.1659 -6.3740 12.72 90. 130. 90. 220. 0. 0. - 2 21 2 -3.1659 -6.3740 4.24 90. 130. 90. 220. 0. 0. - 2 21 3 -3.1659 -6.3740 -4.24 90. 130. 90. 220. 0. 0. - 2 21 4 -3.1659 -6.3740 -12.72 90. 130. 90. 220. 0. 0. - 2 22 1 -2.1299 -6.7908 12.72 90. 139. 90. 229. 0. 0. - 2 22 2 -2.1299 -6.7908 4.24 90. 139. 90. 229. 0. 0. - 2 22 3 -2.1299 -6.7908 -4.24 90. 139. 90. 229. 0. 0. - 2 22 4 -2.1299 -6.7908 -12.72 90. 139. 90. 229. 0. 0. - 2 23 1 -1.0413 -7.0403 12.72 90. 148. 90. 238. 0. 0. - 2 23 2 -1.0413 -7.0403 4.24 90. 148. 90. 238. 0. 0. - 2 23 3 -1.0413 -7.0403 -4.24 90. 148. 90. 238. 0. 0. - 2 23 4 -1.0413 -7.0403 -12.72 90. 148. 90. 238. 0. 0. - 2 24 1 0.0729 -7.1166 12.72 90. 157. 90. 247. 0. 0. - 2 24 2 0.0729 -7.1166 4.24 90. 157. 90. 247. 0. 0. - 2 24 3 0.0729 -7.1166 -4.24 90. 157. 90. 247. 0. 0. - 2 24 4 0.0729 -7.1166 -12.72 90. 157. 90. 247. 0. 0. - 2 25 1 1.1852 -7.0175 12.72 90. 166. 90. 256. 0. 0. - 2 25 2 1.1852 -7.0175 4.24 90. 166. 90. 256. 0. 0. - 2 25 3 1.1852 -7.0175 -4.24 90. 166. 90. 256. 0. 0. - 2 25 4 1.1852 -7.0175 -12.72 90. 166. 90. 256. 0. 0. - 2 26 1 2.2684 -6.7457 12.72 90. 175. 90. 265. 0. 0. - 2 26 2 2.2684 -6.7457 4.24 90. 175. 90. 265. 0. 0. - 2 26 3 2.2684 -6.7457 -4.24 90. 175. 90. 265. 0. 0. - 2 26 4 2.2684 -6.7457 -12.72 90. 175. 90. 265. 0. 0. - 2 27 1 3.2958 -6.3078 12.72 90. 184. 90. 274. 0. 0. - 2 27 2 3.2958 -6.3078 4.24 90. 184. 90. 274. 0. 0. - 2 27 3 3.2958 -6.3078 -4.24 90. 184. 90. 274. 0. 0. - 2 27 4 3.2958 -6.3078 -12.72 90. 184. 90. 274. 0. 0. - 2 28 1 4.2420 -5.7146 12.72 90. 193. 90. 283. 0. 0. - 2 28 2 4.2420 -5.7146 4.24 90. 193. 90. 283. 0. 0. - 2 28 3 4.2420 -5.7146 -4.24 90. 193. 90. 283. 0. 0. - 2 28 4 4.2420 -5.7146 -12.72 90. 193. 90. 283. 0. 0. - 2 29 1 5.0837 -4.9806 12.72 90. 202. 90. 292. 0. 0. - 2 29 2 5.0837 -4.9806 4.24 90. 202. 90. 292. 0. 0. - 2 29 3 5.0837 -4.9806 -4.24 90. 202. 90. 292. 0. 0. - 2 29 4 5.0837 -4.9806 -12.72 90. 202. 90. 292. 0. 0. - 2 30 1 5.8002 -4.1241 12.72 90. 211. 90. 301. 0. 0. - 2 30 2 5.8002 -4.1241 4.24 90. 211. 90. 301. 0. 0. - 2 30 3 5.8002 -4.1241 -4.24 90. 211. 90. 301. 0. 0. - 2 30 4 5.8002 -4.1241 -12.72 90. 211. 90. 301. 0. 0. - 2 31 1 6.3740 -3.1659 12.72 90. 220. 90. 310. 0. 0. - 2 31 2 6.3740 -3.1659 4.24 90. 220. 90. 310. 0. 0. - 2 31 3 6.3740 -3.1659 -4.24 90. 220. 90. 310. 0. 0. - 2 31 4 6.3740 -3.1659 -12.72 90. 220. 90. 310. 0. 0. - 2 32 1 6.7908 -2.1298 12.72 90. 229. 90. 319. 0. 0. - 2 32 2 6.7908 -2.1298 4.24 90. 229. 90. 319. 0. 0. - 2 32 3 6.7908 -2.1298 -4.24 90. 229. 90. 319. 0. 0. - 2 32 4 6.7908 -2.1298 -12.72 90. 229. 90. 319. 0. 0. - 2 33 1 7.0403 -1.0413 12.72 90. 238. 90. 328. 0. 0. - 2 33 2 7.0403 -1.0413 4.24 90. 238. 90. 328. 0. 0. - 2 33 3 7.0403 -1.0413 -4.24 90. 238. 90. 328. 0. 0. - 2 33 4 7.0403 -1.0413 -12.72 90. 238. 90. 328. 0. 0. - 2 34 1 7.1166 0.0728 12.72 90. 247. 90. 337. 0. 0. - 2 34 2 7.1166 0.0728 4.24 90. 247. 90. 337. 0. 0. - 2 34 3 7.1166 0.0728 -4.24 90. 247. 90. 337. 0. 0. - 2 34 4 7.1166 0.0728 -12.72 90. 247. 90. 337. 0. 0. - 2 35 1 7.0175 1.1853 12.72 90. 256. 90. 346. 0. 0. - 2 35 2 7.0175 1.1853 4.24 90. 256. 90. 346. 0. 0. - 2 35 3 7.0175 1.1853 -4.24 90. 256. 90. 346. 0. 0. - 2 35 4 7.0175 1.1853 -12.72 90. 256. 90. 346. 0. 0. - 2 36 1 6.7457 2.2685 12.72 90. 265. 90. 355. 0. 0. - 2 36 2 6.7457 2.2685 4.24 90. 265. 90. 355. 0. 0. - 2 36 3 6.7457 2.2685 -4.24 90. 265. 90. 355. 0. 0. - 2 36 4 6.7457 2.2685 -12.72 90. 265. 90. 355. 0. 0. - 2 37 1 6.3078 3.2958 12.72 90. 274. 90. 4. 0. 0. - 2 37 2 6.3078 3.2958 4.24 90. 274. 90. 4. 0. 0. - 2 37 3 6.3078 3.2958 -4.24 90. 274. 90. 4. 0. 0. - 2 37 4 6.3078 3.2958 -12.72 90. 274. 90. 4. 0. 0. - 2 38 1 5.7146 4.2419 12.72 90. 283. 90. 13. 0. 0. - 2 38 2 5.7146 4.2419 4.24 90. 283. 90. 13. 0. 0. - 2 38 3 5.7146 4.2419 -4.24 90. 283. 90. 13. 0. 0. - 2 38 4 5.7146 4.2419 -12.72 90. 283. 90. 13. 0. 0. - 2 39 1 4.9806 5.0837 12.72 90. 292. 90. 22. 0. 0. - 2 39 2 4.9806 5.0837 4.24 90. 292. 90. 22. 0. 0. - 2 39 3 4.9806 5.0837 -4.24 90. 292. 90. 22. 0. 0. - 2 39 4 4.9806 5.0837 -12.72 90. 292. 90. 22. 0. 0. - 2 40 1 4.1240 5.8003 12.72 90. 301. 90. 31. 0. 0. - 2 40 2 4.1240 5.8003 4.24 90. 301. 90. 31. 0. 0. - 2 40 3 4.1240 5.8003 -4.24 90. 301. 90. 31. 0. 0. - 2 40 4 4.1240 5.8003 -12.72 90. 301. 90. 31. 0. 0. - 3 1 1 -3.3033 14.4728 18.55 90. 12.86 90. 102.86 0. 0. - 3 1 2 -3.2521 14.2486 10.95 90. 12.86 90. 102.86 0. 0. - 3 1 3 -3.3033 14.4728 3.70 90. 12.86 90. 102.86 0. 0. - 3 1 4 -3.2521 14.2486 -3.70 90. 12.86 90. 102.86 0. 0. - 3 1 5 -3.3033 14.4728 -11.20 90. 12.86 90. 102.86 0. 0. - 3 1 6 -3.2521 14.2486 -18.35 90. 12.86 90. 102.86 0. 0. - 3 2 1 -9.6298 12.0754 18.55 90. 38.57 90. 128.57 0. 0. - 3 2 2 -9.4864 11.8956 10.95 90. 38.57 90. 128.57 0. 0. - 3 2 3 -9.6298 12.0754 3.70 90. 38.57 90. 128.57 0. 0. - 3 2 4 -9.4864 11.8956 -3.70 90. 38.57 90. 128.57 0. 0. - 3 2 5 -9.6298 12.0754 -11.20 90. 38.57 90. 128.57 0. 0. - 3 2 6 -9.4864 11.8956 -18.35 90. 38.57 90. 128.57 0. 0. - 3 3 1 -13.3749 6.4410 18.55 90. 64.29 90. 154.29 0. 0. - 3 3 2 -13.1677 6.3412 10.95 90. 64.29 90. 154.29 0. 0. - 3 3 3 -13.3749 6.4410 3.70 90. 64.29 90. 154.29 0. 0. - 3 3 4 -13.1677 6.3412 -3.70 90. 64.29 90. 154.29 0. 0. - 3 3 5 -13.3749 6.4410 -11.20 90. 64.29 90. 154.29 0. 0. - 3 3 6 -13.1677 6.3412 -18.35 90. 64.29 90. 154.29 0. 0. - 3 4 1 -15.4450 0.0000 18.55 90. 90.00 90. 180.00 0. 0. - 3 4 2 -15.2150 0.0000 10.95 90. 90.00 90. 180.00 0. 0. - 3 4 3 -15.4450 0.0000 3.70 90. 90.00 90. 180.00 0. 0. - 3 4 4 -15.2150 0.0000 -3.70 90. 90.00 90. 180.00 0. 0. - 3 4 5 -15.4450 0.0000 -11.20 90. 90.00 90. 180.00 0. 0. - 3 4 6 -15.2150 0.0000 -18.35 90. 90.00 90. 180.00 0. 0. - 3 5 1 -13.3749 -6.4410 18.55 90. 115.71 90. 205.71 0. 0. - 3 5 2 -13.1677 -6.3412 10.95 90. 115.71 90. 205.71 0. 0. - 3 5 3 -13.3749 -6.4410 3.70 90. 115.71 90. 205.71 0. 0. - 3 5 4 -13.1677 -6.3412 -3.70 90. 115.71 90. 205.71 0. 0. - 3 5 5 -13.3749 -6.4410 -11.20 90. 115.71 90. 205.71 0. 0. - 3 5 6 -13.1677 -6.3412 -18.35 90. 115.71 90. 205.71 0. 0. - 3 6 1 -9.6298 -12.0754 18.55 90. 141.43 90. 231.43 0. 0. - 3 6 2 -9.4864 -11.8956 10.95 90. 141.43 90. 231.43 0. 0. - 3 6 3 -9.6298 -12.0754 3.70 90. 141.43 90. 231.43 0. 0. - 3 6 4 -9.4864 -11.8956 -3.70 90. 141.43 90. 231.43 0. 0. - 3 6 5 -9.6298 -12.0754 -11.20 90. 141.43 90. 231.43 0. 0. - 3 6 6 -9.4864 -11.8956 -18.35 90. 141.43 90. 231.43 0. 0. - 3 7 1 -3.3033 -14.4728 18.55 90. 167.14 90. 257.14 0. 0. - 3 7 2 -3.2521 -14.2486 10.95 90. 167.14 90. 257.14 0. 0. - 3 7 3 -3.3033 -14.4728 3.70 90. 167.14 90. 257.14 0. 0. - 3 7 4 -3.2521 -14.2486 -3.70 90. 167.14 90. 257.14 0. 0. - 3 7 5 -3.3033 -14.4728 -11.20 90. 167.14 90. 257.14 0. 0. - 3 7 6 -3.2521 -14.2486 -18.35 90. 167.14 90. 257.14 0. 0. - 3 8 1 3.4368 -15.0577 18.55 90. 192.86 90. 282.86 0. 0. - 3 8 2 3.3856 -14.8335 10.95 90. 192.86 90. 282.86 0. 0. - 3 8 3 3.4368 -15.0577 3.70 90. 192.86 90. 282.86 0. 0. - 3 8 4 3.3856 -14.8335 -3.70 90. 192.86 90. 282.86 0. 0. - 3 8 5 3.4368 -15.0577 -11.20 90. 192.86 90. 282.86 0. 0. - 3 8 6 3.3856 -14.8335 -18.35 90. 192.86 90. 282.86 0. 0. - 3 9 1 9.2557 -11.6063 18.55 90. 218.57 90. 308.57 0. 0. - 3 9 2 9.1123 -11.4265 10.95 90. 218.57 90. 308.57 0. 0. - 3 9 3 9.2557 -11.6063 3.70 90. 218.57 90. 308.57 0. 0. - 3 9 4 9.1123 -11.4265 -3.70 90. 218.57 90. 308.57 0. 0. - 3 9 5 9.2557 -11.6063 -11.20 90. 218.57 90. 308.57 0. 0. - 3 9 6 9.1123 -11.4265 -18.35 90. 218.57 90. 308.57 0. 0. - 3 10 1 13.9155 -6.7013 18.55 90. 244.29 90. 334.29 0. 0. - 3 10 2 13.7083 -6.6016 10.95 90. 244.29 90. 334.29 0. 0. - 3 10 3 13.9155 -6.7013 3.70 90. 244.29 90. 334.29 0. 0. - 3 10 4 13.7083 -6.6016 -3.70 90. 244.29 90. 334.29 0. 0. - 3 10 5 13.9155 -6.7013 -11.20 90. 244.29 90. 334.29 0. 0. - 3 10 6 13.7083 -6.6016 -18.35 90. 244.29 90. 334.29 0. 0. - 3 11 1 14.8450 0.0000 18.55 90. 270.00 90. 0.00 0. 0. - 3 11 2 14.6150 0.0000 10.95 90. 270.00 90. 0.00 0. 0. - 3 11 3 14.8450 0.0000 3.70 90. 270.00 90. 0.00 0. 0. - 3 11 4 14.6150 0.0000 -3.70 90. 270.00 90. 0.00 0. 0. - 3 11 5 14.8450 0.0000 -11.20 90. 270.00 90. 0.00 0. 0. - 3 11 6 14.6150 0.0000 -18.35 90. 270.00 90. 0.00 0. 0. - 3 12 1 13.9155 6.7013 18.55 90. 295.71 90. 25.71 0. 0. - 3 12 2 13.7083 6.6015 10.95 90. 295.71 90. 25.71 0. 0. - 3 12 3 13.9155 6.7013 3.70 90. 295.71 90. 25.71 0. 0. - 3 12 4 13.7083 6.6015 -3.70 90. 295.71 90. 25.71 0. 0. - 3 12 5 13.9155 6.7013 -11.20 90. 295.71 90. 25.71 0. 0. - 3 12 6 13.7083 6.6015 -18.35 90. 295.71 90. 25.71 0. 0. - 3 13 1 9.2557 11.6063 18.55 90. 321.43 90. 51.43 0. 0. - 3 13 2 9.1123 11.4265 10.95 90. 321.43 90. 51.43 0. 0. - 3 13 3 9.2557 11.6063 3.70 90. 321.43 90. 51.43 0. 0. - 3 13 4 9.1123 11.4265 -3.70 90. 321.43 90. 51.43 0. 0. - 3 13 5 9.2557 11.6063 -11.20 90. 321.43 90. 51.43 0. 0. - 3 13 6 9.1123 11.4265 -18.35 90. 321.43 90. 51.43 0. 0. - 3 14 1 3.4368 15.0577 18.55 90. 347.14 90. 77.14 0. 0. - 3 14 2 3.3857 14.8335 10.95 90. 347.14 90. 77.14 0. 0. - 3 14 3 3.4368 15.0577 3.70 90. 347.14 90. 77.14 0. 0. - 3 14 4 3.3857 14.8335 -3.70 90. 347.14 90. 77.14 0. 0. - 3 14 5 3.4368 15.0577 -11.20 90. 347.14 90. 77.14 0. 0. - 3 14 6 3.3857 14.8335 -18.35 90. 347.14 90. 77.14 0. 0. - 4 1 1 -3.3465 23.2757 25.90 90. 8.18 90. 98.18 0. 0. - 4 1 2 -3.3793 23.5033 18.75 90. 8.18 90. 98.18 0. 0. - 4 1 3 -3.3465 23.2757 11.15 90. 8.18 90. 98.18 0. 0. - 4 1 4 -3.3793 23.5033 3.85 90. 8.18 90. 98.18 0. 0. - 4 1 5 -3.3465 23.2757 -3.55 90. 8.18 90. 98.18 0. 0. - 4 1 6 -3.3793 23.5033 -11.05 90. 8.18 90. 98.18 0. 0. - 4 1 7 -3.3465 23.2757 -18.30 90. 8.18 90. 98.18 0. 0. - 4 1 8 -3.3793 23.5033 -25.90 90. 8.18 90. 98.18 0. 0. - 4 2 1 -9.9970 21.8903 25.90 90. 24.55 90. 114.55 0. 0. - 4 2 2 -10.0925 22.0995 18.75 90. 24.55 90. 114.55 0. 0. - 4 2 3 -9.9970 21.8903 11.15 90. 24.55 90. 114.55 0. 0. - 4 2 4 -10.0925 22.0995 3.85 90. 24.55 90. 114.55 0. 0. - 4 2 5 -9.9970 21.8903 -3.55 90. 24.55 90. 114.55 0. 0. - 4 2 6 -10.0925 22.0995 -11.05 90. 24.55 90. 114.55 0. 0. - 4 2 7 -9.9970 21.8903 -18.30 90. 24.55 90. 114.55 0. 0. - 4 2 8 -10.0925 22.0995 -25.90 90. 24.55 90. 114.55 0. 0. - 4 3 1 -15.3991 17.7715 25.90 90. 40.91 90. 130.91 0. 0. - 4 3 2 -15.5497 17.9453 18.75 90. 40.91 90. 130.91 0. 0. - 4 3 3 -15.3991 17.7715 11.15 90. 40.91 90. 130.91 0. 0. - 4 3 4 -15.5497 17.9453 3.85 90. 40.91 90. 130.91 0. 0. - 4 3 5 -15.3991 17.7715 -3.55 90. 40.91 90. 130.91 0. 0. - 4 3 6 -15.5497 17.9453 -11.05 90. 40.91 90. 130.91 0. 0. - 4 3 7 -15.3991 17.7715 -18.30 90. 40.91 90. 130.91 0. 0. - 4 3 8 -15.5497 17.9453 -25.90 90. 40.91 90. 130.91 0. 0. - 4 4 1 -20.2448 13.0105 25.90 90. 57.27 90. 147.27 0. 0. - 4 4 2 -20.4382 13.1349 18.75 90. 57.27 90. 147.27 0. 0. - 4 4 3 -20.2448 13.0105 11.15 90. 57.27 90. 147.27 0. 0. - 4 4 4 -20.4382 13.1349 3.85 90. 57.27 90. 147.27 0. 0. - 4 4 5 -20.2448 13.0105 -3.55 90. 57.27 90. 147.27 0. 0. - 4 4 6 -20.4382 13.1349 -11.05 90. 57.27 90. 147.27 0. 0. - 4 4 7 -20.2448 13.0105 -18.30 90. 57.27 90. 147.27 0. 0. - 4 4 8 -20.4382 13.1349 -25.90 90. 57.27 90. 147.27 0. 0. - 4 5 1 -22.5624 6.6249 25.90 90. 73.64 90. 163.64 0. 0. - 4 5 2 -22.7831 6.6897 18.75 90. 73.64 90. 163.64 0. 0. - 4 5 3 -22.5624 6.6249 11.15 90. 73.64 90. 163.64 0. 0. - 4 5 4 -22.7831 6.6897 3.85 90. 73.64 90. 163.64 0. 0. - 4 5 5 -22.5624 6.6249 -3.55 90. 73.64 90. 163.64 0. 0. - 4 5 6 -22.7831 6.6897 -11.05 90. 73.64 90. 163.64 0. 0. - 4 5 7 -22.5624 6.6249 -18.30 90. 73.64 90. 163.64 0. 0. - 4 5 8 -22.7831 6.6897 -25.90 90. 73.64 90. 163.64 0. 0. - 4 6 1 -24.0650 0.0000 25.90 90. 90.00 90. 180.00 0. 0. - 4 6 2 -24.2950 0.0000 18.75 90. 90.00 90. 180.00 0. 0. - 4 6 3 -24.0650 0.0000 11.15 90. 90.00 90. 180.00 0. 0. - 4 6 4 -24.2950 0.0000 3.85 90. 90.00 90. 180.00 0. 0. - 4 6 5 -24.0650 0.0000 -3.55 90. 90.00 90. 180.00 0. 0. - 4 6 6 -24.2950 0.0000 -11.05 90. 90.00 90. 180.00 0. 0. - 4 6 7 -24.0650 0.0000 -18.30 90. 90.00 90. 180.00 0. 0. - 4 6 8 -24.2950 0.0000 -25.90 90. 90.00 90. 180.00 0. 0. - 4 7 1 -22.5624 -6.6249 25.90 90. 106.36 90. 196.36 0. 0. - 4 7 2 -22.7831 -6.6897 18.75 90. 106.36 90. 196.36 0. 0. - 4 7 3 -22.5624 -6.6249 11.15 90. 106.36 90. 196.36 0. 0. - 4 7 4 -22.7831 -6.6897 3.85 90. 106.36 90. 196.36 0. 0. - 4 7 5 -22.5624 -6.6249 -3.55 90. 106.36 90. 196.36 0. 0. - 4 7 6 -22.7831 -6.6897 -11.05 90. 106.36 90. 196.36 0. 0. - 4 7 7 -22.5624 -6.6249 -18.30 90. 106.36 90. 196.36 0. 0. - 4 7 8 -22.7831 -6.6897 -25.90 90. 106.36 90. 196.36 0. 0. - 4 8 1 -20.2448 -13.0105 25.90 90. 122.73 90. 212.73 0. 0. - 4 8 2 -20.4382 -13.1349 18.75 90. 122.73 90. 212.73 0. 0. - 4 8 3 -20.2448 -13.0105 11.15 90. 122.73 90. 212.73 0. 0. - 4 8 4 -20.4382 -13.1349 3.85 90. 122.73 90. 212.73 0. 0. - 4 8 5 -20.2448 -13.0105 -3.55 90. 122.73 90. 212.73 0. 0. - 4 8 6 -20.4382 -13.1349 -11.05 90. 122.73 90. 212.73 0. 0. - 4 8 7 -20.2448 -13.0105 -18.30 90. 122.73 90. 212.73 0. 0. - 4 8 8 -20.4382 -13.1349 -25.90 90. 122.73 90. 212.73 0. 0. - 4 9 1 -15.3991 -17.7715 25.90 90. 139.09 90. 229.09 0. 0. - 4 9 2 -15.5497 -17.9453 18.75 90. 139.09 90. 229.09 0. 0. - 4 9 3 -15.3991 -17.7715 11.15 90. 139.09 90. 229.09 0. 0. - 4 9 4 -15.5497 -17.9453 3.85 90. 139.09 90. 229.09 0. 0. - 4 9 5 -15.3991 -17.7715 -3.55 90. 139.09 90. 229.09 0. 0. - 4 9 6 -15.5497 -17.9453 -11.05 90. 139.09 90. 229.09 0. 0. - 4 9 7 -15.3991 -17.7715 -18.30 90. 139.09 90. 229.09 0. 0. - 4 9 8 -15.5497 -17.9453 -25.90 90. 139.09 90. 229.09 0. 0. - 4 10 1 -9.9970 -21.8903 25.90 90. 155.45 90. 245.45 0. 0. - 4 10 2 -10.0925 -22.0995 18.75 90. 155.45 90. 245.45 0. 0. - 4 10 3 -9.9970 -21.8903 11.15 90. 155.45 90. 245.45 0. 0. - 4 10 4 -10.0925 -22.0995 3.85 90. 155.45 90. 245.45 0. 0. - 4 10 5 -9.9970 -21.8903 -3.55 90. 155.45 90. 245.45 0. 0. - 4 10 6 -10.0925 -22.0995 -11.05 90. 155.45 90. 245.45 0. 0. - 4 10 7 -9.9970 -21.8903 -18.30 90. 155.45 90. 245.45 0. 0. - 4 10 8 -10.0925 -22.0995 -25.90 90. 155.45 90. 245.45 0. 0. - 4 11 1 -3.3465 -23.2757 25.90 90. 171.82 90. 261.82 0. 0. - 4 11 2 -3.3793 -23.5033 18.75 90. 171.82 90. 261.82 0. 0. - 4 11 3 -3.3465 -23.2757 11.15 90. 171.82 90. 261.82 0. 0. - 4 11 4 -3.3793 -23.5033 3.85 90. 171.82 90. 261.82 0. 0. - 4 11 5 -3.3465 -23.2757 -3.55 90. 171.82 90. 261.82 0. 0. - 4 11 6 -3.3793 -23.5033 -11.05 90. 171.82 90. 261.82 0. 0. - 4 11 7 -3.3465 -23.2757 -18.30 90. 171.82 90. 261.82 0. 0. - 4 11 8 -3.3793 -23.5033 -25.90 90. 171.82 90. 261.82 0. 0. - 4 12 1 3.4248 -23.8201 25.90 90. 188.18 90. 278.18 0. 0. - 4 12 2 3.4575 -24.0477 18.75 90. 188.18 90. 278.18 0. 0. - 4 12 3 3.4248 -23.8201 11.15 90. 188.18 90. 278.18 0. 0. - 4 12 4 3.4575 -24.0477 3.85 90. 188.18 90. 278.18 0. 0. - 4 12 5 3.4248 -23.8201 -3.55 90. 188.18 90. 278.18 0. 0. - 4 12 6 3.4575 -24.0477 -11.05 90. 188.18 90. 278.18 0. 0. - 4 12 7 3.4248 -23.8201 -18.30 90. 188.18 90. 278.18 0. 0. - 4 12 8 3.4575 -24.0477 -25.90 90. 188.18 90. 278.18 0. 0. - 4 13 1 9.7685 -21.3900 25.90 90. 204.55 90. 294.55 0. 0. - 4 13 2 9.8640 -21.5992 18.75 90. 204.55 90. 294.55 0. 0. - 4 13 3 9.7685 -21.3900 11.15 90. 204.55 90. 294.55 0. 0. - 4 13 4 9.8640 -21.5992 3.85 90. 204.55 90. 294.55 0. 0. - 4 13 5 9.7685 -21.3900 -3.55 90. 204.55 90. 294.55 0. 0. - 4 13 6 9.8640 -21.5992 -11.05 90. 204.55 90. 294.55 0. 0. - 4 13 7 9.7685 -21.3900 -18.30 90. 204.55 90. 294.55 0. 0. - 4 13 8 9.8640 -21.5992 -25.90 90. 204.55 90. 294.55 0. 0. - 4 14 1 15.7592 -18.1871 25.90 90. 220.91 90. 310.91 0. 0. - 4 14 2 15.9098 -18.3609 18.75 90. 220.91 90. 310.91 0. 0. - 4 14 3 15.7592 -18.1871 11.15 90. 220.91 90. 310.91 0. 0. - 4 14 4 15.9098 -18.3609 3.85 90. 220.91 90. 310.91 0. 0. - 4 14 5 15.7592 -18.1871 -3.55 90. 220.91 90. 310.91 0. 0. - 4 14 6 15.9098 -18.3609 -11.05 90. 220.91 90. 310.91 0. 0. - 4 14 7 15.7592 -18.1871 -18.30 90. 220.91 90. 310.91 0. 0. - 4 14 8 15.9098 -18.3609 -25.90 90. 220.91 90. 310.91 0. 0. - 4 15 1 19.7820 -12.7132 25.90 90. 237.27 90. 327.27 0. 0. - 4 15 2 19.9755 -12.8375 18.75 90. 237.27 90. 327.27 0. 0. - 4 15 3 19.7820 -12.7132 11.15 90. 237.27 90. 327.27 0. 0. - 4 15 4 19.9755 -12.8375 3.85 90. 237.27 90. 327.27 0. 0. - 4 15 5 19.7820 -12.7132 -3.55 90. 237.27 90. 327.27 0. 0. - 4 15 6 19.9755 -12.8375 -11.05 90. 237.27 90. 327.27 0. 0. - 4 15 7 19.7820 -12.7132 -18.30 90. 237.27 90. 327.27 0. 0. - 4 15 8 19.9755 -12.8375 -25.90 90. 237.27 90. 327.27 0. 0. - 4 16 1 23.0902 -6.7799 25.90 90. 253.64 90. 343.64 0. 0. - 4 16 2 23.3108 -6.8447 18.75 90. 253.64 90. 343.64 0. 0. - 4 16 3 23.0902 -6.7799 11.15 90. 253.64 90. 343.64 0. 0. - 4 16 4 23.3108 -6.8447 3.85 90. 253.64 90. 343.64 0. 0. - 4 16 5 23.0902 -6.7799 -3.55 90. 253.64 90. 343.64 0. 0. - 4 16 6 23.3108 -6.8447 -11.05 90. 253.64 90. 343.64 0. 0. - 4 16 7 23.0902 -6.7799 -18.30 90. 253.64 90. 343.64 0. 0. - 4 16 8 23.3108 -6.8447 -25.90 90. 253.64 90. 343.64 0. 0. - 4 17 1 23.5150 0.0000 25.90 90. 270.00 90. 0.00 0. 0. - 4 17 2 23.7450 0.0000 18.75 90. 270.00 90. 0.00 0. 0. - 4 17 3 23.5150 0.0000 11.15 90. 270.00 90. 0.00 0. 0. - 4 17 4 23.7450 0.0000 3.85 90. 270.00 90. 0.00 0. 0. - 4 17 5 23.5150 0.0000 -3.55 90. 270.00 90. 0.00 0. 0. - 4 17 6 23.7450 0.0000 -11.05 90. 270.00 90. 0.00 0. 0. - 4 17 7 23.5150 0.0000 -18.30 90. 270.00 90. 0.00 0. 0. - 4 17 8 23.7450 0.0000 -25.90 90. 270.00 90. 0.00 0. 0. - 4 18 1 23.0902 6.7799 25.90 90. 286.36 90. 16.36 0. 0. - 4 18 2 23.3109 6.8447 18.75 90. 286.36 90. 16.36 0. 0. - 4 18 3 23.0902 6.7799 11.15 90. 286.36 90. 16.36 0. 0. - 4 18 4 23.3109 6.8447 3.85 90. 286.36 90. 16.36 0. 0. - 4 18 5 23.0902 6.7799 -3.55 90. 286.36 90. 16.36 0. 0. - 4 18 6 23.3109 6.8447 -11.05 90. 286.36 90. 16.36 0. 0. - 4 18 7 23.0902 6.7799 -18.30 90. 286.36 90. 16.36 0. 0. - 4 18 8 23.3109 6.8447 -25.90 90. 286.36 90. 16.36 0. 0. - 4 19 1 19.7820 12.7131 25.90 90. 302.73 90. 32.73 0. 0. - 4 19 2 19.9755 12.8375 18.75 90. 302.73 90. 32.73 0. 0. - 4 19 3 19.7820 12.7131 11.15 90. 302.73 90. 32.73 0. 0. - 4 19 4 19.9755 12.8375 3.85 90. 302.73 90. 32.73 0. 0. - 4 19 5 19.7820 12.7131 -3.55 90. 302.73 90. 32.73 0. 0. - 4 19 6 19.9755 12.8375 -11.05 90. 302.73 90. 32.73 0. 0. - 4 19 7 19.7820 12.7131 -18.30 90. 302.73 90. 32.73 0. 0. - 4 19 8 19.9755 12.8375 -25.90 90. 302.73 90. 32.73 0. 0. - 4 20 1 15.7592 18.1871 25.90 90. 319.09 90. 49.09 0. 0. - 4 20 2 15.9098 18.3609 18.75 90. 319.09 90. 49.09 0. 0. - 4 20 3 15.7592 18.1871 11.15 90. 319.09 90. 49.09 0. 0. - 4 20 4 15.9098 18.3609 3.85 90. 319.09 90. 49.09 0. 0. - 4 20 5 15.7592 18.1871 -3.55 90. 319.09 90. 49.09 0. 0. - 4 20 6 15.9098 18.3609 -11.05 90. 319.09 90. 49.09 0. 0. - 4 20 7 15.7592 18.1871 -18.30 90. 319.09 90. 49.09 0. 0. - 4 20 8 15.9098 18.3609 -25.90 90. 319.09 90. 49.09 0. 0. - 4 21 1 9.7685 21.3900 25.90 90. 335.45 90. 65.45 0. 0. - 4 21 2 9.8640 21.5992 18.75 90. 335.45 90. 65.45 0. 0. - 4 21 3 9.7685 21.3900 11.15 90. 335.45 90. 65.45 0. 0. - 4 21 4 9.8640 21.5992 3.85 90. 335.45 90. 65.45 0. 0. - 4 21 5 9.7685 21.3900 -3.55 90. 335.45 90. 65.45 0. 0. - 4 21 6 9.8640 21.5992 -11.05 90. 335.45 90. 65.45 0. 0. - 4 21 7 9.7685 21.3900 -18.30 90. 335.45 90. 65.45 0. 0. - 4 21 8 9.8640 21.5992 -25.90 90. 335.45 90. 65.45 0. 0. - 4 22 1 3.4248 23.8201 25.90 90. 351.82 90. 81.82 0. 0. - 4 22 2 3.4575 24.0477 18.75 90. 351.82 90. 81.82 0. 0. - 4 22 3 3.4248 23.8201 11.15 90. 351.82 90. 81.82 0. 0. - 4 22 4 3.4575 24.0477 3.85 90. 351.82 90. 81.82 0. 0. - 4 22 5 3.4248 23.8201 -3.55 90. 351.82 90. 81.82 0. 0. - 4 22 6 3.4575 24.0477 -11.05 90. 351.82 90. 81.82 0. 0. - 4 22 7 3.4248 23.8201 -18.30 90. 351.82 90. 81.82 0. 0. - 4 22 8 3.4575 24.0477 -25.90 90. 351.82 90. 81.82 0. 0. - 5 1 1 0.0000 39.0150 43.0197 90. 0.00 90. 90.00 0. 0. - 5 1 2 0.0000 39.0750 39.1097 90. 0.00 90. 90.00 0. 0. - 5 1 3 0.0000 39.0150 35.1797 90. 0.00 90. 90.00 0. 0. - 5 1 4 0.0000 39.0750 31.2697 90. 0.00 90. 90.00 0. 0. - 5 1 5 0.0000 39.0150 27.3397 90. 0.00 90. 90.00 0. 0. - 5 1 6 0.0000 39.0750 23.4297 90. 0.00 90. 90.00 0. 0. - 5 1 7 0.0000 39.0150 19.4997 90. 0.00 90. 90.00 0. 0. - 5 1 8 0.0000 39.0750 15.5897 90. 0.00 90. 90.00 0. 0. - 5 1 9 0.0000 39.0150 11.6597 90. 0.00 90. 90.00 0. 0. - 5 1 10 0.0000 39.0750 7.7497 90. 0.00 90. 90.00 0. 0. - 5 1 11 0.0000 39.0150 3.8197 90. 0.00 90. 90.00 0. 0. - 5 1 12 0.0000 39.0750 -0.0903 90. 0.00 90. 90.00 0. 0. - 5 1 13 0.0000 39.0150 -4.0203 90. 0.00 90. 90.00 0. 0. - 5 1 14 0.0000 39.0750 -7.9303 90. 0.00 90. 90.00 0. 0. - 5 1 15 0.0000 39.0150 -11.8603 90. 0.00 90. 90.00 0. 0. - 5 1 16 0.0000 39.0750 -15.7703 90. 0.00 90. 90.00 0. 0. - 5 1 17 0.0000 39.0150 -19.7003 90. 0.00 90. 90.00 0. 0. - 5 1 18 0.0000 39.0750 -23.6103 90. 0.00 90. 90.00 0. 0. - 5 1 19 0.0000 39.0150 -27.5403 90. 0.00 90. 90.00 0. 0. - 5 1 20 0.0000 39.0750 -31.4503 90. 0.00 90. 90.00 0. 0. - 5 1 21 0.0000 39.0150 -35.3803 90. 0.00 90. 90.00 0. 0. - 5 1 22 0.0000 39.0750 -39.2903 90. 0.00 90. 90.00 0. 0. - 5 1 23 0.0000 39.0150 -43.2003 90. 0.00 90. 90.00 0. 0. - 5 2 1 -7.1972 38.5016 43.0197 90. 10.59 90. 100.59 0. 0. - 5 2 2 -7.2082 38.5606 39.1097 90. 10.59 90. 100.59 0. 0. - 5 2 3 -7.1972 38.5016 35.1797 90. 10.59 90. 100.59 0. 0. - 5 2 4 -7.2082 38.5606 31.2697 90. 10.59 90. 100.59 0. 0. - 5 2 5 -7.1972 38.5016 27.3397 90. 10.59 90. 100.59 0. 0. - 5 2 6 -7.2082 38.5606 23.4297 90. 10.59 90. 100.59 0. 0. - 5 2 7 -7.1972 38.5016 19.4997 90. 10.59 90. 100.59 0. 0. - 5 2 8 -7.2082 38.5606 15.5897 90. 10.59 90. 100.59 0. 0. - 5 2 9 -7.1972 38.5016 11.6597 90. 10.59 90. 100.59 0. 0. - 5 2 10 -7.2082 38.5606 7.7497 90. 10.59 90. 100.59 0. 0. - 5 2 11 -7.1972 38.5016 3.8197 90. 10.59 90. 100.59 0. 0. - 5 2 12 -7.2082 38.5606 -0.0903 90. 10.59 90. 100.59 0. 0. - 5 2 13 -7.1972 38.5016 -4.0203 90. 10.59 90. 100.59 0. 0. - 5 2 14 -7.2082 38.5606 -7.9303 90. 10.59 90. 100.59 0. 0. - 5 2 15 -7.1972 38.5016 -11.8603 90. 10.59 90. 100.59 0. 0. - 5 2 16 -7.2082 38.5606 -15.7703 90. 10.59 90. 100.59 0. 0. - 5 2 17 -7.1972 38.5016 -19.7003 90. 10.59 90. 100.59 0. 0. - 5 2 18 -7.2082 38.5606 -23.6103 90. 10.59 90. 100.59 0. 0. - 5 2 19 -7.1972 38.5016 -27.5403 90. 10.59 90. 100.59 0. 0. - 5 2 20 -7.2082 38.5606 -31.4503 90. 10.59 90. 100.59 0. 0. - 5 2 21 -7.1972 38.5016 -35.3803 90. 10.59 90. 100.59 0. 0. - 5 2 22 -7.2082 38.5606 -39.2903 90. 10.59 90. 100.59 0. 0. - 5 2 23 -7.1972 38.5016 -43.2003 90. 10.59 90. 100.59 0. 0. - 5 3 1 -14.0939 36.3804 43.0197 90. 21.18 90. 111.18 0. 0. - 5 3 2 -14.1155 36.4364 39.1097 90. 21.18 90. 111.18 0. 0. - 5 3 3 -14.0939 36.3804 35.1797 90. 21.18 90. 111.18 0. 0. - 5 3 4 -14.1155 36.4364 31.2697 90. 21.18 90. 111.18 0. 0. - 5 3 5 -14.0939 36.3804 27.3397 90. 21.18 90. 111.18 0. 0. - 5 3 6 -14.1155 36.4364 23.4297 90. 21.18 90. 111.18 0. 0. - 5 3 7 -14.0939 36.3804 19.4997 90. 21.18 90. 111.18 0. 0. - 5 3 8 -14.1155 36.4364 15.5897 90. 21.18 90. 111.18 0. 0. - 5 3 9 -14.0939 36.3804 11.6597 90. 21.18 90. 111.18 0. 0. - 5 3 10 -14.1155 36.4364 7.7497 90. 21.18 90. 111.18 0. 0. - 5 3 11 -14.0939 36.3804 3.8197 90. 21.18 90. 111.18 0. 0. - 5 3 12 -14.1155 36.4364 -0.0903 90. 21.18 90. 111.18 0. 0. - 5 3 13 -14.0939 36.3804 -4.0203 90. 21.18 90. 111.18 0. 0. - 5 3 14 -14.1155 36.4364 -7.9303 90. 21.18 90. 111.18 0. 0. - 5 3 15 -14.0939 36.3804 -11.8603 90. 21.18 90. 111.18 0. 0. - 5 3 16 -14.1155 36.4364 -15.7703 90. 21.18 90. 111.18 0. 0. - 5 3 17 -14.0939 36.3804 -19.7003 90. 21.18 90. 111.18 0. 0. - 5 3 18 -14.1155 36.4364 -23.6103 90. 21.18 90. 111.18 0. 0. - 5 3 19 -14.0939 36.3804 -27.5403 90. 21.18 90. 111.18 0. 0. - 5 3 20 -14.1155 36.4364 -31.4503 90. 21.18 90. 111.18 0. 0. - 5 3 21 -14.0939 36.3804 -35.3803 90. 21.18 90. 111.18 0. 0. - 5 3 22 -14.1155 36.4364 -39.2903 90. 21.18 90. 111.18 0. 0. - 5 3 23 -14.0939 36.3804 -43.2003 90. 21.18 90. 111.18 0. 0. - 5 4 1 -20.6196 33.3017 43.0197 90. 31.76 90. 121.76 0. 0. - 5 4 2 -20.6511 33.3527 39.1097 90. 31.76 90. 121.76 0. 0. - 5 4 3 -20.6196 33.3017 35.1797 90. 31.76 90. 121.76 0. 0. - 5 4 4 -20.6511 33.3527 31.2697 90. 31.76 90. 121.76 0. 0. - 5 4 5 -20.6196 33.3017 27.3397 90. 31.76 90. 121.76 0. 0. - 5 4 6 -20.6511 33.3527 23.4297 90. 31.76 90. 121.76 0. 0. - 5 4 7 -20.6196 33.3017 19.4997 90. 31.76 90. 121.76 0. 0. - 5 4 8 -20.6511 33.3527 15.5897 90. 31.76 90. 121.76 0. 0. - 5 4 9 -20.6196 33.3017 11.6597 90. 31.76 90. 121.76 0. 0. - 5 4 10 -20.6511 33.3527 7.7497 90. 31.76 90. 121.76 0. 0. - 5 4 11 -20.6196 33.3017 3.8197 90. 31.76 90. 121.76 0. 0. - 5 4 12 -20.6511 33.3527 -0.0903 90. 31.76 90. 121.76 0. 0. - 5 4 13 -20.6196 33.3017 -4.0203 90. 31.76 90. 121.76 0. 0. - 5 4 14 -20.6511 33.3527 -7.9303 90. 31.76 90. 121.76 0. 0. - 5 4 15 -20.6196 33.3017 -11.8603 90. 31.76 90. 121.76 0. 0. - 5 4 16 -20.6511 33.3527 -15.7703 90. 31.76 90. 121.76 0. 0. - 5 4 17 -20.6196 33.3017 -19.7003 90. 31.76 90. 121.76 0. 0. - 5 4 18 -20.6511 33.3527 -23.6103 90. 31.76 90. 121.76 0. 0. - 5 4 19 -20.6196 33.3017 -27.5403 90. 31.76 90. 121.76 0. 0. - 5 4 20 -20.6511 33.3527 -31.4503 90. 31.76 90. 121.76 0. 0. - 5 4 21 -20.6196 33.3017 -35.3803 90. 31.76 90. 121.76 0. 0. - 5 4 22 -20.6511 33.3527 -39.2903 90. 31.76 90. 121.76 0. 0. - 5 4 23 -20.6196 33.3017 -43.2003 90. 31.76 90. 121.76 0. 0. - 5 5 1 -26.2842 28.8324 43.0197 90. 42.35 90. 132.35 0. 0. - 5 5 2 -26.3246 28.8768 39.1097 90. 42.35 90. 132.35 0. 0. - 5 5 3 -26.2842 28.8324 35.1797 90. 42.35 90. 132.35 0. 0. - 5 5 4 -26.3246 28.8768 31.2697 90. 42.35 90. 132.35 0. 0. - 5 5 5 -26.2842 28.8324 27.3397 90. 42.35 90. 132.35 0. 0. - 5 5 6 -26.3246 28.8768 23.4297 90. 42.35 90. 132.35 0. 0. - 5 5 7 -26.2842 28.8324 19.4997 90. 42.35 90. 132.35 0. 0. - 5 5 8 -26.3246 28.8768 15.5897 90. 42.35 90. 132.35 0. 0. - 5 5 9 -26.2842 28.8324 11.6597 90. 42.35 90. 132.35 0. 0. - 5 5 10 -26.3246 28.8768 7.7497 90. 42.35 90. 132.35 0. 0. - 5 5 11 -26.2842 28.8324 3.8197 90. 42.35 90. 132.35 0. 0. - 5 5 12 -26.3246 28.8768 -0.0903 90. 42.35 90. 132.35 0. 0. - 5 5 13 -26.2842 28.8324 -4.0203 90. 42.35 90. 132.35 0. 0. - 5 5 14 -26.3246 28.8768 -7.9303 90. 42.35 90. 132.35 0. 0. - 5 5 15 -26.2842 28.8324 -11.8603 90. 42.35 90. 132.35 0. 0. - 5 5 16 -26.3246 28.8768 -15.7703 90. 42.35 90. 132.35 0. 0. - 5 5 17 -26.2842 28.8324 -19.7003 90. 42.35 90. 132.35 0. 0. - 5 5 18 -26.3246 28.8768 -23.6103 90. 42.35 90. 132.35 0. 0. - 5 5 19 -26.2842 28.8324 -27.5403 90. 42.35 90. 132.35 0. 0. - 5 5 20 -26.3246 28.8768 -31.4503 90. 42.35 90. 132.35 0. 0. - 5 5 21 -26.2842 28.8324 -35.3803 90. 42.35 90. 132.35 0. 0. - 5 5 22 -26.3246 28.8768 -39.2903 90. 42.35 90. 132.35 0. 0. - 5 5 23 -26.2842 28.8324 -43.2003 90. 42.35 90. 132.35 0. 0. - 5 6 1 -31.2572 23.6043 43.0197 90. 52.94 90. 142.94 0. 0. - 5 6 2 -31.3050 23.6405 39.1097 90. 52.94 90. 142.94 0. 0. - 5 6 3 -31.2572 23.6043 35.1797 90. 52.94 90. 142.94 0. 0. - 5 6 4 -31.3050 23.6405 31.2697 90. 52.94 90. 142.94 0. 0. - 5 6 5 -31.2572 23.6043 27.3397 90. 52.94 90. 142.94 0. 0. - 5 6 6 -31.3050 23.6405 23.4297 90. 52.94 90. 142.94 0. 0. - 5 6 7 -31.2572 23.6043 19.4997 90. 52.94 90. 142.94 0. 0. - 5 6 8 -31.3050 23.6405 15.5897 90. 52.94 90. 142.94 0. 0. - 5 6 9 -31.2572 23.6043 11.6597 90. 52.94 90. 142.94 0. 0. - 5 6 10 -31.3050 23.6405 7.7497 90. 52.94 90. 142.94 0. 0. - 5 6 11 -31.2572 23.6043 3.8197 90. 52.94 90. 142.94 0. 0. - 5 6 12 -31.3050 23.6405 -0.0903 90. 52.94 90. 142.94 0. 0. - 5 6 13 -31.2572 23.6043 -4.0203 90. 52.94 90. 142.94 0. 0. - 5 6 14 -31.3050 23.6405 -7.9303 90. 52.94 90. 142.94 0. 0. - 5 6 15 -31.2572 23.6043 -11.8603 90. 52.94 90. 142.94 0. 0. - 5 6 16 -31.3050 23.6405 -15.7703 90. 52.94 90. 142.94 0. 0. - 5 6 17 -31.2572 23.6043 -19.7003 90. 52.94 90. 142.94 0. 0. - 5 6 18 -31.3050 23.6405 -23.6103 90. 52.94 90. 142.94 0. 0. - 5 6 19 -31.2572 23.6043 -27.5403 90. 52.94 90. 142.94 0. 0. - 5 6 20 -31.3050 23.6405 -31.4503 90. 52.94 90. 142.94 0. 0. - 5 6 21 -31.2572 23.6043 -35.3803 90. 52.94 90. 142.94 0. 0. - 5 6 22 -31.3050 23.6405 -39.2903 90. 52.94 90. 142.94 0. 0. - 5 6 23 -31.2572 23.6043 -43.2003 90. 52.94 90. 142.94 0. 0. - 5 7 1 -34.9249 17.3905 43.0197 90. 63.53 90. 153.53 0. 0. - 5 7 2 -34.9786 17.4173 39.1097 90. 63.53 90. 153.53 0. 0. - 5 7 3 -34.9249 17.3905 35.1797 90. 63.53 90. 153.53 0. 0. - 5 7 4 -34.9786 17.4173 31.2697 90. 63.53 90. 153.53 0. 0. - 5 7 5 -34.9249 17.3905 27.3397 90. 63.53 90. 153.53 0. 0. - 5 7 6 -34.9786 17.4173 23.4297 90. 63.53 90. 153.53 0. 0. - 5 7 7 -34.9249 17.3905 19.4997 90. 63.53 90. 153.53 0. 0. - 5 7 8 -34.9786 17.4173 15.5897 90. 63.53 90. 153.53 0. 0. - 5 7 9 -34.9249 17.3905 11.6597 90. 63.53 90. 153.53 0. 0. - 5 7 10 -34.9786 17.4173 7.7497 90. 63.53 90. 153.53 0. 0. - 5 7 11 -34.9249 17.3905 3.8197 90. 63.53 90. 153.53 0. 0. - 5 7 12 -34.9786 17.4173 -0.0903 90. 63.53 90. 153.53 0. 0. - 5 7 13 -34.9249 17.3905 -4.0203 90. 63.53 90. 153.53 0. 0. - 5 7 14 -34.9786 17.4173 -7.9303 90. 63.53 90. 153.53 0. 0. - 5 7 15 -34.9249 17.3905 -11.8603 90. 63.53 90. 153.53 0. 0. - 5 7 16 -34.9786 17.4173 -15.7703 90. 63.53 90. 153.53 0. 0. - 5 7 17 -34.9249 17.3905 -19.7003 90. 63.53 90. 153.53 0. 0. - 5 7 18 -34.9786 17.4173 -23.6103 90. 63.53 90. 153.53 0. 0. - 5 7 19 -34.9249 17.3905 -27.5403 90. 63.53 90. 153.53 0. 0. - 5 7 20 -34.9786 17.4173 -31.4503 90. 63.53 90. 153.53 0. 0. - 5 7 21 -34.9249 17.3905 -35.3803 90. 63.53 90. 153.53 0. 0. - 5 7 22 -34.9786 17.4173 -39.2903 90. 63.53 90. 153.53 0. 0. - 5 7 23 -34.9249 17.3905 -43.2003 90. 63.53 90. 153.53 0. 0. - 5 8 1 -37.6733 10.7190 43.0197 90. 74.12 90. 164.12 0. 0. - 5 8 2 -37.7310 10.7354 39.1097 90. 74.12 90. 164.12 0. 0. - 5 8 3 -37.6733 10.7190 35.1797 90. 74.12 90. 164.12 0. 0. - 5 8 4 -37.7310 10.7354 31.2697 90. 74.12 90. 164.12 0. 0. - 5 8 5 -37.6733 10.7190 27.3397 90. 74.12 90. 164.12 0. 0. - 5 8 6 -37.7310 10.7354 23.4297 90. 74.12 90. 164.12 0. 0. - 5 8 7 -37.6733 10.7190 19.4997 90. 74.12 90. 164.12 0. 0. - 5 8 8 -37.7310 10.7354 15.5897 90. 74.12 90. 164.12 0. 0. - 5 8 9 -37.6733 10.7190 11.6597 90. 74.12 90. 164.12 0. 0. - 5 8 10 -37.7310 10.7354 7.7497 90. 74.12 90. 164.12 0. 0. - 5 8 11 -37.6733 10.7190 3.8197 90. 74.12 90. 164.12 0. 0. - 5 8 12 -37.7310 10.7354 -0.0903 90. 74.12 90. 164.12 0. 0. - 5 8 13 -37.6733 10.7190 -4.0203 90. 74.12 90. 164.12 0. 0. - 5 8 14 -37.7310 10.7354 -7.9303 90. 74.12 90. 164.12 0. 0. - 5 8 15 -37.6733 10.7190 -11.8603 90. 74.12 90. 164.12 0. 0. - 5 8 16 -37.7310 10.7354 -15.7703 90. 74.12 90. 164.12 0. 0. - 5 8 17 -37.6733 10.7190 -19.7003 90. 74.12 90. 164.12 0. 0. - 5 8 18 -37.7310 10.7354 -23.6103 90. 74.12 90. 164.12 0. 0. - 5 8 19 -37.6733 10.7190 -27.5403 90. 74.12 90. 164.12 0. 0. - 5 8 20 -37.7310 10.7354 -31.4503 90. 74.12 90. 164.12 0. 0. - 5 8 21 -37.6733 10.7190 -35.3803 90. 74.12 90. 164.12 0. 0. - 5 8 22 -37.7310 10.7354 -39.2903 90. 74.12 90. 164.12 0. 0. - 5 8 23 -37.6733 10.7190 -43.2003 90. 74.12 90. 164.12 0. 0. - 5 9 1 -38.8485 3.5998 43.0197 90. 84.71 90. 174.71 0. 0. - 5 9 2 -38.9083 3.6054 39.1097 90. 84.71 90. 174.71 0. 0. - 5 9 3 -38.8485 3.5998 35.1797 90. 84.71 90. 174.71 0. 0. - 5 9 4 -38.9083 3.6054 31.2697 90. 84.71 90. 174.71 0. 0. - 5 9 5 -38.8485 3.5998 27.3397 90. 84.71 90. 174.71 0. 0. - 5 9 6 -38.9083 3.6054 23.4297 90. 84.71 90. 174.71 0. 0. - 5 9 7 -38.8485 3.5998 19.4997 90. 84.71 90. 174.71 0. 0. - 5 9 8 -38.9083 3.6054 15.5897 90. 84.71 90. 174.71 0. 0. - 5 9 9 -38.8485 3.5998 11.6597 90. 84.71 90. 174.71 0. 0. - 5 9 10 -38.9083 3.6054 7.7497 90. 84.71 90. 174.71 0. 0. - 5 9 11 -38.8485 3.5998 3.8197 90. 84.71 90. 174.71 0. 0. - 5 9 12 -38.9083 3.6054 -0.0903 90. 84.71 90. 174.71 0. 0. - 5 9 13 -38.8485 3.5998 -4.0203 90. 84.71 90. 174.71 0. 0. - 5 9 14 -38.9083 3.6054 -7.9303 90. 84.71 90. 174.71 0. 0. - 5 9 15 -38.8485 3.5998 -11.8603 90. 84.71 90. 174.71 0. 0. - 5 9 16 -38.9083 3.6054 -15.7703 90. 84.71 90. 174.71 0. 0. - 5 9 17 -38.8485 3.5998 -19.7003 90. 84.71 90. 174.71 0. 0. - 5 9 18 -38.9083 3.6054 -23.6103 90. 84.71 90. 174.71 0. 0. - 5 9 19 -38.8485 3.5998 -27.5403 90. 84.71 90. 174.71 0. 0. - 5 9 20 -38.9083 3.6054 -31.4503 90. 84.71 90. 174.71 0. 0. - 5 9 21 -38.8485 3.5998 -35.3803 90. 84.71 90. 174.71 0. 0. - 5 9 22 -38.9083 3.6054 -39.2903 90. 84.71 90. 174.71 0. 0. - 5 9 23 -38.8485 3.5998 -43.2003 90. 84.71 90. 174.71 0. 0. - 5 10 1 -39.0014 -3.6140 43.0197 90. 95.29 90. 185.29 0. 0. - 5 10 2 -39.0612 -3.6195 39.1097 90. 95.29 90. 185.29 0. 0. - 5 10 3 -39.0014 -3.6140 35.1797 90. 95.29 90. 185.29 0. 0. - 5 10 4 -39.0612 -3.6195 31.2697 90. 95.29 90. 185.29 0. 0. - 5 10 5 -39.0014 -3.6140 27.3397 90. 95.29 90. 185.29 0. 0. - 5 10 6 -39.0612 -3.6195 23.4297 90. 95.29 90. 185.29 0. 0. - 5 10 7 -39.0014 -3.6140 19.4997 90. 95.29 90. 185.29 0. 0. - 5 10 8 -39.0612 -3.6195 15.5897 90. 95.29 90. 185.29 0. 0. - 5 10 9 -39.0014 -3.6140 11.6597 90. 95.29 90. 185.29 0. 0. - 5 10 10 -39.0612 -3.6195 7.7497 90. 95.29 90. 185.29 0. 0. - 5 10 11 -39.0014 -3.6140 3.8197 90. 95.29 90. 185.29 0. 0. - 5 10 12 -39.0612 -3.6195 -0.0903 90. 95.29 90. 185.29 0. 0. - 5 10 13 -39.0014 -3.6140 -4.0203 90. 95.29 90. 185.29 0. 0. - 5 10 14 -39.0612 -3.6195 -7.9303 90. 95.29 90. 185.29 0. 0. - 5 10 15 -39.0014 -3.6140 -11.8603 90. 95.29 90. 185.29 0. 0. - 5 10 16 -39.0612 -3.6195 -15.7703 90. 95.29 90. 185.29 0. 0. - 5 10 17 -39.0014 -3.6140 -19.7003 90. 95.29 90. 185.29 0. 0. - 5 10 18 -39.0612 -3.6195 -23.6103 90. 95.29 90. 185.29 0. 0. - 5 10 19 -39.0014 -3.6140 -27.5403 90. 95.29 90. 185.29 0. 0. - 5 10 20 -39.0612 -3.6195 -31.4503 90. 95.29 90. 185.29 0. 0. - 5 10 21 -39.0014 -3.6140 -35.3803 90. 95.29 90. 185.29 0. 0. - 5 10 22 -39.0612 -3.6195 -39.2903 90. 95.29 90. 185.29 0. 0. - 5 10 23 -39.0014 -3.6140 -43.2003 90. 95.29 90. 185.29 0. 0. - 5 11 1 -37.5257 -10.6770 43.0197 90. 105.88 90. 195.88 0. 0. - 5 11 2 -37.5834 -10.6934 39.1097 90. 105.88 90. 195.88 0. 0. - 5 11 3 -37.5257 -10.6770 35.1797 90. 105.88 90. 195.88 0. 0. - 5 11 4 -37.5834 -10.6934 31.2697 90. 105.88 90. 195.88 0. 0. - 5 11 5 -37.5257 -10.6770 27.3397 90. 105.88 90. 195.88 0. 0. - 5 11 6 -37.5834 -10.6934 23.4297 90. 105.88 90. 195.88 0. 0. - 5 11 7 -37.5257 -10.6770 19.4997 90. 105.88 90. 195.88 0. 0. - 5 11 8 -37.5834 -10.6934 15.5897 90. 105.88 90. 195.88 0. 0. - 5 11 9 -37.5257 -10.6770 11.6597 90. 105.88 90. 195.88 0. 0. - 5 11 10 -37.5834 -10.6934 7.7497 90. 105.88 90. 195.88 0. 0. - 5 11 11 -37.5257 -10.6770 3.8197 90. 105.88 90. 195.88 0. 0. - 5 11 12 -37.5834 -10.6934 -0.0903 90. 105.88 90. 195.88 0. 0. - 5 11 13 -37.5257 -10.6770 -4.0203 90. 105.88 90. 195.88 0. 0. - 5 11 14 -37.5834 -10.6934 -7.9303 90. 105.88 90. 195.88 0. 0. - 5 11 15 -37.5257 -10.6770 -11.8603 90. 105.88 90. 195.88 0. 0. - 5 11 16 -37.5834 -10.6934 -15.7703 90. 105.88 90. 195.88 0. 0. - 5 11 17 -37.5257 -10.6770 -19.7003 90. 105.88 90. 195.88 0. 0. - 5 11 18 -37.5834 -10.6934 -23.6103 90. 105.88 90. 195.88 0. 0. - 5 11 19 -37.5257 -10.6770 -27.5403 90. 105.88 90. 195.88 0. 0. - 5 11 20 -37.5834 -10.6934 -31.4503 90. 105.88 90. 195.88 0. 0. - 5 11 21 -37.5257 -10.6770 -35.3803 90. 105.88 90. 195.88 0. 0. - 5 11 22 -37.5834 -10.6934 -39.2903 90. 105.88 90. 195.88 0. 0. - 5 11 23 -37.5257 -10.6770 -43.2003 90. 105.88 90. 195.88 0. 0. - 5 12 1 -35.0622 -17.4589 43.0197 90. 116.47 90. 206.47 0. 0. - 5 12 2 -35.1160 -17.4857 39.1097 90. 116.47 90. 206.47 0. 0. - 5 12 3 -35.0622 -17.4589 35.1797 90. 116.47 90. 206.47 0. 0. - 5 12 4 -35.1160 -17.4857 31.2697 90. 116.47 90. 206.47 0. 0. - 5 12 5 -35.0622 -17.4589 27.3397 90. 116.47 90. 206.47 0. 0. - 5 12 6 -35.1160 -17.4857 23.4297 90. 116.47 90. 206.47 0. 0. - 5 12 7 -35.0622 -17.4589 19.4997 90. 116.47 90. 206.47 0. 0. - 5 12 8 -35.1160 -17.4857 15.5897 90. 116.47 90. 206.47 0. 0. - 5 12 9 -35.0622 -17.4589 11.6597 90. 116.47 90. 206.47 0. 0. - 5 12 10 -35.1160 -17.4857 7.7497 90. 116.47 90. 206.47 0. 0. - 5 12 11 -35.0622 -17.4589 3.8197 90. 116.47 90. 206.47 0. 0. - 5 12 12 -35.1160 -17.4857 -0.0903 90. 116.47 90. 206.47 0. 0. - 5 12 13 -35.0622 -17.4589 -4.0203 90. 116.47 90. 206.47 0. 0. - 5 12 14 -35.1160 -17.4857 -7.9303 90. 116.47 90. 206.47 0. 0. - 5 12 15 -35.0622 -17.4589 -11.8603 90. 116.47 90. 206.47 0. 0. - 5 12 16 -35.1160 -17.4857 -15.7703 90. 116.47 90. 206.47 0. 0. - 5 12 17 -35.0622 -17.4589 -19.7003 90. 116.47 90. 206.47 0. 0. - 5 12 18 -35.1160 -17.4857 -23.6103 90. 116.47 90. 206.47 0. 0. - 5 12 19 -35.0622 -17.4589 -27.5403 90. 116.47 90. 206.47 0. 0. - 5 12 20 -35.1160 -17.4857 -31.4503 90. 116.47 90. 206.47 0. 0. - 5 12 21 -35.0622 -17.4589 -35.3803 90. 116.47 90. 206.47 0. 0. - 5 12 22 -35.1160 -17.4857 -39.2903 90. 116.47 90. 206.47 0. 0. - 5 12 23 -35.0622 -17.4589 -43.2003 90. 116.47 90. 206.47 0. 0. - 5 13 1 -31.1347 -23.5118 43.0197 90. 127.06 90. 217.06 0. 0. - 5 13 2 -31.1826 -23.5480 39.1097 90. 127.06 90. 217.06 0. 0. - 5 13 3 -31.1347 -23.5118 35.1797 90. 127.06 90. 217.06 0. 0. - 5 13 4 -31.1826 -23.5480 31.2697 90. 127.06 90. 217.06 0. 0. - 5 13 5 -31.1347 -23.5118 27.3397 90. 127.06 90. 217.06 0. 0. - 5 13 6 -31.1826 -23.5480 23.4297 90. 127.06 90. 217.06 0. 0. - 5 13 7 -31.1347 -23.5118 19.4997 90. 127.06 90. 217.06 0. 0. - 5 13 8 -31.1826 -23.5480 15.5897 90. 127.06 90. 217.06 0. 0. - 5 13 9 -31.1347 -23.5118 11.6597 90. 127.06 90. 217.06 0. 0. - 5 13 10 -31.1826 -23.5480 7.7497 90. 127.06 90. 217.06 0. 0. - 5 13 11 -31.1347 -23.5118 3.8197 90. 127.06 90. 217.06 0. 0. - 5 13 12 -31.1826 -23.5480 -0.0903 90. 127.06 90. 217.06 0. 0. - 5 13 13 -31.1347 -23.5118 -4.0203 90. 127.06 90. 217.06 0. 0. - 5 13 14 -31.1826 -23.5480 -7.9303 90. 127.06 90. 217.06 0. 0. - 5 13 15 -31.1347 -23.5118 -11.8603 90. 127.06 90. 217.06 0. 0. - 5 13 16 -31.1826 -23.5480 -15.7703 90. 127.06 90. 217.06 0. 0. - 5 13 17 -31.1347 -23.5118 -19.7003 90. 127.06 90. 217.06 0. 0. - 5 13 18 -31.1826 -23.5480 -23.6103 90. 127.06 90. 217.06 0. 0. - 5 13 19 -31.1347 -23.5118 -27.5403 90. 127.06 90. 217.06 0. 0. - 5 13 20 -31.1826 -23.5480 -31.4503 90. 127.06 90. 217.06 0. 0. - 5 13 21 -31.1347 -23.5118 -35.3803 90. 127.06 90. 217.06 0. 0. - 5 13 22 -31.1826 -23.5480 -39.2903 90. 127.06 90. 217.06 0. 0. - 5 13 23 -31.1347 -23.5118 -43.2003 90. 127.06 90. 217.06 0. 0. - 5 14 1 -26.3877 -28.9459 43.0197 90. 137.65 90. 227.65 0. 0. - 5 14 2 -26.4281 -28.9902 39.1097 90. 137.65 90. 227.65 0. 0. - 5 14 3 -26.3877 -28.9459 35.1797 90. 137.65 90. 227.65 0. 0. - 5 14 4 -26.4281 -28.9902 31.2697 90. 137.65 90. 227.65 0. 0. - 5 14 5 -26.3877 -28.9459 27.3397 90. 137.65 90. 227.65 0. 0. - 5 14 6 -26.4281 -28.9902 23.4297 90. 137.65 90. 227.65 0. 0. - 5 14 7 -26.3877 -28.9459 19.4997 90. 137.65 90. 227.65 0. 0. - 5 14 8 -26.4281 -28.9902 15.5897 90. 137.65 90. 227.65 0. 0. - 5 14 9 -26.3877 -28.9459 11.6597 90. 137.65 90. 227.65 0. 0. - 5 14 10 -26.4281 -28.9902 7.7497 90. 137.65 90. 227.65 0. 0. - 5 14 11 -26.3877 -28.9459 3.8197 90. 137.65 90. 227.65 0. 0. - 5 14 12 -26.4281 -28.9902 -0.0903 90. 137.65 90. 227.65 0. 0. - 5 14 13 -26.3877 -28.9459 -4.0203 90. 137.65 90. 227.65 0. 0. - 5 14 14 -26.4281 -28.9902 -7.9303 90. 137.65 90. 227.65 0. 0. - 5 14 15 -26.3877 -28.9459 -11.8603 90. 137.65 90. 227.65 0. 0. - 5 14 16 -26.4281 -28.9902 -15.7703 90. 137.65 90. 227.65 0. 0. - 5 14 17 -26.3877 -28.9459 -19.7003 90. 137.65 90. 227.65 0. 0. - 5 14 18 -26.4281 -28.9902 -23.6103 90. 137.65 90. 227.65 0. 0. - 5 14 19 -26.3877 -28.9459 -27.5403 90. 137.65 90. 227.65 0. 0. - 5 14 20 -26.4281 -28.9902 -31.4503 90. 137.65 90. 227.65 0. 0. - 5 14 21 -26.3877 -28.9459 -35.3803 90. 137.65 90. 227.65 0. 0. - 5 14 22 -26.4281 -28.9902 -39.2903 90. 137.65 90. 227.65 0. 0. - 5 14 23 -26.3877 -28.9459 -43.2003 90. 137.65 90. 227.65 0. 0. - 5 15 1 -20.5388 -33.1712 43.0197 90. 148.24 90. 238.24 0. 0. - 5 15 2 -20.5703 -33.2222 39.1097 90. 148.24 90. 238.24 0. 0. - 5 15 3 -20.5388 -33.1712 35.1797 90. 148.24 90. 238.24 0. 0. - 5 15 4 -20.5703 -33.2222 31.2697 90. 148.24 90. 238.24 0. 0. - 5 15 5 -20.5388 -33.1712 27.3397 90. 148.24 90. 238.24 0. 0. - 5 15 6 -20.5703 -33.2222 23.4297 90. 148.24 90. 238.24 0. 0. - 5 15 7 -20.5388 -33.1712 19.4997 90. 148.24 90. 238.24 0. 0. - 5 15 8 -20.5703 -33.2222 15.5897 90. 148.24 90. 238.24 0. 0. - 5 15 9 -20.5388 -33.1712 11.6597 90. 148.24 90. 238.24 0. 0. - 5 15 10 -20.5703 -33.2222 7.7497 90. 148.24 90. 238.24 0. 0. - 5 15 11 -20.5388 -33.1712 3.8197 90. 148.24 90. 238.24 0. 0. - 5 15 12 -20.5703 -33.2222 -0.0903 90. 148.24 90. 238.24 0. 0. - 5 15 13 -20.5388 -33.1712 -4.0203 90. 148.24 90. 238.24 0. 0. - 5 15 14 -20.5703 -33.2222 -7.9303 90. 148.24 90. 238.24 0. 0. - 5 15 15 -20.5388 -33.1712 -11.8603 90. 148.24 90. 238.24 0. 0. - 5 15 16 -20.5703 -33.2222 -15.7703 90. 148.24 90. 238.24 0. 0. - 5 15 17 -20.5388 -33.1712 -19.7003 90. 148.24 90. 238.24 0. 0. - 5 15 18 -20.5703 -33.2222 -23.6103 90. 148.24 90. 238.24 0. 0. - 5 15 19 -20.5388 -33.1712 -27.5403 90. 148.24 90. 238.24 0. 0. - 5 15 20 -20.5703 -33.2222 -31.4503 90. 148.24 90. 238.24 0. 0. - 5 15 21 -20.5388 -33.1712 -35.3803 90. 148.24 90. 238.24 0. 0. - 5 15 22 -20.5703 -33.2222 -39.2903 90. 148.24 90. 238.24 0. 0. - 5 15 23 -20.5388 -33.1712 -43.2003 90. 148.24 90. 238.24 0. 0. - 5 16 1 -14.1493 -36.5235 43.0197 90. 158.82 90. 248.82 0. 0. - 5 16 2 -14.1710 -36.5795 39.1097 90. 158.82 90. 248.82 0. 0. - 5 16 3 -14.1493 -36.5235 35.1797 90. 158.82 90. 248.82 0. 0. - 5 16 4 -14.1710 -36.5795 31.2697 90. 158.82 90. 248.82 0. 0. - 5 16 5 -14.1493 -36.5235 27.3397 90. 158.82 90. 248.82 0. 0. - 5 16 6 -14.1710 -36.5795 23.4297 90. 158.82 90. 248.82 0. 0. - 5 16 7 -14.1493 -36.5235 19.4997 90. 158.82 90. 248.82 0. 0. - 5 16 8 -14.1710 -36.5795 15.5897 90. 158.82 90. 248.82 0. 0. - 5 16 9 -14.1493 -36.5235 11.6597 90. 158.82 90. 248.82 0. 0. - 5 16 10 -14.1710 -36.5795 7.7497 90. 158.82 90. 248.82 0. 0. - 5 16 11 -14.1493 -36.5235 3.8197 90. 158.82 90. 248.82 0. 0. - 5 16 12 -14.1710 -36.5795 -0.0903 90. 158.82 90. 248.82 0. 0. - 5 16 13 -14.1493 -36.5235 -4.0203 90. 158.82 90. 248.82 0. 0. - 5 16 14 -14.1710 -36.5795 -7.9303 90. 158.82 90. 248.82 0. 0. - 5 16 15 -14.1493 -36.5235 -11.8603 90. 158.82 90. 248.82 0. 0. - 5 16 16 -14.1710 -36.5795 -15.7703 90. 158.82 90. 248.82 0. 0. - 5 16 17 -14.1493 -36.5235 -19.7003 90. 158.82 90. 248.82 0. 0. - 5 16 18 -14.1710 -36.5795 -23.6103 90. 158.82 90. 248.82 0. 0. - 5 16 19 -14.1493 -36.5235 -27.5403 90. 158.82 90. 248.82 0. 0. - 5 16 20 -14.1710 -36.5795 -31.4503 90. 158.82 90. 248.82 0. 0. - 5 16 21 -14.1493 -36.5235 -35.3803 90. 158.82 90. 248.82 0. 0. - 5 16 22 -14.1710 -36.5795 -39.2903 90. 158.82 90. 248.82 0. 0. - 5 16 23 -14.1493 -36.5235 -43.2003 90. 158.82 90. 248.82 0. 0. - 5 17 1 -7.1690 -38.3507 43.0197 90. 169.41 90. 259.41 0. 0. - 5 17 2 -7.1800 -38.4097 39.1097 90. 169.41 90. 259.41 0. 0. - 5 17 3 -7.1690 -38.3507 35.1797 90. 169.41 90. 259.41 0. 0. - 5 17 4 -7.1800 -38.4097 31.2697 90. 169.41 90. 259.41 0. 0. - 5 17 5 -7.1690 -38.3507 27.3397 90. 169.41 90. 259.41 0. 0. - 5 17 6 -7.1800 -38.4097 23.4297 90. 169.41 90. 259.41 0. 0. - 5 17 7 -7.1690 -38.3507 19.4997 90. 169.41 90. 259.41 0. 0. - 5 17 8 -7.1800 -38.4097 15.5897 90. 169.41 90. 259.41 0. 0. - 5 17 9 -7.1690 -38.3507 11.6597 90. 169.41 90. 259.41 0. 0. - 5 17 10 -7.1800 -38.4097 7.7497 90. 169.41 90. 259.41 0. 0. - 5 17 11 -7.1690 -38.3507 3.8197 90. 169.41 90. 259.41 0. 0. - 5 17 12 -7.1800 -38.4097 -0.0903 90. 169.41 90. 259.41 0. 0. - 5 17 13 -7.1690 -38.3507 -4.0203 90. 169.41 90. 259.41 0. 0. - 5 17 14 -7.1800 -38.4097 -7.9303 90. 169.41 90. 259.41 0. 0. - 5 17 15 -7.1690 -38.3507 -11.8603 90. 169.41 90. 259.41 0. 0. - 5 17 16 -7.1800 -38.4097 -15.7703 90. 169.41 90. 259.41 0. 0. - 5 17 17 -7.1690 -38.3507 -19.7003 90. 169.41 90. 259.41 0. 0. - 5 17 18 -7.1800 -38.4097 -23.6103 90. 169.41 90. 259.41 0. 0. - 5 17 19 -7.1690 -38.3507 -27.5403 90. 169.41 90. 259.41 0. 0. - 5 17 20 -7.1800 -38.4097 -31.4503 90. 169.41 90. 259.41 0. 0. - 5 17 21 -7.1690 -38.3507 -35.3803 90. 169.41 90. 259.41 0. 0. - 5 17 22 -7.1800 -38.4097 -39.2903 90. 169.41 90. 259.41 0. 0. - 5 17 23 -7.1690 -38.3507 -43.2003 90. 169.41 90. 259.41 0. 0. - 5 18 1 0.0000 -39.1685 43.0197 90. 180.00 90. 270.00 0. 0. - 5 18 2 0.0000 -39.2285 39.1097 90. 180.00 90. 270.00 0. 0. - 5 18 3 0.0000 -39.1685 35.1797 90. 180.00 90. 270.00 0. 0. - 5 18 4 0.0000 -39.2285 31.2697 90. 180.00 90. 270.00 0. 0. - 5 18 5 0.0000 -39.1685 27.3397 90. 180.00 90. 270.00 0. 0. - 5 18 6 0.0000 -39.2285 23.4297 90. 180.00 90. 270.00 0. 0. - 5 18 7 0.0000 -39.1685 19.4997 90. 180.00 90. 270.00 0. 0. - 5 18 8 0.0000 -39.2285 15.5897 90. 180.00 90. 270.00 0. 0. - 5 18 9 0.0000 -39.1685 11.6597 90. 180.00 90. 270.00 0. 0. - 5 18 10 0.0000 -39.2285 7.7497 90. 180.00 90. 270.00 0. 0. - 5 18 11 0.0000 -39.1685 3.8197 90. 180.00 90. 270.00 0. 0. - 5 18 12 0.0000 -39.2285 -0.0903 90. 180.00 90. 270.00 0. 0. - 5 18 13 0.0000 -39.1685 -4.0203 90. 180.00 90. 270.00 0. 0. - 5 18 14 0.0000 -39.2285 -7.9303 90. 180.00 90. 270.00 0. 0. - 5 18 15 0.0000 -39.1685 -11.8603 90. 180.00 90. 270.00 0. 0. - 5 18 16 0.0000 -39.2285 -15.7703 90. 180.00 90. 270.00 0. 0. - 5 18 17 0.0000 -39.1685 -19.7003 90. 180.00 90. 270.00 0. 0. - 5 18 18 0.0000 -39.2285 -23.6103 90. 180.00 90. 270.00 0. 0. - 5 18 19 0.0000 -39.1685 -27.5403 90. 180.00 90. 270.00 0. 0. - 5 18 20 0.0000 -39.2285 -31.4503 90. 180.00 90. 270.00 0. 0. - 5 18 21 0.0000 -39.1685 -35.3803 90. 180.00 90. 270.00 0. 0. - 5 18 22 0.0000 -39.2285 -39.2903 90. 180.00 90. 270.00 0. 0. - 5 18 23 0.0000 -39.1685 -43.2003 90. 180.00 90. 270.00 0. 0. - 5 19 1 7.1545 -38.2734 43.0197 90. 190.59 90. 280.59 0. 0. - 5 19 2 7.1656 -38.3324 39.1097 90. 190.59 90. 280.59 0. 0. - 5 19 3 7.1545 -38.2734 35.1797 90. 190.59 90. 280.59 0. 0. - 5 19 4 7.1656 -38.3324 31.2697 90. 190.59 90. 280.59 0. 0. - 5 19 5 7.1545 -38.2734 27.3397 90. 190.59 90. 280.59 0. 0. - 5 19 6 7.1656 -38.3324 23.4297 90. 190.59 90. 280.59 0. 0. - 5 19 7 7.1545 -38.2734 19.4997 90. 190.59 90. 280.59 0. 0. - 5 19 8 7.1656 -38.3324 15.5897 90. 190.59 90. 280.59 0. 0. - 5 19 9 7.1545 -38.2734 11.6597 90. 190.59 90. 280.59 0. 0. - 5 19 10 7.1656 -38.3324 7.7497 90. 190.59 90. 280.59 0. 0. - 5 19 11 7.1545 -38.2734 3.8197 90. 190.59 90. 280.59 0. 0. - 5 19 12 7.1656 -38.3324 -0.0903 90. 190.59 90. 280.59 0. 0. - 5 19 13 7.1545 -38.2734 -4.0203 90. 190.59 90. 280.59 0. 0. - 5 19 14 7.1656 -38.3324 -7.9303 90. 190.59 90. 280.59 0. 0. - 5 19 15 7.1545 -38.2734 -11.8603 90. 190.59 90. 280.59 0. 0. - 5 19 16 7.1656 -38.3324 -15.7703 90. 190.59 90. 280.59 0. 0. - 5 19 17 7.1545 -38.2734 -19.7003 90. 190.59 90. 280.59 0. 0. - 5 19 18 7.1656 -38.3324 -23.6103 90. 190.59 90. 280.59 0. 0. - 5 19 19 7.1545 -38.2734 -27.5403 90. 190.59 90. 280.59 0. 0. - 5 19 20 7.1656 -38.3324 -31.4503 90. 190.59 90. 280.59 0. 0. - 5 19 21 7.1545 -38.2734 -35.3803 90. 190.59 90. 280.59 0. 0. - 5 19 22 7.1656 -38.3324 -39.2903 90. 190.59 90. 280.59 0. 0. - 5 19 23 7.1545 -38.2734 -43.2003 90. 190.59 90. 280.59 0. 0. - 5 20 1 14.1493 -36.5235 43.0197 90. 201.18 90. 291.18 0. 0. - 5 20 2 14.1710 -36.5795 39.1097 90. 201.18 90. 291.18 0. 0. - 5 20 3 14.1493 -36.5235 35.1797 90. 201.18 90. 291.18 0. 0. - 5 20 4 14.1710 -36.5795 31.2697 90. 201.18 90. 291.18 0. 0. - 5 20 5 14.1493 -36.5235 27.3397 90. 201.18 90. 291.18 0. 0. - 5 20 6 14.1710 -36.5795 23.4297 90. 201.18 90. 291.18 0. 0. - 5 20 7 14.1493 -36.5235 19.4997 90. 201.18 90. 291.18 0. 0. - 5 20 8 14.1710 -36.5795 15.5897 90. 201.18 90. 291.18 0. 0. - 5 20 9 14.1493 -36.5235 11.6597 90. 201.18 90. 291.18 0. 0. - 5 20 10 14.1710 -36.5795 7.7497 90. 201.18 90. 291.18 0. 0. - 5 20 11 14.1493 -36.5235 3.8197 90. 201.18 90. 291.18 0. 0. - 5 20 12 14.1710 -36.5795 -0.0903 90. 201.18 90. 291.18 0. 0. - 5 20 13 14.1493 -36.5235 -4.0203 90. 201.18 90. 291.18 0. 0. - 5 20 14 14.1710 -36.5795 -7.9303 90. 201.18 90. 291.18 0. 0. - 5 20 15 14.1493 -36.5235 -11.8603 90. 201.18 90. 291.18 0. 0. - 5 20 16 14.1710 -36.5795 -15.7703 90. 201.18 90. 291.18 0. 0. - 5 20 17 14.1493 -36.5235 -19.7003 90. 201.18 90. 291.18 0. 0. - 5 20 18 14.1710 -36.5795 -23.6103 90. 201.18 90. 291.18 0. 0. - 5 20 19 14.1493 -36.5235 -27.5403 90. 201.18 90. 291.18 0. 0. - 5 20 20 14.1710 -36.5795 -31.4503 90. 201.18 90. 291.18 0. 0. - 5 20 21 14.1493 -36.5235 -35.3803 90. 201.18 90. 291.18 0. 0. - 5 20 22 14.1710 -36.5795 -39.2903 90. 201.18 90. 291.18 0. 0. - 5 20 23 14.1493 -36.5235 -43.2003 90. 201.18 90. 291.18 0. 0. - 5 21 1 20.5387 -33.1712 43.0197 90. 211.76 90. 301.76 0. 0. - 5 21 2 20.5703 -33.2222 39.1097 90. 211.76 90. 301.76 0. 0. - 5 21 3 20.5387 -33.1712 35.1797 90. 211.76 90. 301.76 0. 0. - 5 21 4 20.5703 -33.2222 31.2697 90. 211.76 90. 301.76 0. 0. - 5 21 5 20.5387 -33.1712 27.3397 90. 211.76 90. 301.76 0. 0. - 5 21 6 20.5703 -33.2222 23.4297 90. 211.76 90. 301.76 0. 0. - 5 21 7 20.5387 -33.1712 19.4997 90. 211.76 90. 301.76 0. 0. - 5 21 8 20.5703 -33.2222 15.5897 90. 211.76 90. 301.76 0. 0. - 5 21 9 20.5387 -33.1712 11.6597 90. 211.76 90. 301.76 0. 0. - 5 21 10 20.5703 -33.2222 7.7497 90. 211.76 90. 301.76 0. 0. - 5 21 11 20.5387 -33.1712 3.8197 90. 211.76 90. 301.76 0. 0. - 5 21 12 20.5703 -33.2222 -0.0903 90. 211.76 90. 301.76 0. 0. - 5 21 13 20.5387 -33.1712 -4.0203 90. 211.76 90. 301.76 0. 0. - 5 21 14 20.5703 -33.2222 -7.9303 90. 211.76 90. 301.76 0. 0. - 5 21 15 20.5387 -33.1712 -11.8603 90. 211.76 90. 301.76 0. 0. - 5 21 16 20.5703 -33.2222 -15.7703 90. 211.76 90. 301.76 0. 0. - 5 21 17 20.5387 -33.1712 -19.7003 90. 211.76 90. 301.76 0. 0. - 5 21 18 20.5703 -33.2222 -23.6103 90. 211.76 90. 301.76 0. 0. - 5 21 19 20.5387 -33.1712 -27.5403 90. 211.76 90. 301.76 0. 0. - 5 21 20 20.5703 -33.2222 -31.4503 90. 211.76 90. 301.76 0. 0. - 5 21 21 20.5387 -33.1712 -35.3803 90. 211.76 90. 301.76 0. 0. - 5 21 22 20.5703 -33.2222 -39.2903 90. 211.76 90. 301.76 0. 0. - 5 21 23 20.5387 -33.1712 -43.2003 90. 211.76 90. 301.76 0. 0. - 5 22 1 26.3876 -28.9458 43.0197 90. 222.35 90. 312.35 0. 0. - 5 22 2 26.4280 -28.9902 39.1097 90. 222.35 90. 312.35 0. 0. - 5 22 3 26.3876 -28.9458 35.1797 90. 222.35 90. 312.35 0. 0. - 5 22 4 26.4280 -28.9902 31.2697 90. 222.35 90. 312.35 0. 0. - 5 22 5 26.3876 -28.9458 27.3397 90. 222.35 90. 312.35 0. 0. - 5 22 6 26.4280 -28.9902 23.4297 90. 222.35 90. 312.35 0. 0. - 5 22 7 26.3876 -28.9458 19.4997 90. 222.35 90. 312.35 0. 0. - 5 22 8 26.4280 -28.9902 15.5897 90. 222.35 90. 312.35 0. 0. - 5 22 9 26.3876 -28.9458 11.6597 90. 222.35 90. 312.35 0. 0. - 5 22 10 26.4280 -28.9902 7.7497 90. 222.35 90. 312.35 0. 0. - 5 22 11 26.3876 -28.9458 3.8197 90. 222.35 90. 312.35 0. 0. - 5 22 12 26.4280 -28.9902 -0.0903 90. 222.35 90. 312.35 0. 0. - 5 22 13 26.3876 -28.9458 -4.0203 90. 222.35 90. 312.35 0. 0. - 5 22 14 26.4280 -28.9902 -7.9303 90. 222.35 90. 312.35 0. 0. - 5 22 15 26.3876 -28.9458 -11.8603 90. 222.35 90. 312.35 0. 0. - 5 22 16 26.4280 -28.9902 -15.7703 90. 222.35 90. 312.35 0. 0. - 5 22 17 26.3876 -28.9458 -19.7003 90. 222.35 90. 312.35 0. 0. - 5 22 18 26.4280 -28.9902 -23.6103 90. 222.35 90. 312.35 0. 0. - 5 22 19 26.3876 -28.9458 -27.5403 90. 222.35 90. 312.35 0. 0. - 5 22 20 26.4280 -28.9902 -31.4503 90. 222.35 90. 312.35 0. 0. - 5 22 21 26.3876 -28.9458 -35.3803 90. 222.35 90. 312.35 0. 0. - 5 22 22 26.4280 -28.9902 -39.2903 90. 222.35 90. 312.35 0. 0. - 5 22 23 26.3876 -28.9458 -43.2003 90. 222.35 90. 312.35 0. 0. - 5 23 1 31.1347 -23.5118 43.0197 90. 232.94 90. 322.94 0. 0. - 5 23 2 31.1825 -23.5480 39.1097 90. 232.94 90. 322.94 0. 0. - 5 23 3 31.1347 -23.5118 35.1797 90. 232.94 90. 322.94 0. 0. - 5 23 4 31.1825 -23.5480 31.2697 90. 232.94 90. 322.94 0. 0. - 5 23 5 31.1347 -23.5118 27.3397 90. 232.94 90. 322.94 0. 0. - 5 23 6 31.1825 -23.5480 23.4297 90. 232.94 90. 322.94 0. 0. - 5 23 7 31.1347 -23.5118 19.4997 90. 232.94 90. 322.94 0. 0. - 5 23 8 31.1825 -23.5480 15.5897 90. 232.94 90. 322.94 0. 0. - 5 23 9 31.1347 -23.5118 11.6597 90. 232.94 90. 322.94 0. 0. - 5 23 10 31.1825 -23.5480 7.7497 90. 232.94 90. 322.94 0. 0. - 5 23 11 31.1347 -23.5118 3.8197 90. 232.94 90. 322.94 0. 0. - 5 23 12 31.1825 -23.5480 -0.0903 90. 232.94 90. 322.94 0. 0. - 5 23 13 31.1347 -23.5118 -4.0203 90. 232.94 90. 322.94 0. 0. - 5 23 14 31.1825 -23.5480 -7.9303 90. 232.94 90. 322.94 0. 0. - 5 23 15 31.1347 -23.5118 -11.8603 90. 232.94 90. 322.94 0. 0. - 5 23 16 31.1825 -23.5480 -15.7703 90. 232.94 90. 322.94 0. 0. - 5 23 17 31.1347 -23.5118 -19.7003 90. 232.94 90. 322.94 0. 0. - 5 23 18 31.1825 -23.5480 -23.6103 90. 232.94 90. 322.94 0. 0. - 5 23 19 31.1347 -23.5118 -27.5403 90. 232.94 90. 322.94 0. 0. - 5 23 20 31.1825 -23.5480 -31.4503 90. 232.94 90. 322.94 0. 0. - 5 23 21 31.1347 -23.5118 -35.3803 90. 232.94 90. 322.94 0. 0. - 5 23 22 31.1825 -23.5480 -39.2903 90. 232.94 90. 322.94 0. 0. - 5 23 23 31.1347 -23.5118 -43.2003 90. 232.94 90. 322.94 0. 0. - 5 24 1 35.0622 -17.4589 43.0197 90. 243.53 90. 333.53 0. 0. - 5 24 2 35.1159 -17.4856 39.1097 90. 243.53 90. 333.53 0. 0. - 5 24 3 35.0622 -17.4589 35.1797 90. 243.53 90. 333.53 0. 0. - 5 24 4 35.1159 -17.4856 31.2697 90. 243.53 90. 333.53 0. 0. - 5 24 5 35.0622 -17.4589 27.3397 90. 243.53 90. 333.53 0. 0. - 5 24 6 35.1159 -17.4856 23.4297 90. 243.53 90. 333.53 0. 0. - 5 24 7 35.0622 -17.4589 19.4997 90. 243.53 90. 333.53 0. 0. - 5 24 8 35.1159 -17.4856 15.5897 90. 243.53 90. 333.53 0. 0. - 5 24 9 35.0622 -17.4589 11.6597 90. 243.53 90. 333.53 0. 0. - 5 24 10 35.1159 -17.4856 7.7497 90. 243.53 90. 333.53 0. 0. - 5 24 11 35.0622 -17.4589 3.8197 90. 243.53 90. 333.53 0. 0. - 5 24 12 35.1159 -17.4856 -0.0903 90. 243.53 90. 333.53 0. 0. - 5 24 13 35.0622 -17.4589 -4.0203 90. 243.53 90. 333.53 0. 0. - 5 24 14 35.1159 -17.4856 -7.9303 90. 243.53 90. 333.53 0. 0. - 5 24 15 35.0622 -17.4589 -11.8603 90. 243.53 90. 333.53 0. 0. - 5 24 16 35.1159 -17.4856 -15.7703 90. 243.53 90. 333.53 0. 0. - 5 24 17 35.0622 -17.4589 -19.7003 90. 243.53 90. 333.53 0. 0. - 5 24 18 35.1159 -17.4856 -23.6103 90. 243.53 90. 333.53 0. 0. - 5 24 19 35.0622 -17.4589 -27.5403 90. 243.53 90. 333.53 0. 0. - 5 24 20 35.1159 -17.4856 -31.4503 90. 243.53 90. 333.53 0. 0. - 5 24 21 35.0622 -17.4589 -35.3803 90. 243.53 90. 333.53 0. 0. - 5 24 22 35.1159 -17.4856 -39.2903 90. 243.53 90. 333.53 0. 0. - 5 24 23 35.0622 -17.4589 -43.2003 90. 243.53 90. 333.53 0. 0. - 5 25 1 37.5257 -10.6770 43.0197 90. 254.12 90. 344.12 0. 0. - 5 25 2 37.5834 -10.6934 39.1097 90. 254.12 90. 344.12 0. 0. - 5 25 3 37.5257 -10.6770 35.1797 90. 254.12 90. 344.12 0. 0. - 5 25 4 37.5834 -10.6934 31.2697 90. 254.12 90. 344.12 0. 0. - 5 25 5 37.5257 -10.6770 27.3397 90. 254.12 90. 344.12 0. 0. - 5 25 6 37.5834 -10.6934 23.4297 90. 254.12 90. 344.12 0. 0. - 5 25 7 37.5257 -10.6770 19.4997 90. 254.12 90. 344.12 0. 0. - 5 25 8 37.5834 -10.6934 15.5897 90. 254.12 90. 344.12 0. 0. - 5 25 9 37.5257 -10.6770 11.6597 90. 254.12 90. 344.12 0. 0. - 5 25 10 37.5834 -10.6934 7.7497 90. 254.12 90. 344.12 0. 0. - 5 25 11 37.5257 -10.6770 3.8197 90. 254.12 90. 344.12 0. 0. - 5 25 12 37.5834 -10.6934 -0.0903 90. 254.12 90. 344.12 0. 0. - 5 25 13 37.5257 -10.6770 -4.0203 90. 254.12 90. 344.12 0. 0. - 5 25 14 37.5834 -10.6934 -7.9303 90. 254.12 90. 344.12 0. 0. - 5 25 15 37.5257 -10.6770 -11.8603 90. 254.12 90. 344.12 0. 0. - 5 25 16 37.5834 -10.6934 -15.7703 90. 254.12 90. 344.12 0. 0. - 5 25 17 37.5257 -10.6770 -19.7003 90. 254.12 90. 344.12 0. 0. - 5 25 18 37.5834 -10.6934 -23.6103 90. 254.12 90. 344.12 0. 0. - 5 25 19 37.5257 -10.6770 -27.5403 90. 254.12 90. 344.12 0. 0. - 5 25 20 37.5834 -10.6934 -31.4503 90. 254.12 90. 344.12 0. 0. - 5 25 21 37.5257 -10.6770 -35.3803 90. 254.12 90. 344.12 0. 0. - 5 25 22 37.5834 -10.6934 -39.2903 90. 254.12 90. 344.12 0. 0. - 5 25 23 37.5257 -10.6770 -43.2003 90. 254.12 90. 344.12 0. 0. - 5 26 1 38.9833 -3.6123 43.0197 90. 264.71 90. 354.71 0. 0. - 5 26 2 39.0430 -3.6179 39.1097 90. 264.71 90. 354.71 0. 0. - 5 26 3 38.9833 -3.6123 35.1797 90. 264.71 90. 354.71 0. 0. - 5 26 4 39.0430 -3.6179 31.2697 90. 264.71 90. 354.71 0. 0. - 5 26 5 38.9833 -3.6123 27.3397 90. 264.71 90. 354.71 0. 0. - 5 26 6 39.0430 -3.6179 23.4297 90. 264.71 90. 354.71 0. 0. - 5 26 7 38.9833 -3.6123 19.4997 90. 264.71 90. 354.71 0. 0. - 5 26 8 39.0430 -3.6179 15.5897 90. 264.71 90. 354.71 0. 0. - 5 26 9 38.9833 -3.6123 11.6597 90. 264.71 90. 354.71 0. 0. - 5 26 10 39.0430 -3.6179 7.7497 90. 264.71 90. 354.71 0. 0. - 5 26 11 38.9833 -3.6123 3.8197 90. 264.71 90. 354.71 0. 0. - 5 26 12 39.0430 -3.6179 -0.0903 90. 264.71 90. 354.71 0. 0. - 5 26 13 38.9833 -3.6123 -4.0203 90. 264.71 90. 354.71 0. 0. - 5 26 14 39.0430 -3.6179 -7.9303 90. 264.71 90. 354.71 0. 0. - 5 26 15 38.9833 -3.6123 -11.8603 90. 264.71 90. 354.71 0. 0. - 5 26 16 39.0430 -3.6179 -15.7703 90. 264.71 90. 354.71 0. 0. - 5 26 17 38.9833 -3.6123 -19.7003 90. 264.71 90. 354.71 0. 0. - 5 26 18 39.0430 -3.6179 -23.6103 90. 264.71 90. 354.71 0. 0. - 5 26 19 38.9833 -3.6123 -27.5403 90. 264.71 90. 354.71 0. 0. - 5 26 20 39.0430 -3.6179 -31.4503 90. 264.71 90. 354.71 0. 0. - 5 26 21 38.9833 -3.6123 -35.3803 90. 264.71 90. 354.71 0. 0. - 5 26 22 39.0430 -3.6179 -39.2903 90. 264.71 90. 354.71 0. 0. - 5 26 23 38.9833 -3.6123 -43.2003 90. 264.71 90. 354.71 0. 0. - 5 27 1 38.8485 3.5998 43.0197 90. 275.29 90. 5.29 0. 0. - 5 27 2 38.9083 3.6054 39.1097 90. 275.29 90. 5.29 0. 0. - 5 27 3 38.8485 3.5998 35.1797 90. 275.29 90. 5.29 0. 0. - 5 27 4 38.9083 3.6054 31.2697 90. 275.29 90. 5.29 0. 0. - 5 27 5 38.8485 3.5998 27.3397 90. 275.29 90. 5.29 0. 0. - 5 27 6 38.9083 3.6054 23.4297 90. 275.29 90. 5.29 0. 0. - 5 27 7 38.8485 3.5998 19.4997 90. 275.29 90. 5.29 0. 0. - 5 27 8 38.9083 3.6054 15.5897 90. 275.29 90. 5.29 0. 0. - 5 27 9 38.8485 3.5998 11.6597 90. 275.29 90. 5.29 0. 0. - 5 27 10 38.9083 3.6054 7.7497 90. 275.29 90. 5.29 0. 0. - 5 27 11 38.8485 3.5998 3.8197 90. 275.29 90. 5.29 0. 0. - 5 27 12 38.9083 3.6054 -0.0903 90. 275.29 90. 5.29 0. 0. - 5 27 13 38.8485 3.5998 -4.0203 90. 275.29 90. 5.29 0. 0. - 5 27 14 38.9083 3.6054 -7.9303 90. 275.29 90. 5.29 0. 0. - 5 27 15 38.8485 3.5998 -11.8603 90. 275.29 90. 5.29 0. 0. - 5 27 16 38.9083 3.6054 -15.7703 90. 275.29 90. 5.29 0. 0. - 5 27 17 38.8485 3.5998 -19.7003 90. 275.29 90. 5.29 0. 0. - 5 27 18 38.9083 3.6054 -23.6103 90. 275.29 90. 5.29 0. 0. - 5 27 19 38.8485 3.5998 -27.5403 90. 275.29 90. 5.29 0. 0. - 5 27 20 38.9083 3.6054 -31.4503 90. 275.29 90. 5.29 0. 0. - 5 27 21 38.8485 3.5998 -35.3803 90. 275.29 90. 5.29 0. 0. - 5 27 22 38.9083 3.6054 -39.2903 90. 275.29 90. 5.29 0. 0. - 5 27 23 38.8485 3.5998 -43.2003 90. 275.29 90. 5.29 0. 0. - 5 28 1 37.6733 10.7190 43.0197 90. 285.88 90. 15.88 0. 0. - 5 28 2 37.7310 10.7354 39.1097 90. 285.88 90. 15.88 0. 0. - 5 28 3 37.6733 10.7190 35.1797 90. 285.88 90. 15.88 0. 0. - 5 28 4 37.7310 10.7354 31.2697 90. 285.88 90. 15.88 0. 0. - 5 28 5 37.6733 10.7190 27.3397 90. 285.88 90. 15.88 0. 0. - 5 28 6 37.7310 10.7354 23.4297 90. 285.88 90. 15.88 0. 0. - 5 28 7 37.6733 10.7190 19.4997 90. 285.88 90. 15.88 0. 0. - 5 28 8 37.7310 10.7354 15.5897 90. 285.88 90. 15.88 0. 0. - 5 28 9 37.6733 10.7190 11.6597 90. 285.88 90. 15.88 0. 0. - 5 28 10 37.7310 10.7354 7.7497 90. 285.88 90. 15.88 0. 0. - 5 28 11 37.6733 10.7190 3.8197 90. 285.88 90. 15.88 0. 0. - 5 28 12 37.7310 10.7354 -0.0903 90. 285.88 90. 15.88 0. 0. - 5 28 13 37.6733 10.7190 -4.0203 90. 285.88 90. 15.88 0. 0. - 5 28 14 37.7310 10.7354 -7.9303 90. 285.88 90. 15.88 0. 0. - 5 28 15 37.6733 10.7190 -11.8603 90. 285.88 90. 15.88 0. 0. - 5 28 16 37.7310 10.7354 -15.7703 90. 285.88 90. 15.88 0. 0. - 5 28 17 37.6733 10.7190 -19.7003 90. 285.88 90. 15.88 0. 0. - 5 28 18 37.7310 10.7354 -23.6103 90. 285.88 90. 15.88 0. 0. - 5 28 19 37.6733 10.7190 -27.5403 90. 285.88 90. 15.88 0. 0. - 5 28 20 37.7310 10.7354 -31.4503 90. 285.88 90. 15.88 0. 0. - 5 28 21 37.6733 10.7190 -35.3803 90. 285.88 90. 15.88 0. 0. - 5 28 22 37.7310 10.7354 -39.2903 90. 285.88 90. 15.88 0. 0. - 5 28 23 37.6733 10.7190 -43.2003 90. 285.88 90. 15.88 0. 0. - 5 29 1 34.9248 17.3905 43.0197 90. 296.47 90. 26.47 0. 0. - 5 29 2 34.9785 17.4172 39.1097 90. 296.47 90. 26.47 0. 0. - 5 29 3 34.9248 17.3905 35.1797 90. 296.47 90. 26.47 0. 0. - 5 29 4 34.9785 17.4172 31.2697 90. 296.47 90. 26.47 0. 0. - 5 29 5 34.9248 17.3905 27.3397 90. 296.47 90. 26.47 0. 0. - 5 29 6 34.9785 17.4172 23.4297 90. 296.47 90. 26.47 0. 0. - 5 29 7 34.9248 17.3905 19.4997 90. 296.47 90. 26.47 0. 0. - 5 29 8 34.9785 17.4172 15.5897 90. 296.47 90. 26.47 0. 0. - 5 29 9 34.9248 17.3905 11.6597 90. 296.47 90. 26.47 0. 0. - 5 29 10 34.9785 17.4172 7.7497 90. 296.47 90. 26.47 0. 0. - 5 29 11 34.9248 17.3905 3.8197 90. 296.47 90. 26.47 0. 0. - 5 29 12 34.9785 17.4172 -0.0903 90. 296.47 90. 26.47 0. 0. - 5 29 13 34.9248 17.3905 -4.0203 90. 296.47 90. 26.47 0. 0. - 5 29 14 34.9785 17.4172 -7.9303 90. 296.47 90. 26.47 0. 0. - 5 29 15 34.9248 17.3905 -11.8603 90. 296.47 90. 26.47 0. 0. - 5 29 16 34.9785 17.4172 -15.7703 90. 296.47 90. 26.47 0. 0. - 5 29 17 34.9248 17.3905 -19.7003 90. 296.47 90. 26.47 0. 0. - 5 29 18 34.9785 17.4172 -23.6103 90. 296.47 90. 26.47 0. 0. - 5 29 19 34.9248 17.3905 -27.5403 90. 296.47 90. 26.47 0. 0. - 5 29 20 34.9785 17.4172 -31.4503 90. 296.47 90. 26.47 0. 0. - 5 29 21 34.9248 17.3905 -35.3803 90. 296.47 90. 26.47 0. 0. - 5 29 22 34.9785 17.4172 -39.2903 90. 296.47 90. 26.47 0. 0. - 5 29 23 34.9248 17.3905 -43.2003 90. 296.47 90. 26.47 0. 0. - 5 30 1 31.2572 23.6043 43.0197 90. 307.06 90. 37.06 0. 0. - 5 30 2 31.3051 23.6405 39.1097 90. 307.06 90. 37.06 0. 0. - 5 30 3 31.2572 23.6043 35.1797 90. 307.06 90. 37.06 0. 0. - 5 30 4 31.3051 23.6405 31.2697 90. 307.06 90. 37.06 0. 0. - 5 30 5 31.2572 23.6043 27.3397 90. 307.06 90. 37.06 0. 0. - 5 30 6 31.3051 23.6405 23.4297 90. 307.06 90. 37.06 0. 0. - 5 30 7 31.2572 23.6043 19.4997 90. 307.06 90. 37.06 0. 0. - 5 30 8 31.3051 23.6405 15.5897 90. 307.06 90. 37.06 0. 0. - 5 30 9 31.2572 23.6043 11.6597 90. 307.06 90. 37.06 0. 0. - 5 30 10 31.3051 23.6405 7.7497 90. 307.06 90. 37.06 0. 0. - 5 30 11 31.2572 23.6043 3.8197 90. 307.06 90. 37.06 0. 0. - 5 30 12 31.3051 23.6405 -0.0903 90. 307.06 90. 37.06 0. 0. - 5 30 13 31.2572 23.6043 -4.0203 90. 307.06 90. 37.06 0. 0. - 5 30 14 31.3051 23.6405 -7.9303 90. 307.06 90. 37.06 0. 0. - 5 30 15 31.2572 23.6043 -11.8603 90. 307.06 90. 37.06 0. 0. - 5 30 16 31.3051 23.6405 -15.7703 90. 307.06 90. 37.06 0. 0. - 5 30 17 31.2572 23.6043 -19.7003 90. 307.06 90. 37.06 0. 0. - 5 30 18 31.3051 23.6405 -23.6103 90. 307.06 90. 37.06 0. 0. - 5 30 19 31.2572 23.6043 -27.5403 90. 307.06 90. 37.06 0. 0. - 5 30 20 31.3051 23.6405 -31.4503 90. 307.06 90. 37.06 0. 0. - 5 30 21 31.2572 23.6043 -35.3803 90. 307.06 90. 37.06 0. 0. - 5 30 22 31.3051 23.6405 -39.2903 90. 307.06 90. 37.06 0. 0. - 5 30 23 31.2572 23.6043 -43.2003 90. 307.06 90. 37.06 0. 0. - 5 31 1 26.2843 28.8324 43.0197 90. 317.65 90. 47.65 0. 0. - 5 31 2 26.3247 28.8768 39.1097 90. 317.65 90. 47.65 0. 0. - 5 31 3 26.2843 28.8324 35.1797 90. 317.65 90. 47.65 0. 0. - 5 31 4 26.3247 28.8768 31.2697 90. 317.65 90. 47.65 0. 0. - 5 31 5 26.2843 28.8324 27.3397 90. 317.65 90. 47.65 0. 0. - 5 31 6 26.3247 28.8768 23.4297 90. 317.65 90. 47.65 0. 0. - 5 31 7 26.2843 28.8324 19.4997 90. 317.65 90. 47.65 0. 0. - 5 31 8 26.3247 28.8768 15.5897 90. 317.65 90. 47.65 0. 0. - 5 31 9 26.2843 28.8324 11.6597 90. 317.65 90. 47.65 0. 0. - 5 31 10 26.3247 28.8768 7.7497 90. 317.65 90. 47.65 0. 0. - 5 31 11 26.2843 28.8324 3.8197 90. 317.65 90. 47.65 0. 0. - 5 31 12 26.3247 28.8768 -0.0903 90. 317.65 90. 47.65 0. 0. - 5 31 13 26.2843 28.8324 -4.0203 90. 317.65 90. 47.65 0. 0. - 5 31 14 26.3247 28.8768 -7.9303 90. 317.65 90. 47.65 0. 0. - 5 31 15 26.2843 28.8324 -11.8603 90. 317.65 90. 47.65 0. 0. - 5 31 16 26.3247 28.8768 -15.7703 90. 317.65 90. 47.65 0. 0. - 5 31 17 26.2843 28.8324 -19.7003 90. 317.65 90. 47.65 0. 0. - 5 31 18 26.3247 28.8768 -23.6103 90. 317.65 90. 47.65 0. 0. - 5 31 19 26.2843 28.8324 -27.5403 90. 317.65 90. 47.65 0. 0. - 5 31 20 26.3247 28.8768 -31.4503 90. 317.65 90. 47.65 0. 0. - 5 31 21 26.2843 28.8324 -35.3803 90. 317.65 90. 47.65 0. 0. - 5 31 22 26.3247 28.8768 -39.2903 90. 317.65 90. 47.65 0. 0. - 5 31 23 26.2843 28.8324 -43.2003 90. 317.65 90. 47.65 0. 0. - 5 32 1 20.6196 33.3017 43.0197 90. 328.24 90. 58.24 0. 0. - 5 32 2 20.6511 33.3527 39.1097 90. 328.24 90. 58.24 0. 0. - 5 32 3 20.6196 33.3017 35.1797 90. 328.24 90. 58.24 0. 0. - 5 32 4 20.6511 33.3527 31.2697 90. 328.24 90. 58.24 0. 0. - 5 32 5 20.6196 33.3017 27.3397 90. 328.24 90. 58.24 0. 0. - 5 32 6 20.6511 33.3527 23.4297 90. 328.24 90. 58.24 0. 0. - 5 32 7 20.6196 33.3017 19.4997 90. 328.24 90. 58.24 0. 0. - 5 32 8 20.6511 33.3527 15.5897 90. 328.24 90. 58.24 0. 0. - 5 32 9 20.6196 33.3017 11.6597 90. 328.24 90. 58.24 0. 0. - 5 32 10 20.6511 33.3527 7.7497 90. 328.24 90. 58.24 0. 0. - 5 32 11 20.6196 33.3017 3.8197 90. 328.24 90. 58.24 0. 0. - 5 32 12 20.6511 33.3527 -0.0903 90. 328.24 90. 58.24 0. 0. - 5 32 13 20.6196 33.3017 -4.0203 90. 328.24 90. 58.24 0. 0. - 5 32 14 20.6511 33.3527 -7.9303 90. 328.24 90. 58.24 0. 0. - 5 32 15 20.6196 33.3017 -11.8603 90. 328.24 90. 58.24 0. 0. - 5 32 16 20.6511 33.3527 -15.7703 90. 328.24 90. 58.24 0. 0. - 5 32 17 20.6196 33.3017 -19.7003 90. 328.24 90. 58.24 0. 0. - 5 32 18 20.6511 33.3527 -23.6103 90. 328.24 90. 58.24 0. 0. - 5 32 19 20.6196 33.3017 -27.5403 90. 328.24 90. 58.24 0. 0. - 5 32 20 20.6511 33.3527 -31.4503 90. 328.24 90. 58.24 0. 0. - 5 32 21 20.6196 33.3017 -35.3803 90. 328.24 90. 58.24 0. 0. - 5 32 22 20.6511 33.3527 -39.2903 90. 328.24 90. 58.24 0. 0. - 5 32 23 20.6196 33.3017 -43.2003 90. 328.24 90. 58.24 0. 0. - 5 33 1 14.0939 36.3804 43.0197 90. 338.82 90. 68.82 0. 0. - 5 33 2 14.1155 36.4364 39.1097 90. 338.82 90. 68.82 0. 0. - 5 33 3 14.0939 36.3804 35.1797 90. 338.82 90. 68.82 0. 0. - 5 33 4 14.1155 36.4364 31.2697 90. 338.82 90. 68.82 0. 0. - 5 33 5 14.0939 36.3804 27.3397 90. 338.82 90. 68.82 0. 0. - 5 33 6 14.1155 36.4364 23.4297 90. 338.82 90. 68.82 0. 0. - 5 33 7 14.0939 36.3804 19.4997 90. 338.82 90. 68.82 0. 0. - 5 33 8 14.1155 36.4364 15.5897 90. 338.82 90. 68.82 0. 0. - 5 33 9 14.0939 36.3804 11.6597 90. 338.82 90. 68.82 0. 0. - 5 33 10 14.1155 36.4364 7.7497 90. 338.82 90. 68.82 0. 0. - 5 33 11 14.0939 36.3804 3.8197 90. 338.82 90. 68.82 0. 0. - 5 33 12 14.1155 36.4364 -0.0903 90. 338.82 90. 68.82 0. 0. - 5 33 13 14.0939 36.3804 -4.0203 90. 338.82 90. 68.82 0. 0. - 5 33 14 14.1155 36.4364 -7.9303 90. 338.82 90. 68.82 0. 0. - 5 33 15 14.0939 36.3804 -11.8603 90. 338.82 90. 68.82 0. 0. - 5 33 16 14.1155 36.4364 -15.7703 90. 338.82 90. 68.82 0. 0. - 5 33 17 14.0939 36.3804 -19.7003 90. 338.82 90. 68.82 0. 0. - 5 33 18 14.1155 36.4364 -23.6103 90. 338.82 90. 68.82 0. 0. - 5 33 19 14.0939 36.3804 -27.5403 90. 338.82 90. 68.82 0. 0. - 5 33 20 14.1155 36.4364 -31.4503 90. 338.82 90. 68.82 0. 0. - 5 33 21 14.0939 36.3804 -35.3803 90. 338.82 90. 68.82 0. 0. - 5 33 22 14.1155 36.4364 -39.2903 90. 338.82 90. 68.82 0. 0. - 5 33 23 14.0939 36.3804 -43.2003 90. 338.82 90. 68.82 0. 0. - 5 34 1 7.1972 38.5016 43.0197 90. 349.41 90. 79.41 0. 0. - 5 34 2 7.2082 38.5606 39.1097 90. 349.41 90. 79.41 0. 0. - 5 34 3 7.1972 38.5016 35.1797 90. 349.41 90. 79.41 0. 0. - 5 34 4 7.2082 38.5606 31.2697 90. 349.41 90. 79.41 0. 0. - 5 34 5 7.1972 38.5016 27.3397 90. 349.41 90. 79.41 0. 0. - 5 34 6 7.2082 38.5606 23.4297 90. 349.41 90. 79.41 0. 0. - 5 34 7 7.1972 38.5016 19.4997 90. 349.41 90. 79.41 0. 0. - 5 34 8 7.2082 38.5606 15.5897 90. 349.41 90. 79.41 0. 0. - 5 34 9 7.1972 38.5016 11.6597 90. 349.41 90. 79.41 0. 0. - 5 34 10 7.2082 38.5606 7.7497 90. 349.41 90. 79.41 0. 0. - 5 34 11 7.1972 38.5016 3.8197 90. 349.41 90. 79.41 0. 0. - 5 34 12 7.2082 38.5606 -0.0903 90. 349.41 90. 79.41 0. 0. - 5 34 13 7.1972 38.5016 -4.0203 90. 349.41 90. 79.41 0. 0. - 5 34 14 7.2082 38.5606 -7.9303 90. 349.41 90. 79.41 0. 0. - 5 34 15 7.1972 38.5016 -11.8603 90. 349.41 90. 79.41 0. 0. - 5 34 16 7.2082 38.5606 -15.7703 90. 349.41 90. 79.41 0. 0. - 5 34 17 7.1972 38.5016 -19.7003 90. 349.41 90. 79.41 0. 0. - 5 34 18 7.2082 38.5606 -23.6103 90. 349.41 90. 79.41 0. 0. - 5 34 19 7.1972 38.5016 -27.5403 90. 349.41 90. 79.41 0. 0. - 5 34 20 7.2082 38.5606 -31.4503 90. 349.41 90. 79.41 0. 0. - 5 34 21 7.1972 38.5016 -35.3803 90. 349.41 90. 79.41 0. 0. - 5 34 22 7.2082 38.5606 -39.2903 90. 349.41 90. 79.41 0. 0. - 5 34 23 7.1972 38.5016 -43.2003 90. 349.41 90. 79.41 0. 0. - 6 1 1 -14.1293 41.1572 48.8800 90. 18.95 90. 108.95 0. 0. - 6 1 2 -14.1488 41.2140 44.9700 90. 18.95 90. 108.95 0. 0. - 6 1 3 -14.1293 41.1572 41.0600 90. 18.95 90. 108.95 0. 0. - 6 1 4 -14.1488 41.2140 37.1500 90. 18.95 90. 108.95 0. 0. - 6 1 5 -14.1293 41.1572 33.2400 90. 18.95 90. 108.95 0. 0. - 6 1 6 -14.1488 41.2140 29.3300 90. 18.95 90. 108.95 0. 0. - 6 1 7 -14.1293 41.1572 25.4200 90. 18.95 90. 108.95 0. 0. - 6 1 8 -14.1488 41.2140 21.5100 90. 18.95 90. 108.95 0. 0. - 6 1 9 -14.1293 41.1572 17.6000 90. 18.95 90. 108.95 0. 0. - 6 1 10 -14.1488 41.2140 13.6900 90. 18.95 90. 108.95 0. 0. - 6 1 11 -14.1293 41.1572 9.7800 90. 18.95 90. 108.95 0. 0. - 6 1 12 -14.1488 41.2140 5.8700 90. 18.95 90. 108.95 0. 0. - 6 1 13 -14.1293 41.1572 1.9600 90. 18.95 90. 108.95 0. 0. - 6 1 14 -14.1488 41.2140 -1.9500 90. 18.95 90. 108.95 0. 0. - 6 1 15 -14.1293 41.1572 -5.8600 90. 18.95 90. 108.95 0. 0. - 6 1 16 -14.1488 41.2140 -9.7700 90. 18.95 90. 108.95 0. 0. - 6 1 17 -14.1293 41.1572 -13.6800 90. 18.95 90. 108.95 0. 0. - 6 1 18 -14.1488 41.2140 -17.5900 90. 18.95 90. 108.95 0. 0. - 6 1 19 -14.1293 41.1572 -21.5000 90. 18.95 90. 108.95 0. 0. - 6 1 20 -14.1488 41.2140 -25.4100 90. 18.95 90. 108.95 0. 0. - 6 1 21 -14.1293 41.1572 -29.3200 90. 18.95 90. 108.95 0. 0. - 6 1 22 -14.1488 41.2140 -33.2300 90. 18.95 90. 108.95 0. 0. - 6 1 23 -14.1293 41.1572 -37.1400 90. 18.95 90. 108.95 0. 0. - 6 1 24 -14.1488 41.2140 -41.0500 90. 18.95 90. 108.95 0. 0. - 6 1 25 -14.1293 41.1572 -44.9600 90. 18.95 90. 108.95 0. 0. - 6 1 26 -14.1488 41.2140 -48.8700 90. 18.95 90. 108.95 0. 0. - 6 2 1 -20.7835 38.4046 48.8800 90. 28.42 90. 118.42 0. 0. - 6 2 2 -20.8121 38.4574 44.9700 90. 28.42 90. 118.42 0. 0. - 6 2 3 -20.7835 38.4046 41.0600 90. 28.42 90. 118.42 0. 0. - 6 2 4 -20.8121 38.4574 37.1500 90. 28.42 90. 118.42 0. 0. - 6 2 5 -20.7835 38.4046 33.2400 90. 28.42 90. 118.42 0. 0. - 6 2 6 -20.8121 38.4574 29.3300 90. 28.42 90. 118.42 0. 0. - 6 2 7 -20.7835 38.4046 25.4200 90. 28.42 90. 118.42 0. 0. - 6 2 8 -20.8121 38.4574 21.5100 90. 28.42 90. 118.42 0. 0. - 6 2 9 -20.7835 38.4046 17.6000 90. 28.42 90. 118.42 0. 0. - 6 2 10 -20.8121 38.4574 13.6900 90. 28.42 90. 118.42 0. 0. - 6 2 11 -20.7835 38.4046 9.7800 90. 28.42 90. 118.42 0. 0. - 6 2 12 -20.8121 38.4574 5.8700 90. 28.42 90. 118.42 0. 0. - 6 2 13 -20.7835 38.4046 1.9600 90. 28.42 90. 118.42 0. 0. - 6 2 14 -20.8121 38.4574 -1.9500 90. 28.42 90. 118.42 0. 0. - 6 2 15 -20.7835 38.4046 -5.8600 90. 28.42 90. 118.42 0. 0. - 6 2 16 -20.8121 38.4574 -9.7700 90. 28.42 90. 118.42 0. 0. - 6 2 17 -20.7835 38.4046 -13.6800 90. 28.42 90. 118.42 0. 0. - 6 2 18 -20.8121 38.4574 -17.5900 90. 28.42 90. 118.42 0. 0. - 6 2 19 -20.7835 38.4046 -21.5000 90. 28.42 90. 118.42 0. 0. - 6 2 20 -20.8121 38.4574 -25.4100 90. 28.42 90. 118.42 0. 0. - 6 2 21 -20.7835 38.4046 -29.3200 90. 28.42 90. 118.42 0. 0. - 6 2 22 -20.8121 38.4574 -33.2300 90. 28.42 90. 118.42 0. 0. - 6 2 23 -20.7835 38.4046 -37.1400 90. 28.42 90. 118.42 0. 0. - 6 2 24 -20.8121 38.4574 -41.0500 90. 28.42 90. 118.42 0. 0. - 6 2 25 -20.7835 38.4046 -44.9600 90. 28.42 90. 118.42 0. 0. - 6 2 26 -20.8121 38.4574 -48.8700 90. 28.42 90. 118.42 0. 0. - 6 3 1 -26.7275 34.3394 48.8800 90. 37.89 90. 127.89 0. 0. - 6 3 2 -26.7643 34.3868 44.9700 90. 37.89 90. 127.89 0. 0. - 6 3 3 -26.7275 34.3394 41.0600 90. 37.89 90. 127.89 0. 0. - 6 3 4 -26.7643 34.3868 37.1500 90. 37.89 90. 127.89 0. 0. - 6 3 5 -26.7275 34.3394 33.2400 90. 37.89 90. 127.89 0. 0. - 6 3 6 -26.7643 34.3868 29.3300 90. 37.89 90. 127.89 0. 0. - 6 3 7 -26.7275 34.3394 25.4200 90. 37.89 90. 127.89 0. 0. - 6 3 8 -26.7643 34.3868 21.5100 90. 37.89 90. 127.89 0. 0. - 6 3 9 -26.7275 34.3394 17.6000 90. 37.89 90. 127.89 0. 0. - 6 3 10 -26.7643 34.3868 13.6900 90. 37.89 90. 127.89 0. 0. - 6 3 11 -26.7275 34.3394 9.7800 90. 37.89 90. 127.89 0. 0. - 6 3 12 -26.7643 34.3868 5.8700 90. 37.89 90. 127.89 0. 0. - 6 3 13 -26.7275 34.3394 1.9600 90. 37.89 90. 127.89 0. 0. - 6 3 14 -26.7643 34.3868 -1.9500 90. 37.89 90. 127.89 0. 0. - 6 3 15 -26.7275 34.3394 -5.8600 90. 37.89 90. 127.89 0. 0. - 6 3 16 -26.7643 34.3868 -9.7700 90. 37.89 90. 127.89 0. 0. - 6 3 17 -26.7275 34.3394 -13.6800 90. 37.89 90. 127.89 0. 0. - 6 3 18 -26.7643 34.3868 -17.5900 90. 37.89 90. 127.89 0. 0. - 6 3 19 -26.7275 34.3394 -21.5000 90. 37.89 90. 127.89 0. 0. - 6 3 20 -26.7643 34.3868 -25.4100 90. 37.89 90. 127.89 0. 0. - 6 3 21 -26.7275 34.3394 -29.3200 90. 37.89 90. 127.89 0. 0. - 6 3 22 -26.7643 34.3868 -33.2300 90. 37.89 90. 127.89 0. 0. - 6 3 23 -26.7275 34.3394 -37.1400 90. 37.89 90. 127.89 0. 0. - 6 3 24 -26.7643 34.3868 -41.0500 90. 37.89 90. 127.89 0. 0. - 6 3 25 -26.7275 34.3394 -44.9600 90. 37.89 90. 127.89 0. 0. - 6 3 26 -26.7643 34.3868 -48.8700 90. 37.89 90. 127.89 0. 0. - 6 4 1 -32.1273 29.5753 48.8800 90. 47.37 90. 137.37 0. 0. - 6 4 2 -32.1715 29.6159 44.9700 90. 47.37 90. 137.37 0. 0. - 6 4 3 -32.1273 29.5753 41.0600 90. 47.37 90. 137.37 0. 0. - 6 4 4 -32.1715 29.6159 37.1500 90. 47.37 90. 137.37 0. 0. - 6 4 5 -32.1273 29.5753 33.2400 90. 47.37 90. 137.37 0. 0. - 6 4 6 -32.1715 29.6159 29.3300 90. 47.37 90. 137.37 0. 0. - 6 4 7 -32.1273 29.5753 25.4200 90. 47.37 90. 137.37 0. 0. - 6 4 8 -32.1715 29.6159 21.5100 90. 47.37 90. 137.37 0. 0. - 6 4 9 -32.1273 29.5753 17.6000 90. 47.37 90. 137.37 0. 0. - 6 4 10 -32.1715 29.6159 13.6900 90. 47.37 90. 137.37 0. 0. - 6 4 11 -32.1273 29.5753 9.7800 90. 47.37 90. 137.37 0. 0. - 6 4 12 -32.1715 29.6159 5.8700 90. 47.37 90. 137.37 0. 0. - 6 4 13 -32.1273 29.5753 1.9600 90. 47.37 90. 137.37 0. 0. - 6 4 14 -32.1715 29.6159 -1.9500 90. 47.37 90. 137.37 0. 0. - 6 4 15 -32.1273 29.5753 -5.8600 90. 47.37 90. 137.37 0. 0. - 6 4 16 -32.1715 29.6159 -9.7700 90. 47.37 90. 137.37 0. 0. - 6 4 17 -32.1273 29.5753 -13.6800 90. 47.37 90. 137.37 0. 0. - 6 4 18 -32.1715 29.6159 -17.5900 90. 47.37 90. 137.37 0. 0. - 6 4 19 -32.1273 29.5753 -21.5000 90. 47.37 90. 137.37 0. 0. - 6 4 20 -32.1715 29.6159 -25.4100 90. 47.37 90. 137.37 0. 0. - 6 4 21 -32.1273 29.5753 -29.3200 90. 47.37 90. 137.37 0. 0. - 6 4 22 -32.1715 29.6159 -33.2300 90. 47.37 90. 137.37 0. 0. - 6 4 23 -32.1273 29.5753 -37.1400 90. 47.37 90. 137.37 0. 0. - 6 4 24 -32.1715 29.6159 -41.0500 90. 47.37 90. 137.37 0. 0. - 6 4 25 -32.1273 29.5753 -44.9600 90. 47.37 90. 137.37 0. 0. - 6 4 26 -32.1715 29.6159 -48.8700 90. 47.37 90. 137.37 0. 0. - 6 5 1 -36.4293 23.8005 48.8800 90. 56.84 90. 146.84 0. 0. - 6 5 2 -36.4795 23.8333 44.9700 90. 56.84 90. 146.84 0. 0. - 6 5 3 -36.4293 23.8005 41.0600 90. 56.84 90. 146.84 0. 0. - 6 5 4 -36.4795 23.8333 37.1500 90. 56.84 90. 146.84 0. 0. - 6 5 5 -36.4293 23.8005 33.2400 90. 56.84 90. 146.84 0. 0. - 6 5 6 -36.4795 23.8333 29.3300 90. 56.84 90. 146.84 0. 0. - 6 5 7 -36.4293 23.8005 25.4200 90. 56.84 90. 146.84 0. 0. - 6 5 8 -36.4795 23.8333 21.5100 90. 56.84 90. 146.84 0. 0. - 6 5 9 -36.4293 23.8005 17.6000 90. 56.84 90. 146.84 0. 0. - 6 5 10 -36.4795 23.8333 13.6900 90. 56.84 90. 146.84 0. 0. - 6 5 11 -36.4293 23.8005 9.7800 90. 56.84 90. 146.84 0. 0. - 6 5 12 -36.4795 23.8333 5.8700 90. 56.84 90. 146.84 0. 0. - 6 5 13 -36.4293 23.8005 1.9600 90. 56.84 90. 146.84 0. 0. - 6 5 14 -36.4795 23.8333 -1.9500 90. 56.84 90. 146.84 0. 0. - 6 5 15 -36.4293 23.8005 -5.8600 90. 56.84 90. 146.84 0. 0. - 6 5 16 -36.4795 23.8333 -9.7700 90. 56.84 90. 146.84 0. 0. - 6 5 17 -36.4293 23.8005 -13.6800 90. 56.84 90. 146.84 0. 0. - 6 5 18 -36.4795 23.8333 -17.5900 90. 56.84 90. 146.84 0. 0. - 6 5 19 -36.4293 23.8005 -21.5000 90. 56.84 90. 146.84 0. 0. - 6 5 20 -36.4795 23.8333 -25.4100 90. 56.84 90. 146.84 0. 0. - 6 5 21 -36.4293 23.8005 -29.3200 90. 56.84 90. 146.84 0. 0. - 6 5 22 -36.4795 23.8333 -33.2300 90. 56.84 90. 146.84 0. 0. - 6 5 23 -36.4293 23.8005 -37.1400 90. 56.84 90. 146.84 0. 0. - 6 5 24 -36.4795 23.8333 -41.0500 90. 56.84 90. 146.84 0. 0. - 6 5 25 -36.4293 23.8005 -44.9600 90. 56.84 90. 146.84 0. 0. - 6 5 26 -36.4795 23.8333 -48.8700 90. 56.84 90. 146.84 0. 0. - 6 6 1 -39.9897 17.5411 48.8800 90. 66.32 90. 156.32 0. 0. - 6 6 2 -40.0447 17.5652 44.9700 90. 66.32 90. 156.32 0. 0. - 6 6 3 -39.9897 17.5411 41.0600 90. 66.32 90. 156.32 0. 0. - 6 6 4 -40.0447 17.5652 37.1500 90. 66.32 90. 156.32 0. 0. - 6 6 5 -39.9897 17.5411 33.2400 90. 66.32 90. 156.32 0. 0. - 6 6 6 -40.0447 17.5652 29.3300 90. 66.32 90. 156.32 0. 0. - 6 6 7 -39.9897 17.5411 25.4200 90. 66.32 90. 156.32 0. 0. - 6 6 8 -40.0447 17.5652 21.5100 90. 66.32 90. 156.32 0. 0. - 6 6 9 -39.9897 17.5411 17.6000 90. 66.32 90. 156.32 0. 0. - 6 6 10 -40.0447 17.5652 13.6900 90. 66.32 90. 156.32 0. 0. - 6 6 11 -39.9897 17.5411 9.7800 90. 66.32 90. 156.32 0. 0. - 6 6 12 -40.0447 17.5652 5.8700 90. 66.32 90. 156.32 0. 0. - 6 6 13 -39.9897 17.5411 1.9600 90. 66.32 90. 156.32 0. 0. - 6 6 14 -40.0447 17.5652 -1.9500 90. 66.32 90. 156.32 0. 0. - 6 6 15 -39.9897 17.5411 -5.8600 90. 66.32 90. 156.32 0. 0. - 6 6 16 -40.0447 17.5652 -9.7700 90. 66.32 90. 156.32 0. 0. - 6 6 17 -39.9897 17.5411 -13.6800 90. 66.32 90. 156.32 0. 0. - 6 6 18 -40.0447 17.5652 -17.5900 90. 66.32 90. 156.32 0. 0. - 6 6 19 -39.9897 17.5411 -21.5000 90. 66.32 90. 156.32 0. 0. - 6 6 20 -40.0447 17.5652 -25.4100 90. 66.32 90. 156.32 0. 0. - 6 6 21 -39.9897 17.5411 -29.3200 90. 66.32 90. 156.32 0. 0. - 6 6 22 -40.0447 17.5652 -33.2300 90. 66.32 90. 156.32 0. 0. - 6 6 23 -39.9897 17.5411 -37.1400 90. 66.32 90. 156.32 0. 0. - 6 6 24 -40.0447 17.5652 -41.0500 90. 66.32 90. 156.32 0. 0. - 6 6 25 -39.9897 17.5411 -44.9600 90. 66.32 90. 156.32 0. 0. - 6 6 26 -40.0447 17.5652 -48.8700 90. 66.32 90. 156.32 0. 0. - 6 7 1 -42.1834 10.6823 48.8800 90. 75.79 90. 165.79 0. 0. - 6 7 2 -42.2416 10.6970 44.9700 90. 75.79 90. 165.79 0. 0. - 6 7 3 -42.1834 10.6823 41.0600 90. 75.79 90. 165.79 0. 0. - 6 7 4 -42.2416 10.6970 37.1500 90. 75.79 90. 165.79 0. 0. - 6 7 5 -42.1834 10.6823 33.2400 90. 75.79 90. 165.79 0. 0. - 6 7 6 -42.2416 10.6970 29.3300 90. 75.79 90. 165.79 0. 0. - 6 7 7 -42.1834 10.6823 25.4200 90. 75.79 90. 165.79 0. 0. - 6 7 8 -42.2416 10.6970 21.5100 90. 75.79 90. 165.79 0. 0. - 6 7 9 -42.1834 10.6823 17.6000 90. 75.79 90. 165.79 0. 0. - 6 7 10 -42.2416 10.6970 13.6900 90. 75.79 90. 165.79 0. 0. - 6 7 11 -42.1834 10.6823 9.7800 90. 75.79 90. 165.79 0. 0. - 6 7 12 -42.2416 10.6970 5.8700 90. 75.79 90. 165.79 0. 0. - 6 7 13 -42.1834 10.6823 1.9600 90. 75.79 90. 165.79 0. 0. - 6 7 14 -42.2416 10.6970 -1.9500 90. 75.79 90. 165.79 0. 0. - 6 7 15 -42.1834 10.6823 -5.8600 90. 75.79 90. 165.79 0. 0. - 6 7 16 -42.2416 10.6970 -9.7700 90. 75.79 90. 165.79 0. 0. - 6 7 17 -42.1834 10.6823 -13.6800 90. 75.79 90. 165.79 0. 0. - 6 7 18 -42.2416 10.6970 -17.5900 90. 75.79 90. 165.79 0. 0. - 6 7 19 -42.1834 10.6823 -21.5000 90. 75.79 90. 165.79 0. 0. - 6 7 20 -42.2416 10.6970 -25.4100 90. 75.79 90. 165.79 0. 0. - 6 7 21 -42.1834 10.6823 -29.3200 90. 75.79 90. 165.79 0. 0. - 6 7 22 -42.2416 10.6970 -33.2300 90. 75.79 90. 165.79 0. 0. - 6 7 23 -42.1834 10.6823 -37.1400 90. 75.79 90. 165.79 0. 0. - 6 7 24 -42.2416 10.6970 -41.0500 90. 75.79 90. 165.79 0. 0. - 6 7 25 -42.1834 10.6823 -44.9600 90. 75.79 90. 165.79 0. 0. - 6 7 26 -42.2416 10.6970 -48.8700 90. 75.79 90. 165.79 0. 0. - 6 8 1 -43.5185 3.6060 48.8800 90. 85.26 90. 175.26 0. 0. - 6 8 2 -43.5783 3.6110 44.9700 90. 85.26 90. 175.26 0. 0. - 6 8 3 -43.5185 3.6060 41.0600 90. 85.26 90. 175.26 0. 0. - 6 8 4 -43.5783 3.6110 37.1500 90. 85.26 90. 175.26 0. 0. - 6 8 5 -43.5185 3.6060 33.2400 90. 85.26 90. 175.26 0. 0. - 6 8 6 -43.5783 3.6110 29.3300 90. 85.26 90. 175.26 0. 0. - 6 8 7 -43.5185 3.6060 25.4200 90. 85.26 90. 175.26 0. 0. - 6 8 8 -43.5783 3.6110 21.5100 90. 85.26 90. 175.26 0. 0. - 6 8 9 -43.5185 3.6060 17.6000 90. 85.26 90. 175.26 0. 0. - 6 8 10 -43.5783 3.6110 13.6900 90. 85.26 90. 175.26 0. 0. - 6 8 11 -43.5185 3.6060 9.7800 90. 85.26 90. 175.26 0. 0. - 6 8 12 -43.5783 3.6110 5.8700 90. 85.26 90. 175.26 0. 0. - 6 8 13 -43.5185 3.6060 1.9600 90. 85.26 90. 175.26 0. 0. - 6 8 14 -43.5783 3.6110 -1.9500 90. 85.26 90. 175.26 0. 0. - 6 8 15 -43.5185 3.6060 -5.8600 90. 85.26 90. 175.26 0. 0. - 6 8 16 -43.5783 3.6110 -9.7700 90. 85.26 90. 175.26 0. 0. - 6 8 17 -43.5185 3.6060 -13.6800 90. 85.26 90. 175.26 0. 0. - 6 8 18 -43.5783 3.6110 -17.5900 90. 85.26 90. 175.26 0. 0. - 6 8 19 -43.5185 3.6060 -21.5000 90. 85.26 90. 175.26 0. 0. - 6 8 20 -43.5783 3.6110 -25.4100 90. 85.26 90. 175.26 0. 0. - 6 8 21 -43.5185 3.6060 -29.3200 90. 85.26 90. 175.26 0. 0. - 6 8 22 -43.5783 3.6110 -33.2300 90. 85.26 90. 175.26 0. 0. - 6 8 23 -43.5185 3.6060 -37.1400 90. 85.26 90. 175.26 0. 0. - 6 8 24 -43.5783 3.6110 -41.0500 90. 85.26 90. 175.26 0. 0. - 6 8 25 -43.5185 3.6060 -44.9600 90. 85.26 90. 175.26 0. 0. - 6 8 26 -43.5783 3.6110 -48.8700 90. 85.26 90. 175.26 0. 0. - 6 9 1 -43.3664 -3.5934 48.8800 90. 94.74 90. 184.74 0. 0. - 6 9 2 -43.4262 -3.5984 44.9700 90. 94.74 90. 184.74 0. 0. - 6 9 3 -43.3664 -3.5934 41.0600 90. 94.74 90. 184.74 0. 0. - 6 9 4 -43.4262 -3.5984 37.1500 90. 94.74 90. 184.74 0. 0. - 6 9 5 -43.3664 -3.5934 33.2400 90. 94.74 90. 184.74 0. 0. - 6 9 6 -43.4262 -3.5984 29.3300 90. 94.74 90. 184.74 0. 0. - 6 9 7 -43.3664 -3.5934 25.4200 90. 94.74 90. 184.74 0. 0. - 6 9 8 -43.4262 -3.5984 21.5100 90. 94.74 90. 184.74 0. 0. - 6 9 9 -43.3664 -3.5934 17.6000 90. 94.74 90. 184.74 0. 0. - 6 9 10 -43.4262 -3.5984 13.6900 90. 94.74 90. 184.74 0. 0. - 6 9 11 -43.3664 -3.5934 9.7800 90. 94.74 90. 184.74 0. 0. - 6 9 12 -43.4262 -3.5984 5.8700 90. 94.74 90. 184.74 0. 0. - 6 9 13 -43.3664 -3.5934 1.9600 90. 94.74 90. 184.74 0. 0. - 6 9 14 -43.4262 -3.5984 -1.9500 90. 94.74 90. 184.74 0. 0. - 6 9 15 -43.3664 -3.5934 -5.8600 90. 94.74 90. 184.74 0. 0. - 6 9 16 -43.4262 -3.5984 -9.7700 90. 94.74 90. 184.74 0. 0. - 6 9 17 -43.3664 -3.5934 -13.6800 90. 94.74 90. 184.74 0. 0. - 6 9 18 -43.4262 -3.5984 -17.5900 90. 94.74 90. 184.74 0. 0. - 6 9 19 -43.3664 -3.5934 -21.5000 90. 94.74 90. 184.74 0. 0. - 6 9 20 -43.4262 -3.5984 -25.4100 90. 94.74 90. 184.74 0. 0. - 6 9 21 -43.3664 -3.5934 -29.3200 90. 94.74 90. 184.74 0. 0. - 6 9 22 -43.4262 -3.5984 -33.2300 90. 94.74 90. 184.74 0. 0. - 6 9 23 -43.3664 -3.5934 -37.1400 90. 94.74 90. 184.74 0. 0. - 6 9 24 -43.4262 -3.5984 -41.0500 90. 94.74 90. 184.74 0. 0. - 6 9 25 -43.3664 -3.5934 -44.9600 90. 94.74 90. 184.74 0. 0. - 6 9 26 -43.4262 -3.5984 -48.8700 90. 94.74 90. 184.74 0. 0. - 6 10 1 -42.3315 -10.7198 48.8800 90. 104.21 90. 194.21 0. 0. - 6 10 2 -42.3897 -10.7345 44.9700 90. 104.21 90. 194.21 0. 0. - 6 10 3 -42.3315 -10.7198 41.0600 90. 104.21 90. 194.21 0. 0. - 6 10 4 -42.3897 -10.7345 37.1500 90. 104.21 90. 194.21 0. 0. - 6 10 5 -42.3315 -10.7198 33.2400 90. 104.21 90. 194.21 0. 0. - 6 10 6 -42.3897 -10.7345 29.3300 90. 104.21 90. 194.21 0. 0. - 6 10 7 -42.3315 -10.7198 25.4200 90. 104.21 90. 194.21 0. 0. - 6 10 8 -42.3897 -10.7345 21.5100 90. 104.21 90. 194.21 0. 0. - 6 10 9 -42.3315 -10.7198 17.6000 90. 104.21 90. 194.21 0. 0. - 6 10 10 -42.3897 -10.7345 13.6900 90. 104.21 90. 194.21 0. 0. - 6 10 11 -42.3315 -10.7198 9.7800 90. 104.21 90. 194.21 0. 0. - 6 10 12 -42.3897 -10.7345 5.8700 90. 104.21 90. 194.21 0. 0. - 6 10 13 -42.3315 -10.7198 1.9600 90. 104.21 90. 194.21 0. 0. - 6 10 14 -42.3897 -10.7345 -1.9500 90. 104.21 90. 194.21 0. 0. - 6 10 15 -42.3315 -10.7198 -5.8600 90. 104.21 90. 194.21 0. 0. - 6 10 16 -42.3897 -10.7345 -9.7700 90. 104.21 90. 194.21 0. 0. - 6 10 17 -42.3315 -10.7198 -13.6800 90. 104.21 90. 194.21 0. 0. - 6 10 18 -42.3897 -10.7345 -17.5900 90. 104.21 90. 194.21 0. 0. - 6 10 19 -42.3315 -10.7198 -21.5000 90. 104.21 90. 194.21 0. 0. - 6 10 20 -42.3897 -10.7345 -25.4100 90. 104.21 90. 194.21 0. 0. - 6 10 21 -42.3315 -10.7198 -29.3200 90. 104.21 90. 194.21 0. 0. - 6 10 22 -42.3897 -10.7345 -33.2300 90. 104.21 90. 194.21 0. 0. - 6 10 23 -42.3315 -10.7198 -37.1400 90. 104.21 90. 194.21 0. 0. - 6 10 24 -42.3897 -10.7345 -41.0500 90. 104.21 90. 194.21 0. 0. - 6 10 25 -42.3315 -10.7198 -44.9600 90. 104.21 90. 194.21 0. 0. - 6 10 26 -42.3897 -10.7345 -48.8700 90. 104.21 90. 194.21 0. 0. - 6 11 1 -39.8498 -17.4798 48.8800 90. 113.68 90. 203.68 0. 0. - 6 11 2 -39.9048 -17.5039 44.9700 90. 113.68 90. 203.68 0. 0. - 6 11 3 -39.8498 -17.4798 41.0600 90. 113.68 90. 203.68 0. 0. - 6 11 4 -39.9048 -17.5039 37.1500 90. 113.68 90. 203.68 0. 0. - 6 11 5 -39.8498 -17.4798 33.2400 90. 113.68 90. 203.68 0. 0. - 6 11 6 -39.9048 -17.5039 29.3300 90. 113.68 90. 203.68 0. 0. - 6 11 7 -39.8498 -17.4798 25.4200 90. 113.68 90. 203.68 0. 0. - 6 11 8 -39.9048 -17.5039 21.5100 90. 113.68 90. 203.68 0. 0. - 6 11 9 -39.8498 -17.4798 17.6000 90. 113.68 90. 203.68 0. 0. - 6 11 10 -39.9048 -17.5039 13.6900 90. 113.68 90. 203.68 0. 0. - 6 11 11 -39.8498 -17.4798 9.7800 90. 113.68 90. 203.68 0. 0. - 6 11 12 -39.9048 -17.5039 5.8700 90. 113.68 90. 203.68 0. 0. - 6 11 13 -39.8498 -17.4798 1.9600 90. 113.68 90. 203.68 0. 0. - 6 11 14 -39.9048 -17.5039 -1.9500 90. 113.68 90. 203.68 0. 0. - 6 11 15 -39.8498 -17.4798 -5.8600 90. 113.68 90. 203.68 0. 0. - 6 11 16 -39.9048 -17.5039 -9.7700 90. 113.68 90. 203.68 0. 0. - 6 11 17 -39.8498 -17.4798 -13.6800 90. 113.68 90. 203.68 0. 0. - 6 11 18 -39.9048 -17.5039 -17.5900 90. 113.68 90. 203.68 0. 0. - 6 11 19 -39.8498 -17.4798 -21.5000 90. 113.68 90. 203.68 0. 0. - 6 11 20 -39.9048 -17.5039 -25.4100 90. 113.68 90. 203.68 0. 0. - 6 11 21 -39.8498 -17.4798 -29.3200 90. 113.68 90. 203.68 0. 0. - 6 11 22 -39.9048 -17.5039 -33.2300 90. 113.68 90. 203.68 0. 0. - 6 11 23 -39.8498 -17.4798 -37.1400 90. 113.68 90. 203.68 0. 0. - 6 11 24 -39.9048 -17.5039 -41.0500 90. 113.68 90. 203.68 0. 0. - 6 11 25 -39.8498 -17.4798 -44.9600 90. 113.68 90. 203.68 0. 0. - 6 11 26 -39.9048 -17.5039 -48.8700 90. 113.68 90. 203.68 0. 0. - 6 12 1 -36.5572 -23.8840 48.8800 90. 123.16 90. 213.16 0. 0. - 6 12 2 -36.6074 -23.9168 44.9700 90. 123.16 90. 213.16 0. 0. - 6 12 3 -36.5572 -23.8840 41.0600 90. 123.16 90. 213.16 0. 0. - 6 12 4 -36.6074 -23.9168 37.1500 90. 123.16 90. 213.16 0. 0. - 6 12 5 -36.5572 -23.8840 33.2400 90. 123.16 90. 213.16 0. 0. - 6 12 6 -36.6074 -23.9168 29.3300 90. 123.16 90. 213.16 0. 0. - 6 12 7 -36.5572 -23.8840 25.4200 90. 123.16 90. 213.16 0. 0. - 6 12 8 -36.6074 -23.9168 21.5100 90. 123.16 90. 213.16 0. 0. - 6 12 9 -36.5572 -23.8840 17.6000 90. 123.16 90. 213.16 0. 0. - 6 12 10 -36.6074 -23.9168 13.6900 90. 123.16 90. 213.16 0. 0. - 6 12 11 -36.5572 -23.8840 9.7800 90. 123.16 90. 213.16 0. 0. - 6 12 12 -36.6074 -23.9168 5.8700 90. 123.16 90. 213.16 0. 0. - 6 12 13 -36.5572 -23.8840 1.9600 90. 123.16 90. 213.16 0. 0. - 6 12 14 -36.6074 -23.9168 -1.9500 90. 123.16 90. 213.16 0. 0. - 6 12 15 -36.5572 -23.8840 -5.8600 90. 123.16 90. 213.16 0. 0. - 6 12 16 -36.6074 -23.9168 -9.7700 90. 123.16 90. 213.16 0. 0. - 6 12 17 -36.5572 -23.8840 -13.6800 90. 123.16 90. 213.16 0. 0. - 6 12 18 -36.6074 -23.9168 -17.5900 90. 123.16 90. 213.16 0. 0. - 6 12 19 -36.5572 -23.8840 -21.5000 90. 123.16 90. 213.16 0. 0. - 6 12 20 -36.6074 -23.9168 -25.4100 90. 123.16 90. 213.16 0. 0. - 6 12 21 -36.5572 -23.8840 -29.3200 90. 123.16 90. 213.16 0. 0. - 6 12 22 -36.6074 -23.9168 -33.2300 90. 123.16 90. 213.16 0. 0. - 6 12 23 -36.5572 -23.8840 -37.1400 90. 123.16 90. 213.16 0. 0. - 6 12 24 -36.6074 -23.9168 -41.0500 90. 123.16 90. 213.16 0. 0. - 6 12 25 -36.5572 -23.8840 -44.9600 90. 123.16 90. 213.16 0. 0. - 6 12 26 -36.6074 -23.9168 -48.8700 90. 123.16 90. 213.16 0. 0. - 6 13 1 -32.0150 -29.4719 48.8800 90. 132.63 90. 222.63 0. 0. - 6 13 2 -32.0592 -29.5125 44.9700 90. 132.63 90. 222.63 0. 0. - 6 13 3 -32.0150 -29.4719 41.0600 90. 132.63 90. 222.63 0. 0. - 6 13 4 -32.0592 -29.5125 37.1500 90. 132.63 90. 222.63 0. 0. - 6 13 5 -32.0150 -29.4719 33.2400 90. 132.63 90. 222.63 0. 0. - 6 13 6 -32.0592 -29.5125 29.3300 90. 132.63 90. 222.63 0. 0. - 6 13 7 -32.0150 -29.4719 25.4200 90. 132.63 90. 222.63 0. 0. - 6 13 8 -32.0592 -29.5125 21.5100 90. 132.63 90. 222.63 0. 0. - 6 13 9 -32.0150 -29.4719 17.6000 90. 132.63 90. 222.63 0. 0. - 6 13 10 -32.0592 -29.5125 13.6900 90. 132.63 90. 222.63 0. 0. - 6 13 11 -32.0150 -29.4719 9.7800 90. 132.63 90. 222.63 0. 0. - 6 13 12 -32.0592 -29.5125 5.8700 90. 132.63 90. 222.63 0. 0. - 6 13 13 -32.0150 -29.4719 1.9600 90. 132.63 90. 222.63 0. 0. - 6 13 14 -32.0592 -29.5125 -1.9500 90. 132.63 90. 222.63 0. 0. - 6 13 15 -32.0150 -29.4719 -5.8600 90. 132.63 90. 222.63 0. 0. - 6 13 16 -32.0592 -29.5125 -9.7700 90. 132.63 90. 222.63 0. 0. - 6 13 17 -32.0150 -29.4719 -13.6800 90. 132.63 90. 222.63 0. 0. - 6 13 18 -32.0592 -29.5125 -17.5900 90. 132.63 90. 222.63 0. 0. - 6 13 19 -32.0150 -29.4719 -21.5000 90. 132.63 90. 222.63 0. 0. - 6 13 20 -32.0592 -29.5125 -25.4100 90. 132.63 90. 222.63 0. 0. - 6 13 21 -32.0150 -29.4719 -29.3200 90. 132.63 90. 222.63 0. 0. - 6 13 22 -32.0592 -29.5125 -33.2300 90. 132.63 90. 222.63 0. 0. - 6 13 23 -32.0150 -29.4719 -37.1400 90. 132.63 90. 222.63 0. 0. - 6 13 24 -32.0592 -29.5125 -41.0500 90. 132.63 90. 222.63 0. 0. - 6 13 25 -32.0150 -29.4719 -44.9600 90. 132.63 90. 222.63 0. 0. - 6 13 26 -32.0592 -29.5125 -48.8700 90. 132.63 90. 222.63 0. 0. - 6 14 1 -26.8212 -34.4599 48.8800 90. 142.11 90. 232.11 0. 0. - 6 14 2 -26.8581 -34.5073 44.9700 90. 142.11 90. 232.11 0. 0. - 6 14 3 -26.8212 -34.4599 41.0600 90. 142.11 90. 232.11 0. 0. - 6 14 4 -26.8581 -34.5073 37.1500 90. 142.11 90. 232.11 0. 0. - 6 14 5 -26.8212 -34.4599 33.2400 90. 142.11 90. 232.11 0. 0. - 6 14 6 -26.8581 -34.5073 29.3300 90. 142.11 90. 232.11 0. 0. - 6 14 7 -26.8212 -34.4599 25.4200 90. 142.11 90. 232.11 0. 0. - 6 14 8 -26.8581 -34.5073 21.5100 90. 142.11 90. 232.11 0. 0. - 6 14 9 -26.8212 -34.4599 17.6000 90. 142.11 90. 232.11 0. 0. - 6 14 10 -26.8581 -34.5073 13.6900 90. 142.11 90. 232.11 0. 0. - 6 14 11 -26.8212 -34.4599 9.7800 90. 142.11 90. 232.11 0. 0. - 6 14 12 -26.8581 -34.5073 5.8700 90. 142.11 90. 232.11 0. 0. - 6 14 13 -26.8212 -34.4599 1.9600 90. 142.11 90. 232.11 0. 0. - 6 14 14 -26.8581 -34.5073 -1.9500 90. 142.11 90. 232.11 0. 0. - 6 14 15 -26.8212 -34.4599 -5.8600 90. 142.11 90. 232.11 0. 0. - 6 14 16 -26.8581 -34.5073 -9.7700 90. 142.11 90. 232.11 0. 0. - 6 14 17 -26.8212 -34.4599 -13.6800 90. 142.11 90. 232.11 0. 0. - 6 14 18 -26.8581 -34.5073 -17.5900 90. 142.11 90. 232.11 0. 0. - 6 14 19 -26.8212 -34.4599 -21.5000 90. 142.11 90. 232.11 0. 0. - 6 14 20 -26.8581 -34.5073 -25.4100 90. 142.11 90. 232.11 0. 0. - 6 14 21 -26.8212 -34.4599 -29.3200 90. 142.11 90. 232.11 0. 0. - 6 14 22 -26.8581 -34.5073 -33.2300 90. 142.11 90. 232.11 0. 0. - 6 14 23 -26.8212 -34.4599 -37.1400 90. 142.11 90. 232.11 0. 0. - 6 14 24 -26.8581 -34.5073 -41.0500 90. 142.11 90. 232.11 0. 0. - 6 14 25 -26.8212 -34.4599 -44.9600 90. 142.11 90. 232.11 0. 0. - 6 14 26 -26.8581 -34.5073 -48.8700 90. 142.11 90. 232.11 0. 0. - 6 15 1 -20.7109 -38.2703 48.8800 90. 151.58 90. 241.58 0. 0. - 6 15 2 -20.7394 -38.3231 44.9700 90. 151.58 90. 241.58 0. 0. - 6 15 3 -20.7109 -38.2703 41.0600 90. 151.58 90. 241.58 0. 0. - 6 15 4 -20.7394 -38.3231 37.1500 90. 151.58 90. 241.58 0. 0. - 6 15 5 -20.7109 -38.2703 33.2400 90. 151.58 90. 241.58 0. 0. - 6 15 6 -20.7394 -38.3231 29.3300 90. 151.58 90. 241.58 0. 0. - 6 15 7 -20.7109 -38.2703 25.4200 90. 151.58 90. 241.58 0. 0. - 6 15 8 -20.7394 -38.3231 21.5100 90. 151.58 90. 241.58 0. 0. - 6 15 9 -20.7109 -38.2703 17.6000 90. 151.58 90. 241.58 0. 0. - 6 15 10 -20.7394 -38.3231 13.6900 90. 151.58 90. 241.58 0. 0. - 6 15 11 -20.7109 -38.2703 9.7800 90. 151.58 90. 241.58 0. 0. - 6 15 12 -20.7394 -38.3231 5.8700 90. 151.58 90. 241.58 0. 0. - 6 15 13 -20.7109 -38.2703 1.9600 90. 151.58 90. 241.58 0. 0. - 6 15 14 -20.7394 -38.3231 -1.9500 90. 151.58 90. 241.58 0. 0. - 6 15 15 -20.7109 -38.2703 -5.8600 90. 151.58 90. 241.58 0. 0. - 6 15 16 -20.7394 -38.3231 -9.7700 90. 151.58 90. 241.58 0. 0. - 6 15 17 -20.7109 -38.2703 -13.6800 90. 151.58 90. 241.58 0. 0. - 6 15 18 -20.7394 -38.3231 -17.5900 90. 151.58 90. 241.58 0. 0. - 6 15 19 -20.7109 -38.2703 -21.5000 90. 151.58 90. 241.58 0. 0. - 6 15 20 -20.7394 -38.3231 -25.4100 90. 151.58 90. 241.58 0. 0. - 6 15 21 -20.7109 -38.2703 -29.3200 90. 151.58 90. 241.58 0. 0. - 6 15 22 -20.7394 -38.3231 -33.2300 90. 151.58 90. 241.58 0. 0. - 6 15 23 -20.7109 -38.2703 -37.1400 90. 151.58 90. 241.58 0. 0. - 6 15 24 -20.7394 -38.3231 -41.0500 90. 151.58 90. 241.58 0. 0. - 6 15 25 -20.7109 -38.2703 -44.9600 90. 151.58 90. 241.58 0. 0. - 6 15 26 -20.7394 -38.3231 -48.8700 90. 151.58 90. 241.58 0. 0. - 6 16 1 -14.1789 -41.3016 48.8800 90. 161.05 90. 251.05 0. 0. - 6 16 2 -14.1984 -41.3584 44.9700 90. 161.05 90. 251.05 0. 0. - 6 16 3 -14.1789 -41.3016 41.0600 90. 161.05 90. 251.05 0. 0. - 6 16 4 -14.1984 -41.3584 37.1500 90. 161.05 90. 251.05 0. 0. - 6 16 5 -14.1789 -41.3016 33.2400 90. 161.05 90. 251.05 0. 0. - 6 16 6 -14.1984 -41.3584 29.3300 90. 161.05 90. 251.05 0. 0. - 6 16 7 -14.1789 -41.3016 25.4200 90. 161.05 90. 251.05 0. 0. - 6 16 8 -14.1984 -41.3584 21.5100 90. 161.05 90. 251.05 0. 0. - 6 16 9 -14.1789 -41.3016 17.6000 90. 161.05 90. 251.05 0. 0. - 6 16 10 -14.1984 -41.3584 13.6900 90. 161.05 90. 251.05 0. 0. - 6 16 11 -14.1789 -41.3016 9.7800 90. 161.05 90. 251.05 0. 0. - 6 16 12 -14.1984 -41.3584 5.8700 90. 161.05 90. 251.05 0. 0. - 6 16 13 -14.1789 -41.3016 1.9600 90. 161.05 90. 251.05 0. 0. - 6 16 14 -14.1984 -41.3584 -1.9500 90. 161.05 90. 251.05 0. 0. - 6 16 15 -14.1789 -41.3016 -5.8600 90. 161.05 90. 251.05 0. 0. - 6 16 16 -14.1984 -41.3584 -9.7700 90. 161.05 90. 251.05 0. 0. - 6 16 17 -14.1789 -41.3016 -13.6800 90. 161.05 90. 251.05 0. 0. - 6 16 18 -14.1984 -41.3584 -17.5900 90. 161.05 90. 251.05 0. 0. - 6 16 19 -14.1789 -41.3016 -21.5000 90. 161.05 90. 251.05 0. 0. - 6 16 20 -14.1984 -41.3584 -25.4100 90. 161.05 90. 251.05 0. 0. - 6 16 21 -14.1789 -41.3016 -29.3200 90. 161.05 90. 251.05 0. 0. - 6 16 22 -14.1984 -41.3584 -33.2300 90. 161.05 90. 251.05 0. 0. - 6 16 23 -14.1789 -41.3016 -37.1400 90. 161.05 90. 251.05 0. 0. - 6 16 24 -14.1984 -41.3584 -41.0500 90. 161.05 90. 251.05 0. 0. - 6 16 25 -14.1789 -41.3016 -44.9600 90. 161.05 90. 251.05 0. 0. - 6 16 26 -14.1984 -41.3584 -48.8700 90. 161.05 90. 251.05 0. 0. - 6 17 1 -7.1623 -42.9215 48.8800 90. 170.53 90. 260.53 0. 0. - 6 17 2 -7.1722 -42.9807 44.9700 90. 170.53 90. 260.53 0. 0. - 6 17 3 -7.1623 -42.9215 41.0600 90. 170.53 90. 260.53 0. 0. - 6 17 4 -7.1722 -42.9807 37.1500 90. 170.53 90. 260.53 0. 0. - 6 17 5 -7.1623 -42.9215 33.2400 90. 170.53 90. 260.53 0. 0. - 6 17 6 -7.1722 -42.9807 29.3300 90. 170.53 90. 260.53 0. 0. - 6 17 7 -7.1623 -42.9215 25.4200 90. 170.53 90. 260.53 0. 0. - 6 17 8 -7.1722 -42.9807 21.5100 90. 170.53 90. 260.53 0. 0. - 6 17 9 -7.1623 -42.9215 17.6000 90. 170.53 90. 260.53 0. 0. - 6 17 10 -7.1722 -42.9807 13.6900 90. 170.53 90. 260.53 0. 0. - 6 17 11 -7.1623 -42.9215 9.7800 90. 170.53 90. 260.53 0. 0. - 6 17 12 -7.1722 -42.9807 5.8700 90. 170.53 90. 260.53 0. 0. - 6 17 13 -7.1623 -42.9215 1.9600 90. 170.53 90. 260.53 0. 0. - 6 17 14 -7.1722 -42.9807 -1.9500 90. 170.53 90. 260.53 0. 0. - 6 17 15 -7.1623 -42.9215 -5.8600 90. 170.53 90. 260.53 0. 0. - 6 17 16 -7.1722 -42.9807 -9.7700 90. 170.53 90. 260.53 0. 0. - 6 17 17 -7.1623 -42.9215 -13.6800 90. 170.53 90. 260.53 0. 0. - 6 17 18 -7.1722 -42.9807 -17.5900 90. 170.53 90. 260.53 0. 0. - 6 17 19 -7.1623 -42.9215 -21.5000 90. 170.53 90. 260.53 0. 0. - 6 17 20 -7.1722 -42.9807 -25.4100 90. 170.53 90. 260.53 0. 0. - 6 17 21 -7.1623 -42.9215 -29.3200 90. 170.53 90. 260.53 0. 0. - 6 17 22 -7.1722 -42.9807 -33.2300 90. 170.53 90. 260.53 0. 0. - 6 17 23 -7.1623 -42.9215 -37.1400 90. 170.53 90. 260.53 0. 0. - 6 17 24 -7.1722 -42.9807 -41.0500 90. 170.53 90. 260.53 0. 0. - 6 17 25 -7.1623 -42.9215 -44.9600 90. 170.53 90. 260.53 0. 0. - 6 17 26 -7.1722 -42.9807 -48.8700 90. 170.53 90. 260.53 0. 0. - 6 18 1 0.0000 -43.6677 48.8800 90. 180.00 90. 270.00 0. 0. - 6 18 2 0.0000 -43.7277 44.9700 90. 180.00 90. 270.00 0. 0. - 6 18 3 0.0000 -43.6677 41.0600 90. 180.00 90. 270.00 0. 0. - 6 18 4 0.0000 -43.7277 37.1500 90. 180.00 90. 270.00 0. 0. - 6 18 5 0.0000 -43.6677 33.2400 90. 180.00 90. 270.00 0. 0. - 6 18 6 0.0000 -43.7277 29.3300 90. 180.00 90. 270.00 0. 0. - 6 18 7 0.0000 -43.6677 25.4200 90. 180.00 90. 270.00 0. 0. - 6 18 8 0.0000 -43.7277 21.5100 90. 180.00 90. 270.00 0. 0. - 6 18 9 0.0000 -43.6677 17.6000 90. 180.00 90. 270.00 0. 0. - 6 18 10 0.0000 -43.7277 13.6900 90. 180.00 90. 270.00 0. 0. - 6 18 11 0.0000 -43.6677 9.7800 90. 180.00 90. 270.00 0. 0. - 6 18 12 0.0000 -43.7277 5.8700 90. 180.00 90. 270.00 0. 0. - 6 18 13 0.0000 -43.6677 1.9600 90. 180.00 90. 270.00 0. 0. - 6 18 14 0.0000 -43.7277 -1.9500 90. 180.00 90. 270.00 0. 0. - 6 18 15 0.0000 -43.6677 -5.8600 90. 180.00 90. 270.00 0. 0. - 6 18 16 0.0000 -43.7277 -9.7700 90. 180.00 90. 270.00 0. 0. - 6 18 17 0.0000 -43.6677 -13.6800 90. 180.00 90. 270.00 0. 0. - 6 18 18 0.0000 -43.7277 -17.5900 90. 180.00 90. 270.00 0. 0. - 6 18 19 0.0000 -43.6677 -21.5000 90. 180.00 90. 270.00 0. 0. - 6 18 20 0.0000 -43.7277 -25.4100 90. 180.00 90. 270.00 0. 0. - 6 18 21 0.0000 -43.6677 -29.3200 90. 180.00 90. 270.00 0. 0. - 6 18 22 0.0000 -43.7277 -33.2300 90. 180.00 90. 270.00 0. 0. - 6 18 23 0.0000 -43.6677 -37.1400 90. 180.00 90. 270.00 0. 0. - 6 18 24 0.0000 -43.7277 -41.0500 90. 180.00 90. 270.00 0. 0. - 6 18 25 0.0000 -43.6677 -44.9600 90. 180.00 90. 270.00 0. 0. - 6 18 26 0.0000 -43.7277 -48.8700 90. 180.00 90. 270.00 0. 0. - 6 19 1 7.1623 -42.9215 48.8800 90. 189.47 90. 279.47 0. 0. - 6 19 2 7.1722 -42.9807 44.9700 90. 189.47 90. 279.47 0. 0. - 6 19 3 7.1623 -42.9215 41.0600 90. 189.47 90. 279.47 0. 0. - 6 19 4 7.1722 -42.9807 37.1500 90. 189.47 90. 279.47 0. 0. - 6 19 5 7.1623 -42.9215 33.2400 90. 189.47 90. 279.47 0. 0. - 6 19 6 7.1722 -42.9807 29.3300 90. 189.47 90. 279.47 0. 0. - 6 19 7 7.1623 -42.9215 25.4200 90. 189.47 90. 279.47 0. 0. - 6 19 8 7.1722 -42.9807 21.5100 90. 189.47 90. 279.47 0. 0. - 6 19 9 7.1623 -42.9215 17.6000 90. 189.47 90. 279.47 0. 0. - 6 19 10 7.1722 -42.9807 13.6900 90. 189.47 90. 279.47 0. 0. - 6 19 11 7.1623 -42.9215 9.7800 90. 189.47 90. 279.47 0. 0. - 6 19 12 7.1722 -42.9807 5.8700 90. 189.47 90. 279.47 0. 0. - 6 19 13 7.1623 -42.9215 1.9600 90. 189.47 90. 279.47 0. 0. - 6 19 14 7.1722 -42.9807 -1.9500 90. 189.47 90. 279.47 0. 0. - 6 19 15 7.1623 -42.9215 -5.8600 90. 189.47 90. 279.47 0. 0. - 6 19 16 7.1722 -42.9807 -9.7700 90. 189.47 90. 279.47 0. 0. - 6 19 17 7.1623 -42.9215 -13.6800 90. 189.47 90. 279.47 0. 0. - 6 19 18 7.1722 -42.9807 -17.5900 90. 189.47 90. 279.47 0. 0. - 6 19 19 7.1623 -42.9215 -21.5000 90. 189.47 90. 279.47 0. 0. - 6 19 20 7.1722 -42.9807 -25.4100 90. 189.47 90. 279.47 0. 0. - 6 19 21 7.1623 -42.9215 -29.3200 90. 189.47 90. 279.47 0. 0. - 6 19 22 7.1722 -42.9807 -33.2300 90. 189.47 90. 279.47 0. 0. - 6 19 23 7.1623 -42.9215 -37.1400 90. 189.47 90. 279.47 0. 0. - 6 19 24 7.1722 -42.9807 -41.0500 90. 189.47 90. 279.47 0. 0. - 6 19 25 7.1623 -42.9215 -44.9600 90. 189.47 90. 279.47 0. 0. - 6 19 26 7.1722 -42.9807 -48.8700 90. 189.47 90. 279.47 0. 0. - 6 20 1 14.1789 -41.3016 48.8800 90. 198.95 90. 288.95 0. 0. - 6 20 2 14.1983 -41.3584 44.9700 90. 198.95 90. 288.95 0. 0. - 6 20 3 14.1789 -41.3016 41.0600 90. 198.95 90. 288.95 0. 0. - 6 20 4 14.1983 -41.3584 37.1500 90. 198.95 90. 288.95 0. 0. - 6 20 5 14.1789 -41.3016 33.2400 90. 198.95 90. 288.95 0. 0. - 6 20 6 14.1983 -41.3584 29.3300 90. 198.95 90. 288.95 0. 0. - 6 20 7 14.1789 -41.3016 25.4200 90. 198.95 90. 288.95 0. 0. - 6 20 8 14.1983 -41.3584 21.5100 90. 198.95 90. 288.95 0. 0. - 6 20 9 14.1789 -41.3016 17.6000 90. 198.95 90. 288.95 0. 0. - 6 20 10 14.1983 -41.3584 13.6900 90. 198.95 90. 288.95 0. 0. - 6 20 11 14.1789 -41.3016 9.7800 90. 198.95 90. 288.95 0. 0. - 6 20 12 14.1983 -41.3584 5.8700 90. 198.95 90. 288.95 0. 0. - 6 20 13 14.1789 -41.3016 1.9600 90. 198.95 90. 288.95 0. 0. - 6 20 14 14.1983 -41.3584 -1.9500 90. 198.95 90. 288.95 0. 0. - 6 20 15 14.1789 -41.3016 -5.8600 90. 198.95 90. 288.95 0. 0. - 6 20 16 14.1983 -41.3584 -9.7700 90. 198.95 90. 288.95 0. 0. - 6 20 17 14.1789 -41.3016 -13.6800 90. 198.95 90. 288.95 0. 0. - 6 20 18 14.1983 -41.3584 -17.5900 90. 198.95 90. 288.95 0. 0. - 6 20 19 14.1789 -41.3016 -21.5000 90. 198.95 90. 288.95 0. 0. - 6 20 20 14.1983 -41.3584 -25.4100 90. 198.95 90. 288.95 0. 0. - 6 20 21 14.1789 -41.3016 -29.3200 90. 198.95 90. 288.95 0. 0. - 6 20 22 14.1983 -41.3584 -33.2300 90. 198.95 90. 288.95 0. 0. - 6 20 23 14.1789 -41.3016 -37.1400 90. 198.95 90. 288.95 0. 0. - 6 20 24 14.1983 -41.3584 -41.0500 90. 198.95 90. 288.95 0. 0. - 6 20 25 14.1789 -41.3016 -44.9600 90. 198.95 90. 288.95 0. 0. - 6 20 26 14.1983 -41.3584 -48.8700 90. 198.95 90. 288.95 0. 0. - 6 21 1 20.7108 -38.2703 48.8800 90. 208.42 90. 298.42 0. 0. - 6 21 2 20.7394 -38.3231 44.9700 90. 208.42 90. 298.42 0. 0. - 6 21 3 20.7108 -38.2703 41.0600 90. 208.42 90. 298.42 0. 0. - 6 21 4 20.7394 -38.3231 37.1500 90. 208.42 90. 298.42 0. 0. - 6 21 5 20.7108 -38.2703 33.2400 90. 208.42 90. 298.42 0. 0. - 6 21 6 20.7394 -38.3231 29.3300 90. 208.42 90. 298.42 0. 0. - 6 21 7 20.7108 -38.2703 25.4200 90. 208.42 90. 298.42 0. 0. - 6 21 8 20.7394 -38.3231 21.5100 90. 208.42 90. 298.42 0. 0. - 6 21 9 20.7108 -38.2703 17.6000 90. 208.42 90. 298.42 0. 0. - 6 21 10 20.7394 -38.3231 13.6900 90. 208.42 90. 298.42 0. 0. - 6 21 11 20.7108 -38.2703 9.7800 90. 208.42 90. 298.42 0. 0. - 6 21 12 20.7394 -38.3231 5.8700 90. 208.42 90. 298.42 0. 0. - 6 21 13 20.7108 -38.2703 1.9600 90. 208.42 90. 298.42 0. 0. - 6 21 14 20.7394 -38.3231 -1.9500 90. 208.42 90. 298.42 0. 0. - 6 21 15 20.7108 -38.2703 -5.8600 90. 208.42 90. 298.42 0. 0. - 6 21 16 20.7394 -38.3231 -9.7700 90. 208.42 90. 298.42 0. 0. - 6 21 17 20.7108 -38.2703 -13.6800 90. 208.42 90. 298.42 0. 0. - 6 21 18 20.7394 -38.3231 -17.5900 90. 208.42 90. 298.42 0. 0. - 6 21 19 20.7108 -38.2703 -21.5000 90. 208.42 90. 298.42 0. 0. - 6 21 20 20.7394 -38.3231 -25.4100 90. 208.42 90. 298.42 0. 0. - 6 21 21 20.7108 -38.2703 -29.3200 90. 208.42 90. 298.42 0. 0. - 6 21 22 20.7394 -38.3231 -33.2300 90. 208.42 90. 298.42 0. 0. - 6 21 23 20.7108 -38.2703 -37.1400 90. 208.42 90. 298.42 0. 0. - 6 21 24 20.7394 -38.3231 -41.0500 90. 208.42 90. 298.42 0. 0. - 6 21 25 20.7108 -38.2703 -44.9600 90. 208.42 90. 298.42 0. 0. - 6 21 26 20.7394 -38.3231 -48.8700 90. 208.42 90. 298.42 0. 0. - 6 22 1 26.8213 -34.4599 48.8800 90. 217.89 90. 307.89 0. 0. - 6 22 2 26.8581 -34.5073 44.9700 90. 217.89 90. 307.89 0. 0. - 6 22 3 26.8213 -34.4599 41.0600 90. 217.89 90. 307.89 0. 0. - 6 22 4 26.8581 -34.5073 37.1500 90. 217.89 90. 307.89 0. 0. - 6 22 5 26.8213 -34.4599 33.2400 90. 217.89 90. 307.89 0. 0. - 6 22 6 26.8581 -34.5073 29.3300 90. 217.89 90. 307.89 0. 0. - 6 22 7 26.8213 -34.4599 25.4200 90. 217.89 90. 307.89 0. 0. - 6 22 8 26.8581 -34.5073 21.5100 90. 217.89 90. 307.89 0. 0. - 6 22 9 26.8213 -34.4599 17.6000 90. 217.89 90. 307.89 0. 0. - 6 22 10 26.8581 -34.5073 13.6900 90. 217.89 90. 307.89 0. 0. - 6 22 11 26.8213 -34.4599 9.7800 90. 217.89 90. 307.89 0. 0. - 6 22 12 26.8581 -34.5073 5.8700 90. 217.89 90. 307.89 0. 0. - 6 22 13 26.8213 -34.4599 1.9600 90. 217.89 90. 307.89 0. 0. - 6 22 14 26.8581 -34.5073 -1.9500 90. 217.89 90. 307.89 0. 0. - 6 22 15 26.8213 -34.4599 -5.8600 90. 217.89 90. 307.89 0. 0. - 6 22 16 26.8581 -34.5073 -9.7700 90. 217.89 90. 307.89 0. 0. - 6 22 17 26.8213 -34.4599 -13.6800 90. 217.89 90. 307.89 0. 0. - 6 22 18 26.8581 -34.5073 -17.5900 90. 217.89 90. 307.89 0. 0. - 6 22 19 26.8213 -34.4599 -21.5000 90. 217.89 90. 307.89 0. 0. - 6 22 20 26.8581 -34.5073 -25.4100 90. 217.89 90. 307.89 0. 0. - 6 22 21 26.8213 -34.4599 -29.3200 90. 217.89 90. 307.89 0. 0. - 6 22 22 26.8581 -34.5073 -33.2300 90. 217.89 90. 307.89 0. 0. - 6 22 23 26.8213 -34.4599 -37.1400 90. 217.89 90. 307.89 0. 0. - 6 22 24 26.8581 -34.5073 -41.0500 90. 217.89 90. 307.89 0. 0. - 6 22 25 26.8213 -34.4599 -44.9600 90. 217.89 90. 307.89 0. 0. - 6 22 26 26.8581 -34.5073 -48.8700 90. 217.89 90. 307.89 0. 0. - 6 23 1 32.0150 -29.4719 48.8800 90. 227.37 90. 317.37 0. 0. - 6 23 2 32.0592 -29.5125 44.9700 90. 227.37 90. 317.37 0. 0. - 6 23 3 32.0150 -29.4719 41.0600 90. 227.37 90. 317.37 0. 0. - 6 23 4 32.0592 -29.5125 37.1500 90. 227.37 90. 317.37 0. 0. - 6 23 5 32.0150 -29.4719 33.2400 90. 227.37 90. 317.37 0. 0. - 6 23 6 32.0592 -29.5125 29.3300 90. 227.37 90. 317.37 0. 0. - 6 23 7 32.0150 -29.4719 25.4200 90. 227.37 90. 317.37 0. 0. - 6 23 8 32.0592 -29.5125 21.5100 90. 227.37 90. 317.37 0. 0. - 6 23 9 32.0150 -29.4719 17.6000 90. 227.37 90. 317.37 0. 0. - 6 23 10 32.0592 -29.5125 13.6900 90. 227.37 90. 317.37 0. 0. - 6 23 11 32.0150 -29.4719 9.7800 90. 227.37 90. 317.37 0. 0. - 6 23 12 32.0592 -29.5125 5.8700 90. 227.37 90. 317.37 0. 0. - 6 23 13 32.0150 -29.4719 1.9600 90. 227.37 90. 317.37 0. 0. - 6 23 14 32.0592 -29.5125 -1.9500 90. 227.37 90. 317.37 0. 0. - 6 23 15 32.0150 -29.4719 -5.8600 90. 227.37 90. 317.37 0. 0. - 6 23 16 32.0592 -29.5125 -9.7700 90. 227.37 90. 317.37 0. 0. - 6 23 17 32.0150 -29.4719 -13.6800 90. 227.37 90. 317.37 0. 0. - 6 23 18 32.0592 -29.5125 -17.5900 90. 227.37 90. 317.37 0. 0. - 6 23 19 32.0150 -29.4719 -21.5000 90. 227.37 90. 317.37 0. 0. - 6 23 20 32.0592 -29.5125 -25.4100 90. 227.37 90. 317.37 0. 0. - 6 23 21 32.0150 -29.4719 -29.3200 90. 227.37 90. 317.37 0. 0. - 6 23 22 32.0592 -29.5125 -33.2300 90. 227.37 90. 317.37 0. 0. - 6 23 23 32.0150 -29.4719 -37.1400 90. 227.37 90. 317.37 0. 0. - 6 23 24 32.0592 -29.5125 -41.0500 90. 227.37 90. 317.37 0. 0. - 6 23 25 32.0150 -29.4719 -44.9600 90. 227.37 90. 317.37 0. 0. - 6 23 26 32.0592 -29.5125 -48.8700 90. 227.37 90. 317.37 0. 0. - 6 24 1 36.5571 -23.8840 48.8800 90. 236.84 90. 326.84 0. 0. - 6 24 2 36.6073 -23.9168 44.9700 90. 236.84 90. 326.84 0. 0. - 6 24 3 36.5571 -23.8840 41.0600 90. 236.84 90. 326.84 0. 0. - 6 24 4 36.6073 -23.9168 37.1500 90. 236.84 90. 326.84 0. 0. - 6 24 5 36.5571 -23.8840 33.2400 90. 236.84 90. 326.84 0. 0. - 6 24 6 36.6073 -23.9168 29.3300 90. 236.84 90. 326.84 0. 0. - 6 24 7 36.5571 -23.8840 25.4200 90. 236.84 90. 326.84 0. 0. - 6 24 8 36.6073 -23.9168 21.5100 90. 236.84 90. 326.84 0. 0. - 6 24 9 36.5571 -23.8840 17.6000 90. 236.84 90. 326.84 0. 0. - 6 24 10 36.6073 -23.9168 13.6900 90. 236.84 90. 326.84 0. 0. - 6 24 11 36.5571 -23.8840 9.7800 90. 236.84 90. 326.84 0. 0. - 6 24 12 36.6073 -23.9168 5.8700 90. 236.84 90. 326.84 0. 0. - 6 24 13 36.5571 -23.8840 1.9600 90. 236.84 90. 326.84 0. 0. - 6 24 14 36.6073 -23.9168 -1.9500 90. 236.84 90. 326.84 0. 0. - 6 24 15 36.5571 -23.8840 -5.8600 90. 236.84 90. 326.84 0. 0. - 6 24 16 36.6073 -23.9168 -9.7700 90. 236.84 90. 326.84 0. 0. - 6 24 17 36.5571 -23.8840 -13.6800 90. 236.84 90. 326.84 0. 0. - 6 24 18 36.6073 -23.9168 -17.5900 90. 236.84 90. 326.84 0. 0. - 6 24 19 36.5571 -23.8840 -21.5000 90. 236.84 90. 326.84 0. 0. - 6 24 20 36.6073 -23.9168 -25.4100 90. 236.84 90. 326.84 0. 0. - 6 24 21 36.5571 -23.8840 -29.3200 90. 236.84 90. 326.84 0. 0. - 6 24 22 36.6073 -23.9168 -33.2300 90. 236.84 90. 326.84 0. 0. - 6 24 23 36.5571 -23.8840 -37.1400 90. 236.84 90. 326.84 0. 0. - 6 24 24 36.6073 -23.9168 -41.0500 90. 236.84 90. 326.84 0. 0. - 6 24 25 36.5571 -23.8840 -44.9600 90. 236.84 90. 326.84 0. 0. - 6 24 26 36.6073 -23.9168 -48.8700 90. 236.84 90. 326.84 0. 0. - 6 25 1 39.8498 -17.4798 48.8800 90. 246.32 90. 336.32 0. 0. - 6 25 2 39.9048 -17.5039 44.9700 90. 246.32 90. 336.32 0. 0. - 6 25 3 39.8498 -17.4798 41.0600 90. 246.32 90. 336.32 0. 0. - 6 25 4 39.9048 -17.5039 37.1500 90. 246.32 90. 336.32 0. 0. - 6 25 5 39.8498 -17.4798 33.2400 90. 246.32 90. 336.32 0. 0. - 6 25 6 39.9048 -17.5039 29.3300 90. 246.32 90. 336.32 0. 0. - 6 25 7 39.8498 -17.4798 25.4200 90. 246.32 90. 336.32 0. 0. - 6 25 8 39.9048 -17.5039 21.5100 90. 246.32 90. 336.32 0. 0. - 6 25 9 39.8498 -17.4798 17.6000 90. 246.32 90. 336.32 0. 0. - 6 25 10 39.9048 -17.5039 13.6900 90. 246.32 90. 336.32 0. 0. - 6 25 11 39.8498 -17.4798 9.7800 90. 246.32 90. 336.32 0. 0. - 6 25 12 39.9048 -17.5039 5.8700 90. 246.32 90. 336.32 0. 0. - 6 25 13 39.8498 -17.4798 1.9600 90. 246.32 90. 336.32 0. 0. - 6 25 14 39.9048 -17.5039 -1.9500 90. 246.32 90. 336.32 0. 0. - 6 25 15 39.8498 -17.4798 -5.8600 90. 246.32 90. 336.32 0. 0. - 6 25 16 39.9048 -17.5039 -9.7700 90. 246.32 90. 336.32 0. 0. - 6 25 17 39.8498 -17.4798 -13.6800 90. 246.32 90. 336.32 0. 0. - 6 25 18 39.9048 -17.5039 -17.5900 90. 246.32 90. 336.32 0. 0. - 6 25 19 39.8498 -17.4798 -21.5000 90. 246.32 90. 336.32 0. 0. - 6 25 20 39.9048 -17.5039 -25.4100 90. 246.32 90. 336.32 0. 0. - 6 25 21 39.8498 -17.4798 -29.3200 90. 246.32 90. 336.32 0. 0. - 6 25 22 39.9048 -17.5039 -33.2300 90. 246.32 90. 336.32 0. 0. - 6 25 23 39.8498 -17.4798 -37.1400 90. 246.32 90. 336.32 0. 0. - 6 25 24 39.9048 -17.5039 -41.0500 90. 246.32 90. 336.32 0. 0. - 6 25 25 39.8498 -17.4798 -44.9600 90. 246.32 90. 336.32 0. 0. - 6 25 26 39.9048 -17.5039 -48.8700 90. 246.32 90. 336.32 0. 0. - 6 26 1 42.3315 -10.7198 48.8800 90. 255.79 90. 345.79 0. 0. - 6 26 2 42.3897 -10.7345 44.9700 90. 255.79 90. 345.79 0. 0. - 6 26 3 42.3315 -10.7198 41.0600 90. 255.79 90. 345.79 0. 0. - 6 26 4 42.3897 -10.7345 37.1500 90. 255.79 90. 345.79 0. 0. - 6 26 5 42.3315 -10.7198 33.2400 90. 255.79 90. 345.79 0. 0. - 6 26 6 42.3897 -10.7345 29.3300 90. 255.79 90. 345.79 0. 0. - 6 26 7 42.3315 -10.7198 25.4200 90. 255.79 90. 345.79 0. 0. - 6 26 8 42.3897 -10.7345 21.5100 90. 255.79 90. 345.79 0. 0. - 6 26 9 42.3315 -10.7198 17.6000 90. 255.79 90. 345.79 0. 0. - 6 26 10 42.3897 -10.7345 13.6900 90. 255.79 90. 345.79 0. 0. - 6 26 11 42.3315 -10.7198 9.7800 90. 255.79 90. 345.79 0. 0. - 6 26 12 42.3897 -10.7345 5.8700 90. 255.79 90. 345.79 0. 0. - 6 26 13 42.3315 -10.7198 1.9600 90. 255.79 90. 345.79 0. 0. - 6 26 14 42.3897 -10.7345 -1.9500 90. 255.79 90. 345.79 0. 0. - 6 26 15 42.3315 -10.7198 -5.8600 90. 255.79 90. 345.79 0. 0. - 6 26 16 42.3897 -10.7345 -9.7700 90. 255.79 90. 345.79 0. 0. - 6 26 17 42.3315 -10.7198 -13.6800 90. 255.79 90. 345.79 0. 0. - 6 26 18 42.3897 -10.7345 -17.5900 90. 255.79 90. 345.79 0. 0. - 6 26 19 42.3315 -10.7198 -21.5000 90. 255.79 90. 345.79 0. 0. - 6 26 20 42.3897 -10.7345 -25.4100 90. 255.79 90. 345.79 0. 0. - 6 26 21 42.3315 -10.7198 -29.3200 90. 255.79 90. 345.79 0. 0. - 6 26 22 42.3897 -10.7345 -33.2300 90. 255.79 90. 345.79 0. 0. - 6 26 23 42.3315 -10.7198 -37.1400 90. 255.79 90. 345.79 0. 0. - 6 26 24 42.3897 -10.7345 -41.0500 90. 255.79 90. 345.79 0. 0. - 6 26 25 42.3315 -10.7198 -44.9600 90. 255.79 90. 345.79 0. 0. - 6 26 26 42.3897 -10.7345 -48.8700 90. 255.79 90. 345.79 0. 0. - 6 27 1 43.3664 -3.5934 48.8800 90. 265.26 90. 355.26 0. 0. - 6 27 2 43.4262 -3.5984 44.9700 90. 265.26 90. 355.26 0. 0. - 6 27 3 43.3664 -3.5934 41.0600 90. 265.26 90. 355.26 0. 0. - 6 27 4 43.4262 -3.5984 37.1500 90. 265.26 90. 355.26 0. 0. - 6 27 5 43.3664 -3.5934 33.2400 90. 265.26 90. 355.26 0. 0. - 6 27 6 43.4262 -3.5984 29.3300 90. 265.26 90. 355.26 0. 0. - 6 27 7 43.3664 -3.5934 25.4200 90. 265.26 90. 355.26 0. 0. - 6 27 8 43.4262 -3.5984 21.5100 90. 265.26 90. 355.26 0. 0. - 6 27 9 43.3664 -3.5934 17.6000 90. 265.26 90. 355.26 0. 0. - 6 27 10 43.4262 -3.5984 13.6900 90. 265.26 90. 355.26 0. 0. - 6 27 11 43.3664 -3.5934 9.7800 90. 265.26 90. 355.26 0. 0. - 6 27 12 43.4262 -3.5984 5.8700 90. 265.26 90. 355.26 0. 0. - 6 27 13 43.3664 -3.5934 1.9600 90. 265.26 90. 355.26 0. 0. - 6 27 14 43.4262 -3.5984 -1.9500 90. 265.26 90. 355.26 0. 0. - 6 27 15 43.3664 -3.5934 -5.8600 90. 265.26 90. 355.26 0. 0. - 6 27 16 43.4262 -3.5984 -9.7700 90. 265.26 90. 355.26 0. 0. - 6 27 17 43.3664 -3.5934 -13.6800 90. 265.26 90. 355.26 0. 0. - 6 27 18 43.4262 -3.5984 -17.5900 90. 265.26 90. 355.26 0. 0. - 6 27 19 43.3664 -3.5934 -21.5000 90. 265.26 90. 355.26 0. 0. - 6 27 20 43.4262 -3.5984 -25.4100 90. 265.26 90. 355.26 0. 0. - 6 27 21 43.3664 -3.5934 -29.3200 90. 265.26 90. 355.26 0. 0. - 6 27 22 43.4262 -3.5984 -33.2300 90. 265.26 90. 355.26 0. 0. - 6 27 23 43.3664 -3.5934 -37.1400 90. 265.26 90. 355.26 0. 0. - 6 27 24 43.4262 -3.5984 -41.0500 90. 265.26 90. 355.26 0. 0. - 6 27 25 43.3664 -3.5934 -44.9600 90. 265.26 90. 355.26 0. 0. - 6 27 26 43.4262 -3.5984 -48.8700 90. 265.26 90. 355.26 0. 0. - 6 28 1 43.5185 3.6060 48.8800 90. 274.74 90. 4.74 0. 0. - 6 28 2 43.5783 3.6110 44.9700 90. 274.74 90. 4.74 0. 0. - 6 28 3 43.5185 3.6060 41.0600 90. 274.74 90. 4.74 0. 0. - 6 28 4 43.5783 3.6110 37.1500 90. 274.74 90. 4.74 0. 0. - 6 28 5 43.5185 3.6060 33.2400 90. 274.74 90. 4.74 0. 0. - 6 28 6 43.5783 3.6110 29.3300 90. 274.74 90. 4.74 0. 0. - 6 28 7 43.5185 3.6060 25.4200 90. 274.74 90. 4.74 0. 0. - 6 28 8 43.5783 3.6110 21.5100 90. 274.74 90. 4.74 0. 0. - 6 28 9 43.5185 3.6060 17.6000 90. 274.74 90. 4.74 0. 0. - 6 28 10 43.5783 3.6110 13.6900 90. 274.74 90. 4.74 0. 0. - 6 28 11 43.5185 3.6060 9.7800 90. 274.74 90. 4.74 0. 0. - 6 28 12 43.5783 3.6110 5.8700 90. 274.74 90. 4.74 0. 0. - 6 28 13 43.5185 3.6060 1.9600 90. 274.74 90. 4.74 0. 0. - 6 28 14 43.5783 3.6110 -1.9500 90. 274.74 90. 4.74 0. 0. - 6 28 15 43.5185 3.6060 -5.8600 90. 274.74 90. 4.74 0. 0. - 6 28 16 43.5783 3.6110 -9.7700 90. 274.74 90. 4.74 0. 0. - 6 28 17 43.5185 3.6060 -13.6800 90. 274.74 90. 4.74 0. 0. - 6 28 18 43.5783 3.6110 -17.5900 90. 274.74 90. 4.74 0. 0. - 6 28 19 43.5185 3.6060 -21.5000 90. 274.74 90. 4.74 0. 0. - 6 28 20 43.5783 3.6110 -25.4100 90. 274.74 90. 4.74 0. 0. - 6 28 21 43.5185 3.6060 -29.3200 90. 274.74 90. 4.74 0. 0. - 6 28 22 43.5783 3.6110 -33.2300 90. 274.74 90. 4.74 0. 0. - 6 28 23 43.5185 3.6060 -37.1400 90. 274.74 90. 4.74 0. 0. - 6 28 24 43.5783 3.6110 -41.0500 90. 274.74 90. 4.74 0. 0. - 6 28 25 43.5185 3.6060 -44.9600 90. 274.74 90. 4.74 0. 0. - 6 28 26 43.5783 3.6110 -48.8700 90. 274.74 90. 4.74 0. 0. - 6 29 1 42.1834 10.6823 48.8800 90. 284.21 90. 14.21 0. 0. - 6 29 2 42.2416 10.6970 44.9700 90. 284.21 90. 14.21 0. 0. - 6 29 3 42.1834 10.6823 41.0600 90. 284.21 90. 14.21 0. 0. - 6 29 4 42.2416 10.6970 37.1500 90. 284.21 90. 14.21 0. 0. - 6 29 5 42.1834 10.6823 33.2400 90. 284.21 90. 14.21 0. 0. - 6 29 6 42.2416 10.6970 29.3300 90. 284.21 90. 14.21 0. 0. - 6 29 7 42.1834 10.6823 25.4200 90. 284.21 90. 14.21 0. 0. - 6 29 8 42.2416 10.6970 21.5100 90. 284.21 90. 14.21 0. 0. - 6 29 9 42.1834 10.6823 17.6000 90. 284.21 90. 14.21 0. 0. - 6 29 10 42.2416 10.6970 13.6900 90. 284.21 90. 14.21 0. 0. - 6 29 11 42.1834 10.6823 9.7800 90. 284.21 90. 14.21 0. 0. - 6 29 12 42.2416 10.6970 5.8700 90. 284.21 90. 14.21 0. 0. - 6 29 13 42.1834 10.6823 1.9600 90. 284.21 90. 14.21 0. 0. - 6 29 14 42.2416 10.6970 -1.9500 90. 284.21 90. 14.21 0. 0. - 6 29 15 42.1834 10.6823 -5.8600 90. 284.21 90. 14.21 0. 0. - 6 29 16 42.2416 10.6970 -9.7700 90. 284.21 90. 14.21 0. 0. - 6 29 17 42.1834 10.6823 -13.6800 90. 284.21 90. 14.21 0. 0. - 6 29 18 42.2416 10.6970 -17.5900 90. 284.21 90. 14.21 0. 0. - 6 29 19 42.1834 10.6823 -21.5000 90. 284.21 90. 14.21 0. 0. - 6 29 20 42.2416 10.6970 -25.4100 90. 284.21 90. 14.21 0. 0. - 6 29 21 42.1834 10.6823 -29.3200 90. 284.21 90. 14.21 0. 0. - 6 29 22 42.2416 10.6970 -33.2300 90. 284.21 90. 14.21 0. 0. - 6 29 23 42.1834 10.6823 -37.1400 90. 284.21 90. 14.21 0. 0. - 6 29 24 42.2416 10.6970 -41.0500 90. 284.21 90. 14.21 0. 0. - 6 29 25 42.1834 10.6823 -44.9600 90. 284.21 90. 14.21 0. 0. - 6 29 26 42.2416 10.6970 -48.8700 90. 284.21 90. 14.21 0. 0. - 6 30 1 39.9897 17.5411 48.8800 90. 293.68 90. 23.68 0. 0. - 6 30 2 40.0447 17.5652 44.9700 90. 293.68 90. 23.68 0. 0. - 6 30 3 39.9897 17.5411 41.0600 90. 293.68 90. 23.68 0. 0. - 6 30 4 40.0447 17.5652 37.1500 90. 293.68 90. 23.68 0. 0. - 6 30 5 39.9897 17.5411 33.2400 90. 293.68 90. 23.68 0. 0. - 6 30 6 40.0447 17.5652 29.3300 90. 293.68 90. 23.68 0. 0. - 6 30 7 39.9897 17.5411 25.4200 90. 293.68 90. 23.68 0. 0. - 6 30 8 40.0447 17.5652 21.5100 90. 293.68 90. 23.68 0. 0. - 6 30 9 39.9897 17.5411 17.6000 90. 293.68 90. 23.68 0. 0. - 6 30 10 40.0447 17.5652 13.6900 90. 293.68 90. 23.68 0. 0. - 6 30 11 39.9897 17.5411 9.7800 90. 293.68 90. 23.68 0. 0. - 6 30 12 40.0447 17.5652 5.8700 90. 293.68 90. 23.68 0. 0. - 6 30 13 39.9897 17.5411 1.9600 90. 293.68 90. 23.68 0. 0. - 6 30 14 40.0447 17.5652 -1.9500 90. 293.68 90. 23.68 0. 0. - 6 30 15 39.9897 17.5411 -5.8600 90. 293.68 90. 23.68 0. 0. - 6 30 16 40.0447 17.5652 -9.7700 90. 293.68 90. 23.68 0. 0. - 6 30 17 39.9897 17.5411 -13.6800 90. 293.68 90. 23.68 0. 0. - 6 30 18 40.0447 17.5652 -17.5900 90. 293.68 90. 23.68 0. 0. - 6 30 19 39.9897 17.5411 -21.5000 90. 293.68 90. 23.68 0. 0. - 6 30 20 40.0447 17.5652 -25.4100 90. 293.68 90. 23.68 0. 0. - 6 30 21 39.9897 17.5411 -29.3200 90. 293.68 90. 23.68 0. 0. - 6 30 22 40.0447 17.5652 -33.2300 90. 293.68 90. 23.68 0. 0. - 6 30 23 39.9897 17.5411 -37.1400 90. 293.68 90. 23.68 0. 0. - 6 30 24 40.0447 17.5652 -41.0500 90. 293.68 90. 23.68 0. 0. - 6 30 25 39.9897 17.5411 -44.9600 90. 293.68 90. 23.68 0. 0. - 6 30 26 40.0447 17.5652 -48.8700 90. 293.68 90. 23.68 0. 0. - 6 31 1 36.4293 23.8005 48.8800 90. 303.16 90. 33.16 0. 0. - 6 31 2 36.4795 23.8333 44.9700 90. 303.16 90. 33.16 0. 0. - 6 31 3 36.4293 23.8005 41.0600 90. 303.16 90. 33.16 0. 0. - 6 31 4 36.4795 23.8333 37.1500 90. 303.16 90. 33.16 0. 0. - 6 31 5 36.4293 23.8005 33.2400 90. 303.16 90. 33.16 0. 0. - 6 31 6 36.4795 23.8333 29.3300 90. 303.16 90. 33.16 0. 0. - 6 31 7 36.4293 23.8005 25.4200 90. 303.16 90. 33.16 0. 0. - 6 31 8 36.4795 23.8333 21.5100 90. 303.16 90. 33.16 0. 0. - 6 31 9 36.4293 23.8005 17.6000 90. 303.16 90. 33.16 0. 0. - 6 31 10 36.4795 23.8333 13.6900 90. 303.16 90. 33.16 0. 0. - 6 31 11 36.4293 23.8005 9.7800 90. 303.16 90. 33.16 0. 0. - 6 31 12 36.4795 23.8333 5.8700 90. 303.16 90. 33.16 0. 0. - 6 31 13 36.4293 23.8005 1.9600 90. 303.16 90. 33.16 0. 0. - 6 31 14 36.4795 23.8333 -1.9500 90. 303.16 90. 33.16 0. 0. - 6 31 15 36.4293 23.8005 -5.8600 90. 303.16 90. 33.16 0. 0. - 6 31 16 36.4795 23.8333 -9.7700 90. 303.16 90. 33.16 0. 0. - 6 31 17 36.4293 23.8005 -13.6800 90. 303.16 90. 33.16 0. 0. - 6 31 18 36.4795 23.8333 -17.5900 90. 303.16 90. 33.16 0. 0. - 6 31 19 36.4293 23.8005 -21.5000 90. 303.16 90. 33.16 0. 0. - 6 31 20 36.4795 23.8333 -25.4100 90. 303.16 90. 33.16 0. 0. - 6 31 21 36.4293 23.8005 -29.3200 90. 303.16 90. 33.16 0. 0. - 6 31 22 36.4795 23.8333 -33.2300 90. 303.16 90. 33.16 0. 0. - 6 31 23 36.4293 23.8005 -37.1400 90. 303.16 90. 33.16 0. 0. - 6 31 24 36.4795 23.8333 -41.0500 90. 303.16 90. 33.16 0. 0. - 6 31 25 36.4293 23.8005 -44.9600 90. 303.16 90. 33.16 0. 0. - 6 31 26 36.4795 23.8333 -48.8700 90. 303.16 90. 33.16 0. 0. - 6 32 1 32.1273 29.5753 48.8800 90. 312.63 90. 42.63 0. 0. - 6 32 2 32.1715 29.6159 44.9700 90. 312.63 90. 42.63 0. 0. - 6 32 3 32.1273 29.5753 41.0600 90. 312.63 90. 42.63 0. 0. - 6 32 4 32.1715 29.6159 37.1500 90. 312.63 90. 42.63 0. 0. - 6 32 5 32.1273 29.5753 33.2400 90. 312.63 90. 42.63 0. 0. - 6 32 6 32.1715 29.6159 29.3300 90. 312.63 90. 42.63 0. 0. - 6 32 7 32.1273 29.5753 25.4200 90. 312.63 90. 42.63 0. 0. - 6 32 8 32.1715 29.6159 21.5100 90. 312.63 90. 42.63 0. 0. - 6 32 9 32.1273 29.5753 17.6000 90. 312.63 90. 42.63 0. 0. - 6 32 10 32.1715 29.6159 13.6900 90. 312.63 90. 42.63 0. 0. - 6 32 11 32.1273 29.5753 9.7800 90. 312.63 90. 42.63 0. 0. - 6 32 12 32.1715 29.6159 5.8700 90. 312.63 90. 42.63 0. 0. - 6 32 13 32.1273 29.5753 1.9600 90. 312.63 90. 42.63 0. 0. - 6 32 14 32.1715 29.6159 -1.9500 90. 312.63 90. 42.63 0. 0. - 6 32 15 32.1273 29.5753 -5.8600 90. 312.63 90. 42.63 0. 0. - 6 32 16 32.1715 29.6159 -9.7700 90. 312.63 90. 42.63 0. 0. - 6 32 17 32.1273 29.5753 -13.6800 90. 312.63 90. 42.63 0. 0. - 6 32 18 32.1715 29.6159 -17.5900 90. 312.63 90. 42.63 0. 0. - 6 32 19 32.1273 29.5753 -21.5000 90. 312.63 90. 42.63 0. 0. - 6 32 20 32.1715 29.6159 -25.4100 90. 312.63 90. 42.63 0. 0. - 6 32 21 32.1273 29.5753 -29.3200 90. 312.63 90. 42.63 0. 0. - 6 32 22 32.1715 29.6159 -33.2300 90. 312.63 90. 42.63 0. 0. - 6 32 23 32.1273 29.5753 -37.1400 90. 312.63 90. 42.63 0. 0. - 6 32 24 32.1715 29.6159 -41.0500 90. 312.63 90. 42.63 0. 0. - 6 32 25 32.1273 29.5753 -44.9600 90. 312.63 90. 42.63 0. 0. - 6 32 26 32.1715 29.6159 -48.8700 90. 312.63 90. 42.63 0. 0. - 6 33 1 26.7275 34.3394 48.8800 90. 322.11 90. 52.11 0. 0. - 6 33 2 26.7643 34.3868 44.9700 90. 322.11 90. 52.11 0. 0. - 6 33 3 26.7275 34.3394 41.0600 90. 322.11 90. 52.11 0. 0. - 6 33 4 26.7643 34.3868 37.1500 90. 322.11 90. 52.11 0. 0. - 6 33 5 26.7275 34.3394 33.2400 90. 322.11 90. 52.11 0. 0. - 6 33 6 26.7643 34.3868 29.3300 90. 322.11 90. 52.11 0. 0. - 6 33 7 26.7275 34.3394 25.4200 90. 322.11 90. 52.11 0. 0. - 6 33 8 26.7643 34.3868 21.5100 90. 322.11 90. 52.11 0. 0. - 6 33 9 26.7275 34.3394 17.6000 90. 322.11 90. 52.11 0. 0. - 6 33 10 26.7643 34.3868 13.6900 90. 322.11 90. 52.11 0. 0. - 6 33 11 26.7275 34.3394 9.7800 90. 322.11 90. 52.11 0. 0. - 6 33 12 26.7643 34.3868 5.8700 90. 322.11 90. 52.11 0. 0. - 6 33 13 26.7275 34.3394 1.9600 90. 322.11 90. 52.11 0. 0. - 6 33 14 26.7643 34.3868 -1.9500 90. 322.11 90. 52.11 0. 0. - 6 33 15 26.7275 34.3394 -5.8600 90. 322.11 90. 52.11 0. 0. - 6 33 16 26.7643 34.3868 -9.7700 90. 322.11 90. 52.11 0. 0. - 6 33 17 26.7275 34.3394 -13.6800 90. 322.11 90. 52.11 0. 0. - 6 33 18 26.7643 34.3868 -17.5900 90. 322.11 90. 52.11 0. 0. - 6 33 19 26.7275 34.3394 -21.5000 90. 322.11 90. 52.11 0. 0. - 6 33 20 26.7643 34.3868 -25.4100 90. 322.11 90. 52.11 0. 0. - 6 33 21 26.7275 34.3394 -29.3200 90. 322.11 90. 52.11 0. 0. - 6 33 22 26.7643 34.3868 -33.2300 90. 322.11 90. 52.11 0. 0. - 6 33 23 26.7275 34.3394 -37.1400 90. 322.11 90. 52.11 0. 0. - 6 33 24 26.7643 34.3868 -41.0500 90. 322.11 90. 52.11 0. 0. - 6 33 25 26.7275 34.3394 -44.9600 90. 322.11 90. 52.11 0. 0. - 6 33 26 26.7643 34.3868 -48.8700 90. 322.11 90. 52.11 0. 0. - 6 34 1 20.7835 38.4046 48.8800 90. 331.58 90. 61.58 0. 0. - 6 34 2 20.8121 38.4574 44.9700 90. 331.58 90. 61.58 0. 0. - 6 34 3 20.7835 38.4046 41.0600 90. 331.58 90. 61.58 0. 0. - 6 34 4 20.8121 38.4574 37.1500 90. 331.58 90. 61.58 0. 0. - 6 34 5 20.7835 38.4046 33.2400 90. 331.58 90. 61.58 0. 0. - 6 34 6 20.8121 38.4574 29.3300 90. 331.58 90. 61.58 0. 0. - 6 34 7 20.7835 38.4046 25.4200 90. 331.58 90. 61.58 0. 0. - 6 34 8 20.8121 38.4574 21.5100 90. 331.58 90. 61.58 0. 0. - 6 34 9 20.7835 38.4046 17.6000 90. 331.58 90. 61.58 0. 0. - 6 34 10 20.8121 38.4574 13.6900 90. 331.58 90. 61.58 0. 0. - 6 34 11 20.7835 38.4046 9.7800 90. 331.58 90. 61.58 0. 0. - 6 34 12 20.8121 38.4574 5.8700 90. 331.58 90. 61.58 0. 0. - 6 34 13 20.7835 38.4046 1.9600 90. 331.58 90. 61.58 0. 0. - 6 34 14 20.8121 38.4574 -1.9500 90. 331.58 90. 61.58 0. 0. - 6 34 15 20.7835 38.4046 -5.8600 90. 331.58 90. 61.58 0. 0. - 6 34 16 20.8121 38.4574 -9.7700 90. 331.58 90. 61.58 0. 0. - 6 34 17 20.7835 38.4046 -13.6800 90. 331.58 90. 61.58 0. 0. - 6 34 18 20.8121 38.4574 -17.5900 90. 331.58 90. 61.58 0. 0. - 6 34 19 20.7835 38.4046 -21.5000 90. 331.58 90. 61.58 0. 0. - 6 34 20 20.8121 38.4574 -25.4100 90. 331.58 90. 61.58 0. 0. - 6 34 21 20.7835 38.4046 -29.3200 90. 331.58 90. 61.58 0. 0. - 6 34 22 20.8121 38.4574 -33.2300 90. 331.58 90. 61.58 0. 0. - 6 34 23 20.7835 38.4046 -37.1400 90. 331.58 90. 61.58 0. 0. - 6 34 24 20.8121 38.4574 -41.0500 90. 331.58 90. 61.58 0. 0. - 6 34 25 20.7835 38.4046 -44.9600 90. 331.58 90. 61.58 0. 0. - 6 34 26 20.8121 38.4574 -48.8700 90. 331.58 90. 61.58 0. 0. - 6 35 1 14.1293 41.1572 48.8800 90. 341.05 90. 71.05 0. 0. - 6 35 2 14.1488 41.2140 44.9700 90. 341.05 90. 71.05 0. 0. - 6 35 3 14.1293 41.1572 41.0600 90. 341.05 90. 71.05 0. 0. - 6 35 4 14.1488 41.2140 37.1500 90. 341.05 90. 71.05 0. 0. - 6 35 5 14.1293 41.1572 33.2400 90. 341.05 90. 71.05 0. 0. - 6 35 6 14.1488 41.2140 29.3300 90. 341.05 90. 71.05 0. 0. - 6 35 7 14.1293 41.1572 25.4200 90. 341.05 90. 71.05 0. 0. - 6 35 8 14.1488 41.2140 21.5100 90. 341.05 90. 71.05 0. 0. - 6 35 9 14.1293 41.1572 17.6000 90. 341.05 90. 71.05 0. 0. - 6 35 10 14.1488 41.2140 13.6900 90. 341.05 90. 71.05 0. 0. - 6 35 11 14.1293 41.1572 9.7800 90. 341.05 90. 71.05 0. 0. - 6 35 12 14.1488 41.2140 5.8700 90. 341.05 90. 71.05 0. 0. - 6 35 13 14.1293 41.1572 1.9600 90. 341.05 90. 71.05 0. 0. - 6 35 14 14.1488 41.2140 -1.9500 90. 341.05 90. 71.05 0. 0. - 6 35 15 14.1293 41.1572 -5.8600 90. 341.05 90. 71.05 0. 0. - 6 35 16 14.1488 41.2140 -9.7700 90. 341.05 90. 71.05 0. 0. - 6 35 17 14.1293 41.1572 -13.6800 90. 341.05 90. 71.05 0. 0. - 6 35 18 14.1488 41.2140 -17.5900 90. 341.05 90. 71.05 0. 0. - 6 35 19 14.1293 41.1572 -21.5000 90. 341.05 90. 71.05 0. 0. - 6 35 20 14.1488 41.2140 -25.4100 90. 341.05 90. 71.05 0. 0. - 6 35 21 14.1293 41.1572 -29.3200 90. 341.05 90. 71.05 0. 0. - 6 35 22 14.1488 41.2140 -33.2300 90. 341.05 90. 71.05 0. 0. - 6 35 23 14.1293 41.1572 -37.1400 90. 341.05 90. 71.05 0. 0. - 6 35 24 14.1488 41.2140 -41.0500 90. 341.05 90. 71.05 0. 0. - 6 35 25 14.1293 41.1572 -44.9600 90. 341.05 90. 71.05 0. 0. - 6 35 26 14.1488 41.2140 -48.8700 90. 341.05 90. 71.05 0. 0. - 6 36 1 7.1875 43.0721 48.8800 90. 350.53 90. 80.53 0. 0. - 6 36 2 7.1973 43.1313 44.9700 90. 350.53 90. 80.53 0. 0. - 6 36 3 7.1875 43.0721 41.0600 90. 350.53 90. 80.53 0. 0. - 6 36 4 7.1973 43.1313 37.1500 90. 350.53 90. 80.53 0. 0. - 6 36 5 7.1875 43.0721 33.2400 90. 350.53 90. 80.53 0. 0. - 6 36 6 7.1973 43.1313 29.3300 90. 350.53 90. 80.53 0. 0. - 6 36 7 7.1875 43.0721 25.4200 90. 350.53 90. 80.53 0. 0. - 6 36 8 7.1973 43.1313 21.5100 90. 350.53 90. 80.53 0. 0. - 6 36 9 7.1875 43.0721 17.6000 90. 350.53 90. 80.53 0. 0. - 6 36 10 7.1973 43.1313 13.6900 90. 350.53 90. 80.53 0. 0. - 6 36 11 7.1875 43.0721 9.7800 90. 350.53 90. 80.53 0. 0. - 6 36 12 7.1973 43.1313 5.8700 90. 350.53 90. 80.53 0. 0. - 6 36 13 7.1875 43.0721 1.9600 90. 350.53 90. 80.53 0. 0. - 6 36 14 7.1973 43.1313 -1.9500 90. 350.53 90. 80.53 0. 0. - 6 36 15 7.1875 43.0721 -5.8600 90. 350.53 90. 80.53 0. 0. - 6 36 16 7.1973 43.1313 -9.7700 90. 350.53 90. 80.53 0. 0. - 6 36 17 7.1875 43.0721 -13.6800 90. 350.53 90. 80.53 0. 0. - 6 36 18 7.1973 43.1313 -17.5900 90. 350.53 90. 80.53 0. 0. - 6 36 19 7.1875 43.0721 -21.5000 90. 350.53 90. 80.53 0. 0. - 6 36 20 7.1973 43.1313 -25.4100 90. 350.53 90. 80.53 0. 0. - 6 36 21 7.1875 43.0721 -29.3200 90. 350.53 90. 80.53 0. 0. - 6 36 22 7.1973 43.1313 -33.2300 90. 350.53 90. 80.53 0. 0. - 6 36 23 7.1875 43.0721 -37.1400 90. 350.53 90. 80.53 0. 0. - 6 36 24 7.1973 43.1313 -41.0500 90. 350.53 90. 80.53 0. 0. - 6 36 25 7.1875 43.0721 -44.9600 90. 350.53 90. 80.53 0. 0. - 6 36 26 7.1973 43.1313 -48.8700 90. 350.53 90. 80.53 0. 0. - 6 37 1 0.0000 43.5150 48.8800 90. 0.00 90. 90.00 0. 0. - 6 37 2 0.0000 43.5750 44.9700 90. 0.00 90. 90.00 0. 0. - 6 37 3 0.0000 43.5150 41.0600 90. 0.00 90. 90.00 0. 0. - 6 37 4 0.0000 43.5750 37.1500 90. 0.00 90. 90.00 0. 0. - 6 37 5 0.0000 43.5150 33.2400 90. 0.00 90. 90.00 0. 0. - 6 37 6 0.0000 43.5750 29.3300 90. 0.00 90. 90.00 0. 0. - 6 37 7 0.0000 43.5150 25.4200 90. 0.00 90. 90.00 0. 0. - 6 37 8 0.0000 43.5750 21.5100 90. 0.00 90. 90.00 0. 0. - 6 37 9 0.0000 43.5150 17.6000 90. 0.00 90. 90.00 0. 0. - 6 37 10 0.0000 43.5750 13.6900 90. 0.00 90. 90.00 0. 0. - 6 37 11 0.0000 43.5150 9.7800 90. 0.00 90. 90.00 0. 0. - 6 37 12 0.0000 43.5750 5.8700 90. 0.00 90. 90.00 0. 0. - 6 37 13 0.0000 43.5150 1.9600 90. 0.00 90. 90.00 0. 0. - 6 37 14 0.0000 43.5750 -1.9500 90. 0.00 90. 90.00 0. 0. - 6 37 15 0.0000 43.5150 -5.8600 90. 0.00 90. 90.00 0. 0. - 6 37 16 0.0000 43.5750 -9.7700 90. 0.00 90. 90.00 0. 0. - 6 37 17 0.0000 43.5150 -13.6800 90. 0.00 90. 90.00 0. 0. - 6 37 18 0.0000 43.5750 -17.5900 90. 0.00 90. 90.00 0. 0. - 6 37 19 0.0000 43.5150 -21.5000 90. 0.00 90. 90.00 0. 0. - 6 37 20 0.0000 43.5750 -25.4100 90. 0.00 90. 90.00 0. 0. - 6 37 21 0.0000 43.5150 -29.3200 90. 0.00 90. 90.00 0. 0. - 6 37 22 0.0000 43.5750 -33.2300 90. 0.00 90. 90.00 0. 0. - 6 37 23 0.0000 43.5150 -37.1400 90. 0.00 90. 90.00 0. 0. - 6 37 24 0.0000 43.5750 -41.0500 90. 0.00 90. 90.00 0. 0. - 6 37 25 0.0000 43.5150 -44.9600 90. 0.00 90. 90.00 0. 0. - 6 37 26 0.0000 43.5750 -48.8700 90. 0.00 90. 90.00 0. 0. - 6 38 1 -7.1875 43.0721 48.8800 90. 9.47 90. 99.47 0. 0. - 6 38 2 -7.1973 43.1313 44.9700 90. 9.47 90. 99.47 0. 0. - 6 38 3 -7.1875 43.0721 41.0600 90. 9.47 90. 99.47 0. 0. - 6 38 4 -7.1973 43.1313 37.1500 90. 9.47 90. 99.47 0. 0. - 6 38 5 -7.1875 43.0721 33.2400 90. 9.47 90. 99.47 0. 0. - 6 38 6 -7.1973 43.1313 29.3300 90. 9.47 90. 99.47 0. 0. - 6 38 7 -7.1875 43.0721 25.4200 90. 9.47 90. 99.47 0. 0. - 6 38 8 -7.1973 43.1313 21.5100 90. 9.47 90. 99.47 0. 0. - 6 38 9 -7.1875 43.0721 17.6000 90. 9.47 90. 99.47 0. 0. - 6 38 10 -7.1973 43.1313 13.6900 90. 9.47 90. 99.47 0. 0. - 6 38 11 -7.1875 43.0721 9.7800 90. 9.47 90. 99.47 0. 0. - 6 38 12 -7.1973 43.1313 5.8700 90. 9.47 90. 99.47 0. 0. - 6 38 13 -7.1875 43.0721 1.9600 90. 9.47 90. 99.47 0. 0. - 6 38 14 -7.1973 43.1313 -1.9500 90. 9.47 90. 99.47 0. 0. - 6 38 15 -7.1875 43.0721 -5.8600 90. 9.47 90. 99.47 0. 0. - 6 38 16 -7.1973 43.1313 -9.7700 90. 9.47 90. 99.47 0. 0. - 6 38 17 -7.1875 43.0721 -13.6800 90. 9.47 90. 99.47 0. 0. - 6 38 18 -7.1973 43.1313 -17.5900 90. 9.47 90. 99.47 0. 0. - 6 38 19 -7.1875 43.0721 -21.5000 90. 9.47 90. 99.47 0. 0. - 6 38 20 -7.1973 43.1313 -25.4100 90. 9.47 90. 99.47 0. 0. - 6 38 21 -7.1875 43.0721 -29.3200 90. 9.47 90. 99.47 0. 0. - 6 38 22 -7.1973 43.1313 -33.2300 90. 9.47 90. 99.47 0. 0. - 6 38 23 -7.1875 43.0721 -37.1400 90. 9.47 90. 99.47 0. 0. - 6 38 24 -7.1973 43.1313 -41.0500 90. 9.47 90. 99.47 0. 0. - 6 38 25 -7.1875 43.0721 -44.9600 90. 9.47 90. 99.47 0. 0. - 6 38 26 -7.1973 43.1313 -48.8700 90. 9.47 90. 99.47 0. 0. diff --git a/Euclid/ITSgeometry_5.euc b/Euclid/ITSgeometry_5.euc deleted file mode 100644 index d082ede6c96..00000000000 --- a/Euclid/ITSgeometry_5.euc +++ /dev/null @@ -1,2073 +0,0 @@ -! -! Tracking Medium -! -TMED 1 'SI ' 1 'SI ' -TMED 2 'SPD SI CHIP ' 2 'SPD SI CHIP ' -TMED 3 'SPD SI BUS ' 3 'SPD SI BUS ' -TMED 4 'C (M55J) ' 4 'C (M55J) ' -TMED 5 'AIR ' 5 'AIR ' -TMED 6 'GEN AIR ' 6 'GEN AIR ' -TMED 7 'SDD SI CHIP ' 7 'SDD SI CHIP ' -TMED 9 'SDD C (M55J) ' 9 'SDD C (M55J) ' -TMED 10 'SDD AIR ' 10 'SDD AIR ' -TMED 11 'AL ' 11 'AL ' -TMED 12 'WATER ' 12 'WATER ' -TMED 14 'COPPER ' 14 'COPPER ' -TMED 15 'CERAMICS ' 15 'CERAMICS ' -TMED 20 'SSD C (M55J) ' 20 'SSD C (M55J) ' -TMED 21 'SSD AIR ' 21 'SSD AIR ' -TMED 25 'G10FR4 ' 25 'G10FR4 ' -TMED 52 'SPD SI CHIP ' 52 'SPD SI CHIP ' -TMED 54 'SPD C (M55J) ' 54 'SPD C (M55J) ' -TMED 55 'SPD AIR ' 55 'SPD AIR ' -TMED 56 'SPD KAPTON (POLYCH2)' 56 'SPD KAPTON (POLYCH2)' -TMED 61 'EPOXY ' 61 'EPOXY ' -TMED 62 'SILICON ' 62 'SILICON ' -TMED 63 'KAPTON-H (POLYCH2 ' 63 'KAPTON-H (POLYCH2 ' -TMED 64 'ALUMINUM ' 64 'ALUMINUM ' -TMED 65 'INOX ' 65 'INOX ' -TMED 68 'ROHACELL (Z,A ?) ' 68 'ROHACELL (Z,A ?) ' -TMED 69 'SDD C AL (M55J) ' 69 'SDD C AL (M55J) ' -TMED 70 'SDD KAPTON (POLYCH2)' 70 'SDD KAPTON (POLYCH2)' -TMED 71 'ITS SANDW A (Z,A ?) ' 71 'ITS SANDW A (Z,A ?) ' -TMED 72 'ITS SANDW B (Z,A ?) ' 72 'ITS SANDW B (Z,A ?) ' -TMED 73 'ITS SANDW C (Z,A ?) ' 73 'ITS SANDW C (Z,A ?) ' -TMED 74 'HEAT COND GLUE (Z,A)' 74 'HEAT COND GLUE (Z,A)' -TMED 75 'ELASTO SIL ' 75 'ELASTO SIL ' -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 'SPD BUS(AL+KPT+EPOX)' -! -! Reperes ITS12 -! -ROTM 104 90.0 252.0 90.0 342.0 0.0 0.0 -ROTM 66 90.0 57.26 90.0 147.26 0.0 0.0 -ROTM 62 90.0 325.0 90.0 55.0 0.0 0.0 -ROTM 63 90.0 310.0 90.0 40.0 0.0 0.0 -ROTM 32 90.0 40.0 90.0 130.0 0.0 0.0 -ROTM 64 90.0 107.63 90.0 197.63 0.0 0.0 -ROTM 70 90.0 229.63 90.0 319.63 0.0 0.0 -ROTM 74 90.0 319.0 90.0 49.0 0.0 0.0 -ROTM 75 90.0 49.0 90.0 139.0 0.0 0.0 -ROTM 77 90.0 116.63 90.0 206.63 0.0 0.0 -ROTM 79 90.0 238.63 90.0 328.63 0.0 0.0 -ROTM 80 90.0 328.0 90.0 58.0 0.0 0.0 -ROTM 41 90.0 58.0 90.0 148.0 0.0 0.0 -ROTM 81 90.0 247.63 90.0 337.63 0.0 0.0 -ROTM 82 90.0 125.63 90.0 215.63 0.0 0.0 -ROTM 83 90.0 337.0 90.0 67.0 0.0 0.0 -ROTM 43 90.0 66.91 90.0 156.91 0.0 0.0 -ROTM 84 90.0 318.3 90.0 48.3 0.0 0.0 -ROTM 1 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 85 90.0 275.41 90.0 5.41 0.0 0.0 -ROTM 86 90.0 186.0 90.0 276.0 0.0 0.0 -ROTM 87 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 39 90.0 72.0 90.0 162.0 0.0 0.0 -ROTM 11 90.0 342.0 90.0 72.0 0.0 0.0 -ROTM 3 90.0 73.5 90.0 163.5 0.0 0.0 -ROTM 88 90.0 57.41 90.0 147.41 0.0 0.0 -ROTM 89 90.0 333.0 90.0 63.0 0.0 0.0 -ROTM 90 90.0 351.0 90.0 81.0 0.0 0.0 -ROTM 92 90.0 27.0 90.0 117.0 0.0 0.0 -ROTM 93 90.0 18.0 90.0 108.0 0.0 0.0 -ROTM 94 90.0 9.0 90.0 99.0 0.0 0.0 -ROTM 95 90.0 327.0 90.0 57.0 0.0 0.0 -ROTM 67 90.0 130.01 90.0 220.01 0.0 0.0 -ROTM 96 90.0 40.63 90.0 130.63 0.0 0.0 -ROTM 68 90.0 287.63 90.0 17.63 0.0 0.0 -ROTM 97 90.0 228.4 90.0 318.4 0.0 0.0 -ROTM 69 90.0 139.0 90.0 229.0 0.0 0.0 -ROTM 98 90.0 49.63 90.0 139.63 0.0 0.0 -ROTM 99 90.0 296.63 90.0 26.63 0.0 0.0 -ROTM 100 90.0 237.4 90.0 327.4 0.0 0.0 -ROTM 71 90.0 147.99 90.0 237.99 0.0 0.0 -ROTM 101 90.0 58.63 90.0 148.63 0.0 0.0 -ROTM 72 90.0 305.63 90.0 35.63 0.0 0.0 -ROTM 102 90.0 246.4 90.0 336.4 0.0 0.0 -ROTM 73 90.0 157.0 90.0 247.0 0.0 0.0 -ROTM 103 90.0 67.3 90.0 157.3 0.0 0.0 -ROTM 105 90.0 5.41 90.0 95.41 0.0 0.0 -ROTM 78 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 76 90.0 162.0 90.0 252.0 0.0 0.0 -ROTM 2 90.0 37.5 90.0 127.5 0.0 0.0 -ROTM 4 90.0 109.5 90.0 199.5 0.0 0.0 -ROTM 5 90.0 181.5 90.0 271.5 0.0 0.0 -ROTM 6 90.0 217.5 90.0 307.5 0.0 0.0 -ROTM 7 90.0 253.5 90.0 343.5 0.0 0.0 -ROTM 8 90.0 289.5 90.0 19.5 0.0 0.0 -ROTM 9 90.0 325.5 90.0 55.5 0.0 0.0 -ROTM 10 90.0 1.5 90.0 91.5 0.0 0.0 -ROTM 12 90.0 277.0 90.0 7.0 0.0 0.0 -ROTM 13 90.0 97.0 90.0 187.0 0.0 0.0 -ROTM 14 90.0 1.5 90.0 91.5 180.0 0.0 -ROTM 15 90.0 37.5 90.0 127.5 180.0 0.0 -ROTM 16 90.0 73.5 90.0 163.5 180.0 0.0 -ROTM 17 90.0 109.5 90.0 199.5 180.0 0.0 -ROTM 18 90.0 145.5 90.0 235.5 180.0 0.0 -ROTM 19 90.0 181.5 90.0 271.5 180.0 0.0 -ROTM 20 90.0 217.5 90.0 307.5 180.0 0.0 -ROTM 21 90.0 253.5 90.0 343.5 180.0 0.0 -ROTM 22 90.0 289.5 90.0 19.5 180.0 0.0 -ROTM 23 90.0 325.5 90.0 55.5 180.0 0.0 -ROTM 24 90.0 186.99 90.0 276.99 0.0 0.0 -ROTM 25 90.0 199.5 90.0 289.5 0.0 0.0 -ROTM 26 90.0 208.5 90.0 298.5 0.0 0.0 -ROTM 27 90.0 298.5 90.0 28.5 0.0 0.0 -ROTM 28 90.0 307.5 90.0 37.5 0.0 0.0 -ROTM 29 90.0 226.5 90.0 316.5 0.0 0.0 -ROTM 30 90.0 316.5 90.0 46.5 0.0 0.0 -ROTM 31 90.0 235.5 90.0 325.5 0.0 0.0 -ROTM 33 90.0 244.49 90.0 334.49 0.0 0.0 -ROTM 34 90.0 334.5 90.0 64.5 0.0 0.0 -ROTM 35 90.0 343.5 90.0 73.5 0.0 0.0 -ROTM 36 90.0 262.49 90.0 352.49 0.0 0.0 -ROTM 37 90.0 352.5 90.0 82.5 0.0 0.0 -ROTM 38 90.0 271.49 90.0 1.49 0.0 0.0 -ROTM 40 90.0 280.5 90.0 10.5 0.0 0.0 -ROTM 42 90.0 10.5 90.0 100.5 0.0 0.0 -ROTM 44 90.0 19.5 90.0 109.5 0.0 0.0 -ROTM 45 90.0 28.5 90.0 118.5 0.0 0.0 -ROTM 46 90.0 46.5 90.0 136.5 0.0 0.0 -ROTM 47 90.0 55.5 90.0 145.5 0.0 0.0 -ROTM 48 90.0 64.5 90.0 154.5 0.0 0.0 -ROTM 49 90.0 82.5 90.0 172.5 0.0 0.0 -ROTM 50 90.0 91.47 90.0 181.47 0.0 0.0 -ROTM 51 90.0 6.99 90.0 96.99 0.0 0.0 -ROTM 52 90.0 118.5 90.0 208.5 0.0 0.0 -ROTM 53 90.0 127.5 90.0 217.5 0.0 0.0 -ROTM 54 90.0 136.5 90.0 226.5 0.0 0.0 -ROTM 55 90.0 145.5 90.0 235.5 0.0 0.0 -ROTM 56 90.0 154.5 90.0 244.5 0.0 0.0 -ROTM 57 90.0 163.5 90.0 253.5 0.0 0.0 -ROTM 58 90.0 172.5 90.0 262.5 0.0 0.0 -ROTM 59 90.0 100.5 90.0 190.5 0.0 0.0 -ROTM 60 90.0 190.5 90.0 280.5 0.0 0.0 -ROTM 61 90.0 184.99 90.0 274.99 0.0 0.0 -ROTM 130 90.0 324.0 90.0 54.0 0.0 0.0 -ROTM 117 90.0 288.0 90.0 18.0 0.0 0.0 -ROTM 106 90.0 36.0 90.0 126.0 0.0 0.0 -ROTM 107 90.0 108.0 90.0 198.0 0.0 0.0 -ROTM 65 90.0 144.0 90.0 234.0 0.0 0.0 -ROTM 91 90.0 216.0 90.0 306.0 0.0 0.0 -ROTM 108 90.0 324.0 90.0 54.0 180.0 0.0 -ROTM 109 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 110 90.0 36.0 90.0 126.0 180.0 0.0 -ROTM 111 90.0 72.0 90.0 162.0 180.0 0.0 -ROTM 112 90.0 108.0 90.0 198.0 180.0 0.0 -ROTM 113 90.0 144.0 90.0 234.0 180.0 0.0 -ROTM 114 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 115 90.0 216.0 90.0 306.0 180.0 0.0 -ROTM 116 90.0 252.0 90.0 342.0 180.0 0.0 -ROTM 118 90.0 288.0 90.0 18.0 180.0 0.0 -ROTM 119 90.0 360.0 90.0 90.0 0.0 0.0 -! -! Reperes Services -! -ROTM 201 90.0 99.0 90.0 9.0 0.0 0.0 -ROTM 202 90.0 102.0 98.0 12.0 8.0 12.0 -ROTM 203 90.0 102.0 0.0 0.0 90.0 192.0 -ROTM 204 90.0 285.0 90.0 15.0 0.0 0.0 -ROTM 205 90.0 282.0 90.0 12.0 0.0 0.0 -ROTM 206 90.0 282.0 98.0 12.0 8.0 12.0 -ROTM 207 90.0 282.0 0.0 0.0 90.0 192.0 -ROTM 208 90.0 72.0 90.0 162.0 0.0 0.0 -ROTM 209 90.0 144.0 90.0 234.0 0.0 0.0 -ROTM 210 90.0 216.0 90.0 306.0 0.0 0.0 -ROTM 211 90.0 288.0 90.0 18.0 0.0 0.0 -ROTM 212 90 0 90 90 180 0 -! -! Reperes ITS34 -! -ROTM 312 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 337 111.0 300.0 21.0 300.0 90.0 30.0 -ROTM 338 69.0 240.0 159.0 240.0 90.0 150.0 -ROTM 339 111.0 240.0 21.0 240.0 90.0 150.0 -ROTM 340 69.0 300.0 159.0 300.0 90.0 30.0 -ROTM 341 128.0 0.0 38.0 0.0 90.0 270.0 -ROTM 342 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 343 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 344 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 345 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 346 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 347 90.0 240.0 90.0 150.0 0.0 0.0 -ROTM 348 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 349 90.0 235.0 90.0 145.0 0.0 0.0 -ROTM 351 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 352 0.0 0.0 90.0 0.0 90.0 90.0 -ROTM 353 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 354 90.0 120.0 90.0 30.0 0.0 0.0 -ROTM 355 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 301 0.0 0.0 90.0 90.0 90.0 180.0 -ROTM 302 0.0 0.0 90.0 90.0 90.0 0.0 -ROTM 303 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 304 180.0 0.0 90.0 90.0 90.0 180.0 -ROTM 321 90.0 12.86 90.0 102.86 0.0 0.0 -ROTM 305 90.0 347.14 90.0 77.14 0.0 0.0 -ROTM 306 90.0 321.43 90.0 51.43 0.0 0.0 -ROTM 307 90.0 295.71 90.0 25.71 0.0 0.0 -ROTM 356 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 308 90.0 244.29 90.0 334.29 0.0 0.0 -ROTM 309 90.0 218.57 90.0 308.57 0.0 0.0 -ROTM 386 90.0 192.86 90.0 282.86 0.0 0.0 -ROTM 310 90.0 167.14 90.0 257.14 0.0 0.0 -ROTM 311 90.0 141.43 90.0 231.43 0.0 0.0 -ROTM 313 90.0 115.71 90.0 205.71 0.0 0.0 -ROTM 350 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 314 90.0 335.45 90.0 65.45 0.0 0.0 -ROTM 315 90.0 319.09 90.0 49.09 0.0 0.0 -ROTM 316 90.0 302.73 90.0 32.73 0.0 0.0 -ROTM 317 90.0 286.36 90.0 16.36 0.0 0.0 -ROTM 319 90.0 253.64 90.0 343.64 0.0 0.0 -ROTM 320 90.0 237.27 90.0 327.27 0.0 0.0 -ROTM 322 90.0 220.91 90.0 310.91 0.0 0.0 -ROTM 323 90.0 204.55 90.0 294.55 0.0 0.0 -ROTM 324 90.0 188.18 90.0 278.18 0.0 0.0 -ROTM 325 90.0 171.82 90.0 261.82 0.0 0.0 -ROTM 326 90.0 155.45 90.0 245.45 0.0 0.0 -ROTM 327 90.0 139.09 90.0 229.09 0.0 0.0 -ROTM 328 90.0 122.73 90.0 212.73 0.0 0.0 -ROTM 329 90.0 106.36 90.0 196.36 0.0 0.0 -ROTM 330 90.0 73.64 90.0 163.64 0.0 0.0 -ROTM 366 90.0 57.27 90.0 147.27 0.0 0.0 -ROTM 331 90.0 40.91 90.0 130.91 0.0 0.0 -ROTM 332 90.0 24.55 90.0 114.55 0.0 0.0 -ROTM 333 90.0 38.57 90.0 128.57 0.0 0.0 -ROTM 334 90.0 351.82 90.0 81.82 0.0 0.0 -ROTM 335 90.0 8.18 90.0 98.18 0.0 0.0 -ROTM 336 90.0 64.29 90.0 154.29 0.0 0.0 -ROTM 318 90.0 270.0 90.0 360.0 0.0 0.0 -! -! Reperes ITS56 -! -ROTM 501 90.0 190.59 90.0 280.59 0.0 0.0 -ROTM 502 90.0 201.18 90.0 291.18 0.0 0.0 -ROTM 503 90.0 211.76 90.0 301.76 0.0 0.0 -ROTM 504 90.0 222.35 90.0 312.35 0.0 0.0 -ROTM 505 90.0 232.94 90.0 322.94 0.0 0.0 -ROTM 506 90.0 243.53 90.0 333.53 0.0 0.0 -ROTM 507 90.0 254.12 90.0 344.12 0.0 0.0 -ROTM 508 90.0 264.71 90.0 354.71 0.0 0.0 -ROTM 509 90.0 275.29 90.0 5.29 0.0 0.0 -ROTM 510 90.0 285.88 90.0 15.88 0.0 0.0 -ROTM 511 90.0 296.47 90.0 26.47 0.0 0.0 -ROTM 512 90.0 307.06 90.0 37.06 0.0 0.0 -ROTM 513 90.0 317.65 90.0 47.65 0.0 0.0 -ROTM 514 90.0 328.24 90.0 58.24 0.0 0.0 -ROTM 515 90.0 338.82 90.0 68.82 0.0 0.0 -ROTM 516 90.0 349.41 90.0 79.41 0.0 0.0 -ROTM 517 90.0 10.59 90.0 100.59 0.0 0.0 -ROTM 518 90.0 21.18 90.0 111.18 0.0 0.0 -ROTM 519 90.0 31.76 90.0 121.76 0.0 0.0 -ROTM 520 90.0 42.35 90.0 132.35 0.0 0.0 -ROTM 521 90.0 52.94 90.0 142.94 0.0 0.0 -ROTM 522 90.0 63.53 90.0 153.53 0.0 0.0 -ROTM 523 90.0 74.12 90.0 164.12 0.0 0.0 -ROTM 524 90.0 84.71 90.0 174.71 0.0 0.0 -ROTM 525 90.0 95.29 90.0 185.29 0.0 0.0 -ROTM 526 90.0 105.88 90.0 195.88 0.0 0.0 -ROTM 527 90.0 116.47 90.0 206.47 0.0 0.0 -ROTM 528 90.0 127.06 90.0 217.06 0.0 0.0 -ROTM 529 90.0 137.65 90.0 227.65 0.0 0.0 -ROTM 530 90.0 148.24 90.0 238.24 0.0 0.0 -ROTM 531 90.0 158.82 90.0 248.82 0.0 0.0 -ROTM 532 90.0 169.41 90.0 259.41 0.0 0.0 -ROTM 533 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 534 90.0 189.47 90.0 279.47 0.0 0.0 -ROTM 535 90.0 198.95 90.0 288.95 0.0 0.0 -ROTM 536 90.0 208.42 90.0 298.42 0.0 0.0 -ROTM 537 90.0 217.89 90.0 307.89 0.0 0.0 -ROTM 538 90.0 227.37 90.0 317.37 0.0 0.0 -ROTM 539 90.0 236.84 90.0 326.84 0.0 0.0 -ROTM 540 90.0 246.32 90.0 336.32 0.0 0.0 -ROTM 541 90.0 255.79 90.0 345.79 0.0 0.0 -ROTM 542 90.0 265.26 90.0 355.26 0.0 0.0 -ROTM 543 90.0 274.74 90.0 4.74 0.0 0.0 -ROTM 544 90.0 284.21 90.0 14.21 0.0 0.0 -ROTM 545 90.0 293.68 90.0 23.68 0.0 0.0 -ROTM 546 90.0 303.16 90.0 33.16 0.0 0.0 -ROTM 547 90.0 312.63 90.0 42.63 0.0 0.0 -ROTM 548 90.0 322.11 90.0 52.11 0.0 0.0 -ROTM 549 90.0 331.58 90.0 61.58 0.0 0.0 -ROTM 550 90.0 341.05 90.0 71.05 0.0 0.0 -ROTM 551 90.0 350.53 90.0 80.53 0.0 0.0 -ROTM 552 90.0 9.47 90.0 99.47 0.0 0.0 -ROTM 553 90.0 18.95 90.0 108.95 0.0 0.0 -ROTM 554 90.0 28.42 90.0 118.42 0.0 0.0 -ROTM 555 90.0 37.89 90.0 127.89 0.0 0.0 -ROTM 556 90.0 47.37 90.0 137.37 0.0 0.0 -ROTM 557 90.0 56.84 90.0 146.84 0.0 0.0 -ROTM 558 90.0 66.32 90.0 156.32 0.0 0.0 -ROTM 559 90.0 75.79 90.0 165.79 0.0 0.0 -ROTM 560 90.0 85.26 90.0 175.26 0.0 0.0 -ROTM 561 90.0 94.74 90.0 184.74 0.0 0.0 -ROTM 562 90.0 104.21 90.0 194.21 0.0 0.0 -ROTM 563 90.0 113.68 90.0 203.68 0.0 0.0 -ROTM 564 90.0 123.16 90.0 213.16 0.0 0.0 -ROTM 565 90.0 132.63 90.0 222.63 0.0 0.0 -ROTM 566 90.0 142.11 90.0 232.11 0.0 0.0 -ROTM 567 90.0 151.58 90.0 241.58 0.0 0.0 -ROTM 568 90.0 161.05 90.0 251.05 0.0 0.0 -ROTM 569 90.0 170.53 90.0 260.53 0.0 0.0 -ROTM 570 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 571 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 572 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 573 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 583 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 575 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 576 65.71 300.0 90.0 30.0 24.29 120.0 -ROTM 577 114.29 300.0 90.0 30.0 155.71 120.0 -ROTM 579 65.71 240.0 90.0 150.0 24.29 60.0 -ROTM 580 114.29 240.0 90.0 150.0 155.71 60.0 -ROTM 581 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 586 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 584 90.0 180.0 180.0 0.0 90.0 90.0 -ROTM 574 90.0 360.0 90.0 90.0 0.0 0.0 -ROTM 578 132.46 0.0 90.0 90.0 42.46 360.0 -! -! Reperes support SSD -! -ROTM 701 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 702 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 703 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 704 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 705 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 706 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 707 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 708 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 709 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 710 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 711 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 712 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 713 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 714 90.0 328.4 90.0 58.4 180.0 0.0 -ROTM 715 90.0 28.4 90.0 118.4 180.0 0.0 -ROTM 716 90.0 88.4 90.0 178.4 180.0 0.0 -ROTM 717 90.0 148.4 90.0 238.4 180.0 0.0 -ROTM 718 90.0 208.4 90.0 298.4 180.0 0.0 -ROTM 719 90.0 268.4 90.0 358.4 180.0 0.0 -ROTM 720 90.0 28.4 90.0 118.4 0.0 0.0 -ROTM 721 90.0 88.4 90.0 178.4 0.0 0.0 -ROTM 722 90.0 148.4 90.0 238.4 0.0 0.0 -ROTM 723 90.0 208.4 90.0 298.4 0.0 0.0 -ROTM 724 90.0 268.4 90.0 358.4 0.0 0.0 -ROTM 725 90.0 328.4 90.0 58.4 0.0 0.0 -ROTM 726 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 727 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 728 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 729 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 733 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 730 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 731 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 768 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 732 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 734 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 798 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 735 90.0 47.5 90.0 137.5 0.0 0.0 -! -! Reperes support SDD -! -ROTM 846 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 851 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 853 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 856 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 857 90.0 5.0 90.0 95.0 180.0 0.0 -ROTM 858 90.0 65.0 90.0 155.0 180.0 0.0 -ROTM 859 90.0 305.0 90.0 35.0 180.0 0.0 -ROTM 860 90.0 245.0 90.0 335.0 180.0 0.0 -ROTM 861 90.0 185.0 90.0 275.0 180.0 0.0 -ROTM 862 90.0 125.0 90.0 215.0 180.0 0.0 -ROTM 863 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 864 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 865 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 867 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 869 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 870 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 871 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 872 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 873 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 874 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 875 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 876 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 877 90.0 185.0 90.0 275.0 0.0 0.0 -ROTM 879 90.0 125.0 90.0 215.0 0.0 0.0 -ROTM 880 90.0 65.0 90.0 155.0 0.0 0.0 -ROTM 881 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 882 90.0 245.0 90.0 335.0 0.0 0.0 -ROTM 898 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 883 90.0 47.5 90.0 137.5 0.0 0.0 -ROTM 884 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 885 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 887 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 888 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 889 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 890 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 891 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 892 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 868 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 893 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 894 90.0 270.0 0.0 0.0 90.0 180.0 -ROTM 895 90.0 286.36 0.0 0.0 90.0 196.36 -ROTM 896 90.0 302.73 0.0 0.0 90.0 212.73 -ROTM 897 90.0 319.09 0.0 0.0 90.0 229.09 -ROTM 899 90.0 335.45 0.0 0.0 90.0 245.45 -ROTM 900 90.0 351.82 0.0 0.0 90.0 261.82 -ROTM 901 90.0 8.18 0.0 0.0 90.0 278.18 -ROTM 902 90.0 24.55 0.0 0.0 90.0 294.55 -ROTM 903 90.0 40.91 0.0 0.0 90.0 310.91 -ROTM 904 90.0 57.27 0.0 0.0 90.0 327.27 -ROTM 905 90.0 73.64 0.0 0.0 90.0 343.64 -ROTM 906 90.0 90.0 0.0 0.0 90.0 360.0 -ROTM 907 90.0 106.36 0.0 0.0 90.0 16.36 -ROTM 908 90.0 122.73 0.0 0.0 90.0 32.73 -ROTM 909 90.0 139.09 0.0 0.0 90.0 49.09 -ROTM 910 90.0 155.45 0.0 0.0 90.0 65.45 -ROTM 911 90.0 171.82 0.0 0.0 90.0 81.82 -ROTM 912 90.0 188.18 0.0 0.0 90.0 98.18 -ROTM 913 90.0 204.55 0.0 0.0 90.0 114.55 -ROTM 914 90.0 220.91 0.0 0.0 90.0 130.91 -ROTM 915 90.0 237.27 0.0 0.0 90.0 147.27 -ROTM 916 90.0 253.64 0.0 0.0 90.0 163.64 -ROTM 917 90.0 295.71 0.0 0.0 90.0 205.71 -ROTM 918 90.0 321.43 0.0 0.0 90.0 231.43 -ROTM 919 90.0 347.14 0.0 0.0 90.0 257.14 -ROTM 920 90.0 12.86 0.0 0.0 90.0 282.86 -ROTM 921 90.0 38.57 0.0 0.0 90.0 308.57 -ROTM 922 90.0 64.29 0.0 0.0 90.0 334.29 -ROTM 923 90.0 115.71 0.0 0.0 90.0 25.71 -ROTM 924 90.0 141.43 0.0 0.0 90.0 51.43 -ROTM 925 90.0 167.14 0.0 0.0 90.0 77.14 -ROTM 926 90.0 192.86 0.0 0.0 90.0 102.86 -ROTM 927 90.0 218.57 0.0 0.0 90.0 128.57 -ROTM 928 90.0 244.29 0.0 0.0 90.0 154.29 -ROTM 929 90.0 120.0 90.0 210.0 0.0 0.0 -ROTM 878 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 930 90.0 240.0 90.0 330.0 0.0 0.0 -ROTM 931 90.0 60.0 90.0 150.0 180.0 0.0 -ROTM 932 90.0 120.0 90.0 210.0 180.0 0.0 -ROTM 933 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 934 90.0 240.0 90.0 330.0 180.0 0.0 -ROTM 935 90.0 300.0 90.0 30.0 180.0 0.0 -! -! REPERES GENERAUX -! -! -! VOLUMES GENERAUX -! -VOLU 'ITSV' 'PCON' 5 39 - 0 360 12 -301.5944 75.7588 270 -280.5944 72.9555 270 - -280.5944 72.9555 77.994 -77.3 44.4609 49.5 - -77.2 44.5 49.6 -36. 3.3 49.6 - 36. 3.3 49.6 76.708 44.4609 49.6 - 77.3 44.4609 49.5 280.5944 72.9555 77.9946 - 280.5944 72.9555 270 301.5944 75.7588 270 -VOLU 'ITSD' 'PCON' 5 15 - 0 360 4 -77.2 44.5 49.6 -36. 3.3 49.6 36. 3.3 49.6 76.708 - 44.4609 49.6 -! -! VOLUMES ITS12 ! -VOLU 'IT12' 'PCON' 55 21 - 0 360 6 -31 3.7 9.13 -23 3.7 9.13 -23 3.7 9 23 3.7 9 23 3.7 9.13 31 3.7 - 9.13 -VOLU 'I150' 'TUBS' 55 5 - 3.7 7.6 4 58 100 -VOLU 'I132' 'TUBS' 55 5 - 3.7 7.6 23 58 100 -VOLU 'I139' 'TUBS' 54 5 - 0.05 0.11 2.5 0 75 -VOLU 'I141' 'BOX ' 54 3 - 0.5359 0.03 2.5 -VOLU 'I142' 'TUBS' 54 5 - 0.05 0.11 2.5 0 157 -VOLU 'I143' 'BOX ' 54 3 - 0.2497 0.03 2.5 -VOLU 'I144' 'TUBS' 54 5 - 0.01 0.07 2.5 0 148 -VOLU 'I145' 'BOX ' 54 3 - 0.705 0.03 2.5 -VOLU 'I146' 'TUBS' 54 5 - 0.05 0.11 2.5 0 161 -VOLU 'I147' 'BOX ' 54 3 - 0.2433 0.03 2.5 -VOLU 'I149' 'BOX ' 54 3 - 1.4966 0.03 2.5 -VOLU 'I148' 'TUBS' 54 5 - 0.01 0.07 2.5 0 43 -VOLU 'I133' 'TUBS' 54 5 - 0.05 0.11 2.5 0 84 -VOLU 'I134' 'BOX ' 54 3 - 0.3041 0.03 2.5 -VOLU 'I135' 'TUBS' 54 5 - 0.05 0.11 2.5 0 90 -VOLU 'I136' 'BOX ' 54 3 - 0.03 0.0695 2.5 -VOLU 'I137' 'TUBS' 54 5 - 0.01 0.07 2.5 0 108 -VOLU 'I138' 'BOX ' 54 3 - 0.6229 0.03 2.5 -VOLU 'I140' 'BOX ' 54 3 - 1.3438 0.03 2.5 -VOLU 'I166' 'TUBS' 64 5 - 6.6 7.6 0.5 0 9 -VOLU 'I167' 'TUBS' 64 5 - 3.5 5.6 0.55 0 38 -VOLU 'I179' 'BOX ' 56 3 - 0.64 0.01 4 -VOLU 'I169' 'TUBE' 65 3 - 0 0.075 0.8 -VOLU 'I171' 'TUBE' 75 3 - 0 0.18 3 -VOLU 'I173' 'TUBE' 75 3 - 0 0.18 0.8 -VOLU 'I176' 'TUBE' 75 3 - 0 0.5 1.5 -VOLU 'I125' 'BOX ' 61 3 - 0.15 0.005 23 -VOLU 'I122' 'BOX ' 65 3 - 0.09 0.0335 23 -VOLU 'I124' 'BOX ' 74 3 - 0.15 0.0075 23 -VOLU 'I120' 'BOX ' 54 3 - 1.497 0.01 23 -VOLU 'I100' 'TUBS' 54 5 - 0.05 0.07 23 0 84 -VOLU 'I101' 'BOX ' 54 3 - 0.0676 0.01 23 -VOLU 'I102' 'BOX ' 54 3 - 0.01 0.0575 23 -VOLU 'I103' 'BOX ' 54 3 - 0.15 0.01 23 -VOLU 'I104' 'TUBS' 54 5 - 0.05 0.07 23 0 90 -VOLU 'I105' 'BOX ' 54 3 - 0.01 0.0695 23 -VOLU 'I106' 'TUBS' 54 5 - 0.05 0.07 23 0 108 -VOLU 'I107' 'BOX ' 54 3 - 0.25 0.01 23 -VOLU 'I108' 'BOX ' 54 3 - 0.202 0.01 23 -VOLU 'I109' 'TUBS' 54 5 - 0.05 0.07 23 0 75 -VOLU 'I110' 'BOX ' 54 3 - 1.3435 0.01 23 -VOLU 'I111' 'BOX ' 54 3 - 0.079 0.01 23 -VOLU 'I112' 'BOX ' 54 3 - 0.2855 0.01 23 -VOLU 'I116' 'TUBS' 54 5 - 0.05 0.07 23 0 157 -VOLU 'I115' 'BOX ' 54 3 - 0.2505 0.01 23 -VOLU 'I114' 'TUBS' 54 5 - 0.05 0.07 23 0 148 -VOLU 'I113' 'BOX ' 54 3 - 0.249 0.01 23 -VOLU 'I117' 'TUBS' 54 5 - 0.05 0.07 23 0 161 -VOLU 'I118' 'BOX ' 54 3 - 0.243 0.01 23 -VOLU 'I119' 'TUBS' 54 5 - 0.05 0.07 23 0 42 -VOLU 'I186' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I131' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I168' 'TUBS' 12 5 - 3.7 5.4 0.35 2 36 -VOLU 'I170' 'TUBE' 12 3 - 0 0.0746 0.8 -VOLU 'I172' 'TUBE' 12 3 - 0 0.1 3 -VOLU 'I174' 'TUBE' 12 3 - 0 0.1 0.8 -VOLU 'I175' 'TUBE' 64 3 - 0.07 0.125 0.3 -VOLU 'I177' 'TUBE' 12 3 - 0 0.3 1.5 -VOLU 'I178' 'TUBE' 64 3 - 0.26 0.32 0.55 -VOLU 'I123' 'BOX ' 12 3 - 0.0865 0.03 23 -VOLU 'I183' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I185' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I184' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I182' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS1' 'BOX ' 1 3 - 0.64 0.0075 4.19 -VOLU 'I130' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I129' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I128' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I127' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS2' 'BOX ' 1 3 - 0.64 0.0075 4.19 -! -! VOLUMES ITS34 -! -VOLU 'IT34' 'PCON' 10 21 - 0 360 6 -34.65 23.495 28.5 -23.7 23.495 28.5 -23.7 14.595 28.5 23.7 14.595 - 28.5 23.7 23.495 28.5 34.65 23.495 28.5 -VOLU 'I048' 'BOX ' 10 3 - 3.2 2 34.65 -VOLU 'I005' 'BOX ' 10 3 - 3.63 0.135 30.385 -VOLU 'I047' 'BOX ' 10 3 - 3.2 2 23.7 -VOLU 'I004' 'BOX ' 10 3 - 3.63 0.135 23.05 -VOLU 'I024' 'BOX ' 10 3 - 3.2 2 2.725 -VOLU 'I018' 'BOX ' 10 3 - 3.2 2 3.65 -VOLU 'I302' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I402' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I025' 'TRD1' 9 4 - 0.2 0.1815 2.725 0.015 -VOLU 'I026' 'TRD1' 9 4 - 0.183 0.165 2.725 0.015 -VOLU 'I021' 'TRD1' 9 4 - 2.23 2.1 0.05 0.03 -VOLU 'I023' 'TRD1' 9 4 - 2.615 2.465 0.06 0.04 -VOLU 'I022' 'TRD1' 9 4 - 2.1 2 0.06 0.04 -VOLU 'I028' 'BOX ' 64 3 - 2.15 0.2 0.85 -VOLU 'I029' 'BOX ' 64 3 - 1.25 0.6 0.075 -VOLU 'I030' 'TRD1' 64 4 - 1.25 0.1 0.075 1 -VOLU 'I027' 'TRAP' 64 11 - 1.6 7 0 0.075 0.775 0.775 0 0.075 0.376 0.376 0 -VOLU 'I032' 'TUBE' 12 3 - 0 0.093 2.725 -VOLU 'I031' 'TUBE' 65 3 - 0.093 0.1 2.725 -VOLU 'I046' 'BOX ' 70 3 - 0.7 0.002 2.725 -VOLU 'I019' 'TRD1' 9 4 - 0.2 0.182 3.65 0.015 -VOLU 'I020' 'TRD1' 9 4 - 0.183 0.165 3.65 0.015 -VOLU 'I033' 'BOX ' 9 3 - 0.3 0.05 0.15 -VOLU 'I036' 'BOX ' 9 3 - 0.2 0.01 0.05 -VOLU 'I034' 'TUBE' 9 3 - 0 0.05 0.225 -VOLU 'I035' 'TUBE' 9 3 - 0.1 0.15 0.2 -VOLU 'I045' 'BOX ' 70 3 - 0.7 0.002 3.65 -VOLU 'I038' 'TUBE' 12 3 - 0 0.093 3.65 -VOLU 'I037' 'TUBE' 65 3 - 0.093 0.1 3.65 -VOLU 'I039' 'BOX ' 69 3 - 1 0.01 3.6 -VOLU 'I040' 'BOX ' 69 3 - 0.25 0.01 3.4 -VOLU 'I041' 'TUBS' 69 5 - 0.1 0.12 3.4 90 320 -VOLU 'I042' 'BOX ' 7 3 - 0.4 0.015 0.4 -VOLU 'I043' 'BOX ' 7 3 - 0.25 0.015 0.25 -VOLU 'I044' 'BOX ' 70 3 - 0.75 0.002 3.4 -VOLU 'I303' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'I403' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'ITS3' 'BOX ' 1 3 - 3.5 0.014 3.763 -VOLU 'ITS4' 'BOX ' 1 3 - 3.5 0.014 3.763 -! -! VOLUMES ITS56 -! -VOLU 'IT56' 'PCON' 21 36 - 0 360 11 -57.5 43.5 48 -51.365 43.5 48 -51.365 39 48 -45.4 39 48 -45.4 - 38.9 48 0 38.9 48 45.22 38.9 48 45.22 39 48 51.3651 39 48 51.3651 43.5 - 48 56.96 43.5 48 -VOLU 'I570' 'BOX ' 5 3 - 3.4 1.955 57.13 -VOLU 'I569' 'BOX ' 5 3 - 3.75 0.045 50.975 -VOLU 'I565' 'BOX ' 5 3 - 3.75 0.045 45.21 -VOLU 'I571' 'BOX ' 5 3 - 3.4 1.955 51.265 -VOLU 'I553' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I523' 'BOX ' 5 3 - 3.405 1.955 1.955 -VOLU 'I566' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I568' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I562' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I564' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I544' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I516' 'BOX ' 5 3 - 3.41 1.955 1.955 -VOLU 'I559' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I560' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I558' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I557' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I556' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I554' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I555' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I561' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I519' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I521' 'BOX ' 1 3 - 0.304 0.0275 0.432 -VOLU 'I520' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I518' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I522' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I542' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I541' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I543' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I537' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I538' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I536' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I535' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I534' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I540' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I539' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'ITS6' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'ITS5' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'I550' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I551' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I549' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I548' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I547' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I545' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I546' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I552' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I515' 'BOX ' 1 3 - 0.304 0.0275 0.4322 -VOLU 'I513' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I514' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I512' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I528' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I527' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I526' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I525' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I524' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I529' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'I530' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I517' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I531' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I532' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I533' 'BOX ' 4 3 - 0.3 0.15 0.15 -! -! VOLUMES SUPPORT SSD -! -! modifie y.andres 29/10/99 -VOLU 'IS01' 'PCON' 5 39 - 0 360 12 -77.2 44.5 47 -61.2 28.5 47 -57.5 28.5 47 -57.5 28.5 43.5 -51.365 - 28.5 43.5 -51.365 28.5 38.9 51.3651 28.5 38.9 51.3651 28.5 43.5 56.96 28.5 - 43.5 56.96 28.5 47 60.66 28.5 47 76.66 44.5 47 -!VOLU 'IS01' 'PCON' 21 39 -! 0 360 12 -77.2 44.5 47 -60.7 28 47 -57.5 28 47 -57.5 28 43.58 -51.365 28 -! 43.58 -51.365 28 39.08 50.825 28 39.08 50.825 28 43.58 56.96 28 43.58 56.96 -! 28 47 60.16 28 47 76.66 44.5 47 -VOLU 'I212' 'PCON' 73 21 - 0 360 6 -77.2 44.5 47 -73.5 44.5 47 -72.7819 44.5 46.2819 -59.5 31.2181 - 33 -59.5 28 33 -57 28 30.5 -VOLU 'I210' 'TUBE' 73 3 - 29.82 30.5 56.3 -VOLU 'I211' 'TUBE' 20 3 - 28 29.82 0.5 -VOLU 'I217' 'TUBE' 25 3 - 37.35 38.25 1 -VOLU 'I218' 'TUBE' 65 3 - 38.25 39.08 1 -VOLU 'I219' 'TUBE' 25 3 - 41.85 42.75 1 -VOLU 'I220' 'TUBE' 65 3 - 42.75 43.58 1 -VOLU 'I214' 'TUBE' 25 3 - 42.1 42.5 1.25 -VOLU 'I213' 'TUBE' 25 3 - 37.1 37.5 1.25 -VOLU 'I215' 'PCON' 21 18 - 0 25 5 -77.2 44.5 44.5 -69.7 37 44.5 -68.5 37 44.5 -68.5 37 42.1 -63.5 - 37 42.1 -VOLU 'I216' 'PCON' 73 30 - 0 3.2 9 -16.45 30.5 33.5 -7.85 30.5 33.5 -7.85 30.5 41.85 -5.85 30.5 41.85 - -5.85 30.5 36.5 -5 30.5 36.5 -2 33.0173 36.5 -2 33.0173 37.35 0 34.6955 - 37.35 -! -! VOLUMES SUPPORT SDD -! -! modifie y.andres 29/10/99 -VOLU 'IS02' 'PCON' 5 39 - 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 23.495 -23.7 10 - 23.495 -23.7 10 14.595 23.7 10 14.595 23.7 10 23.495 34.65 10 23.495 34.65 - 10 28 42.6263 10 28 59.7 27.2637 28 -!VOLU 'IS02' 'PCON' 5 39 -! 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 24.2 -23.7 10 24.2 -! -23.7 10 14.595 23.7 10 14.595 23.7 10 24.2 34.65 10 24.2 34.65 10 28 42.7 -! 10 28 59.7 27 28 -VOLU 'I093' 'PCON' 73 21 - 0 360 6 39.4 10.065 12.7 40.66 10.065 13.96 40.66 12.1781 13.96 54.7 26.2181 - 28 55.2219 26.74 28 57.4 26.74 28 -VOLU 'I099' 'PCON' 5 12 - 0 50 3 23.7 14 18.75 46.7 14 18.75 51.45 18.75 18.75 -VOLU 'I200' 'PCON' 5 12 - 0 25 3 34.65 23.4 26.4 56.1 23.4 26.4 59.1 26.4 26.4 -VOLU 'I090' 'TUBE' 9 3 - 10.065 11 0.25 -VOLU 'I089' 'TUBE' 9 3 - 10.001 10.065 40 -VOLU 'I098' 'TUBE' 5 3 - 21.95 24.2 1 -VOLU 'I097' 'TUBE' 5 3 - 13.1 15.4 1 -VOLU 'I202' 'BOX ' 73 3 - 1 1 7.74 -VOLU 'I203' 'BOX ' 73 3 - 1 1 9.14 -VOLU 'I095' 'TUBE' 25 3 - 21.95 22.95 1 -VOLU 'I096' 'TRD1' 65 4 - 3 2.7 1 0.63 -VOLU 'I094' 'TUBE' 25 3 - 13.1 14.1 1 -! -! VOLUMES SERVICES -! -VOLU 'ISS1' 'PCON' 5 15 - 0 360 4 77.3 44.4609 49.5 280.5944 72.9555 77.9946 280.5944 72.9555 270 - 300.5944 75.7588 270 -VOLU 'ISS2' 'PCON' 5 15 - 0 24 4 76.7056 44.4609 49.5 280 72.9555 77.9946 280 72.9555 270 300 75.7588 - 270 -VOLU 'ISS3' 'BOX ' 14 3 - 2 0.25 2 -VOLU 'ISS4' 'BOX ' 63 3 - 2 1 2 -VOLU 'ISS5' 'TUBE' 63 3 - 1.13 1.6 102.5 -VOLU 'ISS6' 'TUBE' 64 3 - 0 1.13 102.5 -VOLU 'ISS7' 'TUBE' 63 3 - 1.13 1.6 91 -VOLU 'ISS8' 'BOX ' 64 3 - 5 4 5 -VOLU 'ISS9' 'BOX ' 62 3 - 5 1 5 -VOLU 'IS10' 'BOX ' 14 3 - 5 0.03 5 -VOLU 'IS11' 'BOX ' 61 3 - 5 0.8 5 -VOLU 'IS12' 'TUBE' 64 3 - 0 1.13 91 -! -! DIVISIONS -! -! -! POSITIONNEMENTS GENERAUX -! -POSI 'IT12' 1 'ITSD' 0.00000 0.00000 0.00000 0 'ONLY' -POSI 'IT34' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IT56' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS01' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS02' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -! -! -! POSITIONNEMENTS ITS12 -! -POSI 'I150' 16 'IT12' 0.0 0.0 27.0 104 'MANY' -POSI 'I150' 20 'IT12' 0.0 0.0 27.0 130 'MANY' -POSI 'I150' 18 'IT12' 0.0 0.0 27.0 117 'MANY' -POSI 'I150' 1 'IT12' 0.0 0.0 27.0 0 'MANY' -POSI 'I150' 4 'IT12' 0.0 0.0 27.0 106 'MANY' -POSI 'I150' 6 'IT12' 0.0 0.0 27.0 39 'MANY' -POSI 'I150' 8 'IT12' 0.0 0.0 27.0 107 'MANY' -POSI 'I150' 10 'IT12' 0.0 0.0 27.0 65 'MANY' -POSI 'I150' 12 'IT12' 0.0 0.0 27.0 78 'MANY' -POSI 'I150' 14 'IT12' 0.0 0.0 27.0 91 'MANY' -POSI 'I132' 8 'IT12' 0.0 0.0 0.0 104 'MANY' -POSI 'I132' 7 'IT12' 0.0 0.0 0.0 91 'MANY' -POSI 'I132' 6 'IT12' 0.0 0.0 0.0 78 'MANY' -POSI 'I132' 5 'IT12' 0.0 0.0 0.0 65 'MANY' -POSI 'I132' 4 'IT12' 0.0 0.0 0.0 107 'MANY' -POSI 'I132' 3 'IT12' 0.0 0.0 0.0 39 'MANY' -POSI 'I132' 2 'IT12' 0.0 0.0 0.0 106 'MANY' -POSI 'I132' 1 'IT12' 0.0 0.0 0.0 0 'MANY' -POSI 'I132' 10 'IT12' 0.0 0.0 0.0 130 'MANY' -POSI 'I132' 9 'IT12' 0.0 0.0 0.0 117 'MANY' -POSI 'I150' 19 'IT12' 0.0 0.0 -27.0 108 'MANY' -POSI 'I150' 2 'IT12' 0.0 0.0 -27.0 109 'MANY' -POSI 'I150' 3 'IT12' 0.0 0.0 -27.0 110 'MANY' -POSI 'I150' 5 'IT12' 0.0 0.0 -27.0 111 'MANY' -POSI 'I150' 7 'IT12' 0.0 0.0 -27.0 112 'MANY' -POSI 'I150' 9 'IT12' 0.0 0.0 -27.0 113 'MANY' -POSI 'I150' 11 'IT12' 0.0 0.0 -27.0 114 'MANY' -POSI 'I150' 13 'IT12' 0.0 0.0 -27.0 115 'MANY' -POSI 'I150' 15 'IT12' 0.0 0.0 -27.0 116 'MANY' -POSI 'I150' 17 'IT12' 0.0 0.0 -27.0 118 'MANY' -POSI 'I139' 2 'I150' 3.2872 6.0439 -1.5 62 'ONLY' -POSI 'I141' 1 'I150' 3.004 6.5058 -1.5 63 'ONLY' -POSI 'I142' 1 'I150' 2.5982 6.865 -1.5 32 'ONLY' -POSI 'I143' 1 'I150' 2.5977 6.6027 -1.5 64 'ONLY' -POSI 'I144' 1 'I150' 2.6352 6.3526 -1.5 70 'ONLY' -POSI 'I145' 1 'I150' 2.0769 6.7849 -1.5 74 'ONLY' -POSI 'I142' 2 'I150' 1.4923 7.1869 -1.5 75 'ONLY' -POSI 'I143' 2 'I150' 1.5328 6.9278 -1.5 77 'ONLY' -POSI 'I144' 2 'I150' 1.609 6.6866 -1.5 79 'ONLY' -POSI 'I145' 2 'I150' 0.9899 7.0263 -1.5 80 'ONLY' -POSI 'I142' 3 'I150' 0.3497 7.3319 -1.5 41 'ONLY' -POSI 'I143' 3 'I150' 0.4302 7.0823 -1.5 82 'ONLY' -POSI 'I144' 3 'I150' 0.5431 6.856 -1.5 81 'ONLY' -POSI 'I145' 3 'I150' -0.1214 7.0946 -1.5 83 'ONLY' -POSI 'I146' 1 'I150' -0.8017 7.2968 -1.5 43 'ONLY' -POSI 'I147' 1 'I150' -0.6733 7.0752 -1.5 84 'ONLY' -POSI 'I149' 1 'I150' -0.3371 5.3963 -1.5 85 'ONLY' -POSI 'I148' 1 'I150' -0.5183 6.8836 -1.5 1 'ONLY' -POSI 'I133' 1 'I150' -0.1164 3.915 -1.5 86 'ONLY' -POSI 'I134' 1 'I150' 0.1877 3.835 -1.5 0 'ONLY' -POSI 'I135' 1 'I150' 0.4917 3.915 -1.5 87 'ONLY' -POSI 'I136' 1 'I150' 0.5717 3.9845 -1.5 119 'ONLY' -POSI 'I137' 1 'I150' 0.6117 4.0541 -1.5 39 'ONLY' -POSI 'I138' 1 'I150' 1.2166 3.8996 -1.5 11 'ONLY' -POSI 'I139' 1 'I150' 1.8337 3.7832 -1.5 104 'ONLY' -POSI 'I140' 1 'I150' 2.6277 4.8701 -1.5 66 'ONLY' -POSI 'I166' 1 'I150' 0.0 0.0 0.25 3 'MANY' -POSI 'I167' 1 'I150' 0.1102 0.9945 0.45 88 'ONLY' -POSI 'I179' 6 'I150' 0.2244 3.795 0.0 0 'ONLY' -POSI 'I179' 2 'I150' 1.2205 3.8563 0.0 11 'ONLY' -POSI 'I179' 5 'I150' 3.1016 6.452 0.0 63 'ONLY' -POSI 'I179' 4 'I150' 2.0541 6.8577 0.0 74 'ONLY' -POSI 'I179' 3 'I150' 0.956 7.0946 0.0 80 'ONLY' -POSI 'I179' 1 'I150' -0.1656 7.1568 0.0 83 'ONLY' -POSI 'I169' 3 'I150' 0.1883 4.0372 -3.2 0 'ONLY' -POSI 'I171' 3 'I150' 0.1883 4.0372 0.6 0 'ONLY' -POSI 'I169' 2 'I150' 1.3343 4.0609 -3.2 0 'ONLY' -POSI 'I171' 2 'I150' 1.3343 4.0609 0.6 0 'ONLY' -POSI 'I169' 6 'I150' 2.9567 6.1959 -3.2 89 'ONLY' -POSI 'I171' 6 'I150' 2.9567 6.1959 0.6 89 'ONLY' -POSI 'I169' 5 'I150' 1.9511 6.5822 -3.2 11 'ONLY' -POSI 'I171' 5 'I150' 1.9511 6.5822 0.6 11 'ONLY' -POSI 'I169' 4 'I150' 0.8974 6.8064 -3.2 90 'ONLY' -POSI 'I171' 4 'I150' 0.8974 6.8064 0.6 90 'ONLY' -POSI 'I169' 1 'I150' -0.1784 6.863 -3.2 0 'ONLY' -POSI 'I171' 1 'I150' -0.1784 6.863 0.6 0 'ONLY' -POSI 'I173' 1 'I150' 0.2173 4.8037 1.8 0 'ONLY' -POSI 'I173' 6 'I150' 1.5093 4.5605 1.8 0 'ONLY' -POSI 'I173' 4 'I150' -0.173 6.2531 1.8 92 'ONLY' -POSI 'I173' 3 'I150' 0.8073 6.2032 1.8 93 'ONLY' -POSI 'I173' 2 'I150' 1.7678 6.0005 1.8 94 'ONLY' -POSI 'I173' 5 'I150' 2.6847 5.6501 1.8 0 'ONLY' -POSI 'I176' 2 'I150' 1.7618 5.2269 2.5 0 'ONLY' -POSI 'I176' 1 'I150' 0.4018 5.5869 2.5 0 'ONLY' -POSI 'I125' 1 'I132' -0.1271 6.9887 0.0 73 'ONLY' -POSI 'I122' 1 'I132' -0.1115 7.0256 0.0 73 'ONLY' -POSI 'I124' 1 'I132' -0.0949 7.0647 0.0 73 'ONLY' -POSI 'I125' 2 'I132' 0.9677 6.9226 0.0 71 'ONLY' -POSI 'I122' 2 'I132' 0.9889 6.9565 0.0 71 'ONLY' -POSI 'I124' 2 'I132' 1.0114 6.9925 0.0 71 'ONLY' -POSI 'I125' 3 'I132' 2.0387 6.686 0.0 69 'ONLY' -POSI 'I122' 3 'I132' 2.065 6.7162 0.0 69 'ONLY' -POSI 'I124' 3 'I132' 2.0929 6.7482 0.0 69 'ONLY' -POSI 'I125' 4 'I132' 3.0595 6.2847 0.0 67 'ONLY' -POSI 'I122' 4 'I132' 3.0902 6.3104 0.0 67 'ONLY' -POSI 'I124' 4 'I132' 3.1227 6.3378 0.0 67 'ONLY' -POSI 'I125' 6 'I132' 0.1887 3.935 0.0 0 'ONLY' -POSI 'I122' 6 'I132' 0.1887 3.895 0.0 0 'ONLY' -POSI 'I124' 6 'I132' 0.1887 3.8525 0.0 0 'ONLY' -POSI 'I125' 5 'I132' 1.2932 3.9802 0.0 11 'ONLY' -POSI 'I122' 5 'I132' 1.2809 3.9421 0.0 11 'ONLY' -POSI 'I124' 5 'I132' 1.2677 3.9017 0.0 11 'ONLY' -POSI 'I120' 1 'I132' -0.3173 5.3989 0.0 85 'ONLY' -POSI 'I100' 1 'I132' -0.1164 3.915 0.0 86 'ONLY' -POSI 'I101' 1 'I132' -0.0489 3.855 0.0 0 'ONLY' -POSI 'I102' 1 'I132' 0.0287 3.9025 0.0 119 'ONLY' -POSI 'I103' 1 'I132' 0.1887 3.95 0.0 0 'ONLY' -POSI 'I102' 2 'I132' 0.3487 3.9025 0.0 119 'ONLY' -POSI 'I101' 2 'I132' 0.4242 3.855 0.0 0 'ONLY' -POSI 'I104' 1 'I132' 0.4917 3.915 0.0 87 'ONLY' -POSI 'I105' 1 'I132' 0.5517 3.9845 0.0 119 'ONLY' -POSI 'I106' 1 'I132' 0.6117 4.0541 0.0 39 'ONLY' -POSI 'I107' 1 'I132' 0.868 4.0339 0.0 11 'ONLY' -POSI 'I102' 12 'I132' 1.131 3.9987 0.0 11 'ONLY' -POSI 'I103' 6 'I132' 1.2979 3.9944 0.0 11 'ONLY' -POSI 'I102' 11 'I132' 1.4354 3.8998 0.0 11 'ONLY' -POSI 'I108' 1 'I132' 1.6222 3.7888 0.0 11 'ONLY' -POSI 'I109' 1 'I132' 1.8337 3.7832 0.0 104 'ONLY' -POSI 'I110' 1 'I132' 2.6107 4.8806 0.0 66 'ONLY' -POSI 'I109' 2 'I132' 3.2872 6.0439 0.0 95 'ONLY' -POSI 'I111' 1 'I132' 3.2805 6.1451 0.0 63 'ONLY' -POSI 'I102' 3 'I132' 3.1875 6.1832 0.0 67 'ONLY' -POSI 'I103' 2 'I132' 3.0483 6.2753 0.0 67 'ONLY' -POSI 'I102' 4 'I132' 2.9818 6.4284 0.0 67 'ONLY' -POSI 'I112' 2 'I132' 2.828 6.6854 0.0 63 'ONLY' -POSI 'I116' 3 'I132' 2.5983 6.8653 0.0 96 'ONLY' -POSI 'I115' 3 'I132' 2.617 6.6084 0.0 68 'ONLY' -POSI 'I114' 3 'I132' 2.6353 6.3529 0.0 97 'ONLY' -POSI 'I113' 3 'I132' 2.4074 6.4715 0.0 74 'ONLY' -POSI 'I102' 7 'I132' 2.181 6.6058 0.0 69 'ONLY' -POSI 'I103' 4 'I132' 2.0291 6.6749 0.0 69 'ONLY' -POSI 'I102' 8 'I132' 1.9395 6.8157 0.0 69 'ONLY' -POSI 'I112' 4 'I132' 1.7473 7.0455 0.0 74 'ONLY' -POSI 'I116' 2 'I132' 1.4923 7.1872 0.0 98 'ONLY' -POSI 'I115' 2 'I132' 1.551 6.9364 0.0 99 'ONLY' -POSI 'I114' 2 'I132' 1.609 6.6869 0.0 100 'ONLY' -POSI 'I113' 2 'I132' 1.3654 6.7684 0.0 80 'ONLY' -POSI 'I102' 5 'I132' 1.1208 6.8656 0.0 71 'ONLY' -POSI 'I103' 3 'I132' 0.9599 6.9101 0.0 71 'ONLY' -POSI 'I102' 6 'I132' 0.8494 7.0352 0.0 71 'ONLY' -POSI 'I112' 3 'I132' 0.6237 7.2321 0.0 80 'ONLY' -POSI 'I116' 1 'I132' 0.3496 7.3322 0.0 101 'ONLY' -POSI 'I115' 1 'I132' 0.4468 7.0936 0.0 72 'ONLY' -POSI 'I114' 1 'I132' 0.5431 6.8563 0.0 102 'ONLY' -POSI 'I113' 1 'I132' 0.2898 6.8987 0.0 83 'ONLY' -POSI 'I102' 10 'I132' 0.033 6.9564 0.0 73 'ONLY' -POSI 'I103' 5 'I132' -0.1329 6.9752 0.0 73 'ONLY' -POSI 'I102' 9 'I132' -0.2616 7.0815 0.0 73 'ONLY' -POSI 'I112' 1 'I132' -0.5154 7.2406 0.0 83 'ONLY' -POSI 'I117' 1 'I132' -0.8017 7.2968 0.0 103 'ONLY' -POSI 'I118' 1 'I132' -0.6602 7.0903 0.0 84 'ONLY' -POSI 'I119' 1 'I132' -0.5183 6.8836 0.0 105 'ONLY' -POSI 'I186' 2 'I132' 0.15 3.817 0.0 78 'ONLY' -POSI 'I186' 1 'I132' 1.3976 3.8161 0.0 76 'ONLY' -POSI 'I131' 1 'I132' 3.0538 6.4757 0.0 63 'ONLY' -POSI 'I131' 2 'I132' 2.0032 6.8737 0.0 74 'ONLY' -POSI 'I131' 3 'I132' 0.9032 7.1024 0.0 80 'ONLY' -POSI 'I131' 4 'I132' -0.219 7.1563 0.0 83 'ONLY' -POSI 'I168' 1 'I167' 0.0 0.0 0.0 0 'ONLY' -POSI 'I170' 1 'I169' 0.0 0.0 0.0 0 'ONLY' -POSI 'I172' 1 'I171' 0.0 0.0 0.0 0 'ONLY' -POSI 'I174' 1 'I173' 0.0 0.0 0.0 0 'MANY' -POSI 'I175' 1 'I173' 0.0 0.0 -0.5 0 'ONLY' -POSI 'I177' 1 'I176' 0.0 0.0 0.0 0 'MANY' -POSI 'I178' 1 'I176' 0.0 0.0 -0.95 0 'ONLY' -POSI 'I123' 1 'I122' 0.0 0.0 0.0 0 'ONLY' -POSI 'I183' 1 'I186' 0.0 0.0125 0.0 0 'ONLY' -POSI 'I185' 2 'I186' -0.15 0.007 -19.41 119 'ONLY' -POSI 'I185' 1 'I186' -0.15 0.007 19.41 119 'ONLY' -POSI 'I184' 3 'I186' -0.15 -0.018 19.955 0 'ONLY' -POSI 'I184' 2 'I186' -0.15 -0.018 -19.955 0 'ONLY' -POSI 'I182' 4 'I186' -0.15 -0.008 12.72 119 'ONLY' -POSI 'I182' 3 'I186' -0.15 -0.008 -12.72 0 'ONLY' -POSI 'I182' 2 'I186' -0.15 -0.008 4.24 119 'ONLY' -POSI 'I182' 1 'I186' -0.15 -0.008 -4.24 119 'ONLY' -POSI 'ITS1' 1 'I186' -0.15 -0.0205 12.72 0 'ONLY' -POSI 'ITS1' 4 'I186' -0.15 -0.0205 -12.72 0 'ONLY' -POSI 'ITS1' 2 'I186' -0.15 -0.0205 4.24 0 'ONLY' -POSI 'ITS1' 3 'I186' -0.15 -0.0205 -4.24 0 'ONLY' -POSI 'I130' 2 'I131' 0.15 0.007 -19.41 119 'ONLY' -POSI 'I130' 1 'I131' 0.15 0.007 19.41 119 'ONLY' -POSI 'I129' 2 'I131' 0.15 -0.018 19.955 0 'ONLY' -POSI 'I129' 1 'I131' 0.15 -0.018 -19.955 0 'ONLY' -POSI 'I128' 1 'I131' 0.0 -0.0125 0.0 0 'ONLY' -POSI 'I127' 4 'I131' 0.15 0.008 12.72 0 'ONLY' -POSI 'I127' 3 'I131' 0.15 0.008 -12.72 0 'ONLY' -POSI 'I127' 2 'I131' 0.15 0.008 4.24 0 'ONLY' -POSI 'I127' 1 'I131' 0.15 0.008 -4.24 0 'ONLY' -POSI 'ITS2' 1 'I131' 0.15 0.0205 12.72 119 'ONLY' -POSI 'ITS2' 4 'I131' 0.15 0.0205 -12.72 0 'ONLY' -POSI 'ITS2' 2 'I131' 0.15 0.0205 4.24 119 'ONLY' -POSI 'ITS2' 3 'I131' 0.15 0.0205 -4.24 119 'ONLY' -! -! POSITIONNEMENTS ITS34 -! -POSI 'I048' 8 'IT34' -22.1376 -14.227 0.0 328 'ONLY' -POSI 'I048' 7 'IT34' -24.7213 -7.2588 0.0 329 'ONLY' -POSI 'I048' 6 'IT34' -26.315 0.0 0.0 350 'ONLY' -POSI 'I048' 5 'IT34' -24.7213 7.2588 0.0 330 'ONLY' -POSI 'I048' 4 'IT34' -22.1376 14.227 0.0 366 'ONLY' -POSI 'I048' 3 'IT34' -16.8725 19.4719 0.0 331 'ONLY' -POSI 'I048' 2 'IT34' -10.9317 23.937 0.0 332 'ONLY' -POSI 'I048' 1 'IT34' -3.6667 25.5027 0.0 335 'ONLY' -POSI 'I048' 22 'IT34' 3.745 26.0472 0.0 334 'ONLY' -POSI 'I048' 21 'IT34' 10.7032 23.4367 0.0 314 'ONLY' -POSI 'I048' 20 'IT34' 17.2327 19.8876 0.0 315 'ONLY' -POSI 'I048' 19 'IT34' 21.6749 13.9296 0.0 316 'ONLY' -POSI 'I048' 18 'IT34' 25.2491 7.4138 0.0 317 'ONLY' -POSI 'I048' 17 'IT34' 25.765 0.0 0.0 318 'ONLY' -POSI 'I048' 16 'IT34' 25.2491 -7.4138 0.0 319 'ONLY' -POSI 'I048' 15 'IT34' 21.6749 -13.9296 0.0 320 'ONLY' -POSI 'I048' 14 'IT34' 17.2327 -19.8876 0.0 322 'ONLY' -POSI 'I048' 13 'IT34' 10.7032 -23.4367 0.0 323 'ONLY' -POSI 'I048' 12 'IT34' 3.745 -26.0472 0.0 324 'ONLY' -POSI 'I048' 11 'IT34' -3.6667 -25.5027 0.0 325 'ONLY' -POSI 'I048' 10 'IT34' -10.9316 -23.937 0.0 326 'ONLY' -POSI 'I048' 9 'IT34' -16.8725 -19.4719 0.0 327 'ONLY' -POSI 'I005' 9 'IT34' -15.4744 -17.8584 -0.15 327 'ONLY' -POSI 'I005' 8 'IT34' -20.3415 -13.0727 -0.15 328 'ONLY' -POSI 'I005' 7 'IT34' -22.6728 -6.6573 -0.15 329 'ONLY' -POSI 'I005' 6 'IT34' -24.18 0.0 -0.15 350 'ONLY' -POSI 'I005' 5 'IT34' -22.6728 6.6573 -0.15 330 'ONLY' -POSI 'I005' 4 'IT34' -20.3415 13.0727 -0.15 366 'ONLY' -POSI 'I005' 3 'IT34' -15.4744 17.8584 -0.15 331 'ONLY' -POSI 'I005' 2 'IT34' -10.0447 21.9949 -0.15 332 'ONLY' -POSI 'I005' 1 'IT34' -3.3629 23.3895 -0.15 335 'ONLY' -POSI 'I005' 22 'IT34' 3.4412 23.9339 -0.15 334 'ONLY' -POSI 'I005' 21 'IT34' 9.8163 21.4946 -0.15 314 'ONLY' -POSI 'I005' 20 'IT34' 15.8345 18.274 -0.15 315 'ONLY' -POSI 'I005' 19 'IT34' 19.8788 12.7753 -0.15 316 'ONLY' -POSI 'I005' 18 'IT34' 23.2005 6.8123 -0.15 317 'ONLY' -POSI 'I005' 17 'IT34' 23.63 0.0 -0.15 318 'ONLY' -POSI 'I005' 16 'IT34' 23.2005 -6.8123 -0.15 319 'ONLY' -POSI 'I005' 15 'IT34' 19.8788 -12.7753 -0.15 320 'ONLY' -POSI 'I005' 14 'IT34' 15.8345 -18.274 -0.15 322 'ONLY' -POSI 'I005' 13 'IT34' 9.8163 -21.4946 -0.15 323 'ONLY' -POSI 'I005' 12 'IT34' 3.4412 -23.9339 -0.15 324 'ONLY' -POSI 'I005' 11 'IT34' -3.3629 -23.3895 -0.15 325 'ONLY' -POSI 'I005' 10 'IT34' -10.0447 -21.9949 -0.15 326 'ONLY' -POSI 'I047' 6 'IT34' -10.8893 -13.6547 0.0 311 'ONLY' -POSI 'I047' 5 'IT34' -15.1948 -7.3174 0.0 313 'ONLY' -POSI 'I047' 4 'IT34' -17.465 0.0 0.0 350 'ONLY' -POSI 'I047' 3 'IT34' -15.1948 7.3175 0.0 336 'ONLY' -POSI 'I047' 2 'IT34' -10.8892 13.6547 0.0 333 'ONLY' -POSI 'I047' 1 'IT34' -3.7528 16.4422 0.0 321 'ONLY' -POSI 'I047' 14 'IT34' 3.8863 17.0271 0.0 305 'ONLY' -POSI 'I047' 13 'IT34' 10.5152 13.1856 0.0 306 'ONLY' -POSI 'I047' 12 'IT34' 15.7354 7.5778 0.0 307 'ONLY' -POSI 'I047' 11 'IT34' 16.865 0.0 0.0 356 'ONLY' -POSI 'I047' 10 'IT34' 15.7354 -7.5778 0.0 308 'ONLY' -POSI 'I047' 9 'IT34' 10.5152 -13.1856 0.0 309 'ONLY' -POSI 'I047' 8 'IT34' 3.8863 -17.0271 0.0 386 'ONLY' -POSI 'I047' 7 'IT34' -3.7528 -16.4422 0.0 310 'ONLY' -POSI 'I004' 6 'IT34' -9.5581 -11.9855 0.0 311 'ONLY' -POSI 'I004' 5 'IT34' -13.2713 -6.3911 0.0 313 'ONLY' -POSI 'I004' 4 'IT34' -15.33 0.0 0.0 350 'ONLY' -POSI 'I004' 3 'IT34' -13.2713 6.3911 0.0 336 'ONLY' -POSI 'I004' 2 'IT34' -9.5581 11.9855 0.0 333 'ONLY' -POSI 'I004' 1 'IT34' -3.2777 14.3607 0.0 321 'ONLY' -POSI 'I004' 14 'IT34' 3.4113 14.9456 0.0 305 'ONLY' -POSI 'I004' 13 'IT34' 9.184 11.5164 0.0 306 'ONLY' -POSI 'I004' 12 'IT34' 13.8119 6.6514 0.0 307 'ONLY' -POSI 'I004' 11 'IT34' 14.73 0.0 0.0 356 'ONLY' -POSI 'I004' 10 'IT34' 13.8119 -6.6514 0.0 308 'ONLY' -POSI 'I004' 9 'IT34' 9.184 -11.5164 0.0 309 'ONLY' -POSI 'I004' 8 'IT34' 3.4112 -14.9456 0.0 386 'ONLY' -POSI 'I004' 7 'IT34' -3.2777 -14.3607 0.0 310 'ONLY' -POSI 'I024' 3 'I048' -0.0001 0.0 31.925 0 'ONLY' -POSI 'I024' 4 'I048' -0.0001 0.0 -31.925 355 'ONLY' -POSI 'I018' 13 'I048' -0.0001 0.0 -25.55 0 'ONLY' -POSI 'I018' 12 'I048' -0.0001 0.0 -18.25 0 'ONLY' -POSI 'I018' 11 'I048' -0.0001 0.0 -10.95 0 'ONLY' -POSI 'I018' 10 'I048' -0.0001 0.0 25.55 0 'ONLY' -POSI 'I018' 9 'I048' -0.0001 0.0 18.25 0 'ONLY' -POSI 'I018' 8 'I048' -0.0001 0.0 10.95 0 'ONLY' -POSI 'I018' 7 'I048' -0.0001 0.0 3.65 0 'ONLY' -POSI 'I018' 6 'I048' -0.0001 0.0 -3.65 0 'ONLY' -POSI 'I402' 5 'I005' 0.0 -0.115 -3.55 0 'ONLY' -POSI 'I402' 4 'I005' 0.0 0.115 3.85 0 'ONLY' -POSI 'I402' 2 'I005' 0.0 0.115 18.75 0 'ONLY' -POSI 'I402' 3 'I005' 0.0 -0.115 11.15 0 'ONLY' -POSI 'I402' 1 'I005' 0.0 -0.115 25.9 0 'ONLY' -POSI 'I402' 6 'I005' 0.0 0.115 -11.05 0 'ONLY' -POSI 'I402' 7 'I005' 0.0 -0.115 -18.3 0 'ONLY' -POSI 'I402' 8 'I005' 0.0 0.115 -25.9 0 'ONLY' -POSI 'I024' 1 'I047' 0.0 0.0 20.975 0 'ONLY' -POSI 'I018' 4 'I047' 0.0 0.0 7.3 0 'ONLY' -POSI 'I018' 5 'I047' 0.0 0.0 14.6 0 'ONLY' -POSI 'I018' 1 'I047' 0.0 0.0 0.0 0 'ONLY' -POSI 'I018' 3 'I047' 0.0 0.0 -14.6 0 'ONLY' -POSI 'I018' 2 'I047' 0.0 0.0 -7.3 0 'ONLY' -POSI 'I024' 2 'I047' 0.0 0.0 -20.975 355 'ONLY' -POSI 'I302' 4 'I004' 0.0 -0.115 -3.7 0 'ONLY' -POSI 'I302' 3 'I004' 0.0 0.115 3.7 0 'ONLY' -POSI 'I302' 6 'I004' 0.0 -0.115 -18.35 0 'ONLY' -POSI 'I302' 5 'I004' 0.0 0.115 -11.2 0 'ONLY' -POSI 'I302' 2 'I004' 0.0 -0.115 10.95 0 'ONLY' -POSI 'I302' 1 'I004' 0.0 0.115 18.55 0 'ONLY' -POSI 'I025' 2 'I024' 1.987 -1.5842 0.0 343 'ONLY' -POSI 'I026' 2 'I024' 1.8824 -1.7349 0.0 344 'ONLY' -POSI 'I025' 1 'I024' -1.9 -1.7349 0.0 344 'ONLY' -POSI 'I026' 1 'I024' -1.9782 -1.5689 0.0 342 'ONLY' -POSI 'I026' 3 'I024' 0.0958 1.6914 0.0 343 'ONLY' -POSI 'I025' 3 'I024' -0.087 1.7067 0.0 342 'ONLY' -POSI 'I021' 10 'I024' 1.0761 0.0836 1.7742 337 'ONLY' -POSI 'I021' 9 'I024' -1.0761 0.0836 1.7742 339 'ONLY' -POSI 'I021' 12 'I024' 1.0761 0.0836 -0.1242 340 'ONLY' -POSI 'I021' 11 'I024' -1.0761 0.0836 -0.1242 338 'ONLY' -POSI 'I021' 13 'I024' -1.0761 0.0836 -1.8758 339 'ONLY' -POSI 'I021' 14 'I024' 1.0761 0.0836 -1.8758 337 'ONLY' -POSI 'I023' 3 'I024' 0.0 -1.7899 -1.0 341 'ONLY' -POSI 'I022' 3 'I024' 0.0 -1.7899 0.825 312 'ONLY' -POSI 'I028' 1 'I024' 0.0 -1.7999 1.875 0 'MANY' -POSI 'I029' 1 'I024' 0.0 -0.9999 2.65 0 'ONLY' -POSI 'I030' 1 'I024' 0.0 0.6001 2.65 344 'ONLY' -POSI 'I027' 1 'I024' 0.0 0.0001 1.9965 352 'ONLY' -POSI 'I032' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I032' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I046' 6 'I024' -0.616 1.1702 0.0 353 'ONLY' -POSI 'I046' 5 'I024' -0.566 1.1702 0.0 353 'ONLY' -POSI 'I046' 4 'I024' 0.616 1.1702 0.0 354 'ONLY' -POSI 'I046' 3 'I024' 0.566 1.1702 0.0 354 'ONLY' -POSI 'I046' 2 'I024' 0.516 1.1702 0.0 354 'ONLY' -POSI 'I046' 1 'I024' -0.516 1.1702 0.0 353 'ONLY' -POSI 'I022' 2 'I018' 0.0 -1.79 -0.1 312 'ONLY' -POSI 'I021' 8 'I018' 1.0761 0.0835 0.8492 337 'ONLY' -POSI 'I021' 7 'I018' -1.0761 0.0835 2.6008 338 'ONLY' -POSI 'I021' 6 'I018' -1.0761 0.0835 0.8492 339 'ONLY' -POSI 'I021' 5 'I018' 1.0761 0.0835 -1.0492 340 'ONLY' -POSI 'I021' 4 'I018' 1.0761 0.0835 -2.8008 337 'ONLY' -POSI 'I021' 3 'I018' -1.0761 0.0835 -1.0492 338 'ONLY' -POSI 'I021' 2 'I018' -1.0761 0.0835 -2.8008 339 'ONLY' -POSI 'I023' 2 'I018' 0.0 -1.79 -1.925 341 'ONLY' -POSI 'I019' 3 'I018' -0.087 1.7066 0.0 342 'ONLY' -POSI 'I020' 3 'I018' 0.0958 1.6913 0.0 343 'ONLY' -POSI 'I019' 2 'I018' 1.987 -1.5843 0.0 343 'ONLY' -POSI 'I020' 2 'I018' 1.8824 -1.735 0.0 344 'ONLY' -POSI 'I022' 1 'I018' 0.0 -1.79 3.55 312 'ONLY' -POSI 'I021' 1 'I018' 1.0761 0.0835 2.6008 340 'ONLY' -POSI 'I023' 1 'I018' 0.0 -1.79 1.725 341 'ONLY' -POSI 'I019' 1 'I018' -1.9 -1.735 0.0 344 'ONLY' -POSI 'I020' 1 'I018' -1.9782 -1.569 0.0 342 'ONLY' -POSI 'I033' 1 'I018' 1.8 -1.75 1.35 0 'MANY' -POSI 'I033' 4 'I018' 1.8 -1.75 -2.65 0 'MANY' -POSI 'I033' 2 'I018' -1.8 -1.75 -2.65 345 'MANY' -POSI 'I033' 3 'I018' -1.8 -1.75 1.35 345 'MANY' -POSI 'I036' 1 'I018' 0.3087 1.7191 3.56 346 'ONLY' -POSI 'I036' 4 'I018' -0.3087 1.7191 3.56 347 'ONLY' -POSI 'I036' 2 'I018' 0.3087 1.7191 -0.11 346 'ONLY' -POSI 'I036' 3 'I018' -0.3087 1.7191 -0.11 347 'ONLY' -POSI 'I034' 1 'I018' 1.6 -1.775 1.35 312 'ONLY' -POSI 'I034' 4 'I018' 1.6 -1.775 -2.65 312 'ONLY' -POSI 'I034' 2 'I018' -1.6 -1.775 -2.65 348 'ONLY' -POSI 'I034' 3 'I018' -1.6 -1.775 1.35 348 'ONLY' -POSI 'I035' 2 'I018' -1.7 -0.55 2.8581 345 'MANY' -POSI 'I035' 1 'I018' 1.7 -0.55 2.8581 0 'MANY' -POSI 'I045' 1 'I018' 0.7483 0.9337 0.0 346 'ONLY' -POSI 'I045' 2 'I018' 0.7065 0.9337 0.0 346 'ONLY' -POSI 'I045' 3 'I018' -0.7483 0.9337 0.0 347 'ONLY' -POSI 'I045' 4 'I018' -0.7065 0.9337 0.0 347 'ONLY' -POSI 'I038' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I038' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I039' 1 'I018' 1.8126 -0.485 0.0 346 'ONLY' -POSI 'I040' 1 'I018' 1.9204 -0.7118 0.0 346 'ONLY' -POSI 'I041' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I042' 1 'I018' 2.0342 -0.8189 3.12 346 'ONLY' -POSI 'I042' 2 'I018' 2.0342 -0.8189 2.28 346 'ONLY' -POSI 'I042' 3 'I018' 2.0342 -0.8189 1.38 346 'ONLY' -POSI 'I042' 4 'I018' 2.0342 -0.8189 0.48 346 'ONLY' -POSI 'I042' 5 'I018' 2.0342 -0.8189 -0.42 346 'ONLY' -POSI 'I042' 6 'I018' 2.0342 -0.8189 -1.32 346 'ONLY' -POSI 'I042' 7 'I018' 2.0342 -0.8189 -2.22 346 'ONLY' -POSI 'I042' 8 'I018' 2.0342 -0.8189 -3.12 346 'ONLY' -POSI 'I043' 8 'I018' 1.5592 0.0038 -3.15 346 'ONLY' -POSI 'I043' 7 'I018' 1.5592 0.0038 -2.25 346 'ONLY' -POSI 'I043' 6 'I018' 1.5592 0.0038 -1.35 346 'ONLY' -POSI 'I043' 5 'I018' 1.5592 0.0038 -0.45 346 'ONLY' -POSI 'I043' 4 'I018' 1.5592 0.0038 0.45 346 'ONLY' -POSI 'I043' 3 'I018' 1.5592 0.0038 1.35 346 'ONLY' -POSI 'I043' 2 'I018' 1.5592 0.0038 2.25 346 'ONLY' -POSI 'I043' 1 'I018' 1.5592 0.0038 3.15 346 'ONLY' -POSI 'I039' 2 'I018' -1.8126 -0.485 0.0 347 'ONLY' -POSI 'I041' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I040' 2 'I018' -1.9204 -0.7118 0.0 347 'ONLY' -POSI 'I043' 16 'I018' -1.5592 0.0038 -3.15 347 'ONLY' -POSI 'I042' 9 'I018' -2.0342 -0.8189 -3.12 347 'ONLY' -POSI 'I043' 15 'I018' -1.5592 0.0038 -2.25 347 'ONLY' -POSI 'I042' 10 'I018' -2.0342 -0.8189 -2.22 347 'ONLY' -POSI 'I042' 11 'I018' -2.0342 -0.8189 -1.32 347 'ONLY' -POSI 'I043' 14 'I018' -1.5592 0.0038 -1.35 347 'ONLY' -POSI 'I042' 12 'I018' -2.0342 -0.8189 -0.42 347 'ONLY' -POSI 'I043' 13 'I018' -1.5592 0.0038 -0.45 347 'ONLY' -POSI 'I043' 12 'I018' -1.5592 0.0038 0.45 347 'ONLY' -POSI 'I043' 11 'I018' -1.5592 0.0038 1.35 347 'ONLY' -POSI 'I043' 10 'I018' -1.5592 0.0038 2.25 347 'ONLY' -POSI 'I043' 9 'I018' -1.5592 0.0038 3.15 347 'ONLY' -POSI 'I042' 16 'I018' -2.0342 -0.8189 3.12 347 'ONLY' -POSI 'I042' 15 'I018' -2.0342 -0.8189 2.28 347 'ONLY' -POSI 'I042' 14 'I018' -2.0342 -0.8189 1.38 347 'ONLY' -POSI 'I042' 13 'I018' -2.0342 -0.8189 0.48 347 'ONLY' -POSI 'I044' 2 'I018' -2.7487 -1.3673 -0.2 349 'ONLY' -POSI 'I044' 1 'I018' 2.7487 -1.3673 -0.2 351 'ONLY' -POSI 'I303' 1 'I302' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I303' 2 'I302' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I303' 3 'I302' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I303' 4 'I302' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'I403' 1 'I402' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I403' 2 'I402' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I403' 3 'I402' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I403' 4 'I402' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'ITS3' 1 'I302' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS4' 1 'I402' 0.0 0.0 0.0 0 'ONLY' -! -! POSITIONNEMENTS ITS56 -! -POSI 'I570' 17 'IT56' -7.4965 -44.9238 -0.27 569 'ONLY' -POSI 'I569' 17 'IT56' -7.1673 -42.9511 0.005 569 'ONLY' -POSI 'I570' 16 'IT56' -14.838 -43.2217 -0.27 568 'ONLY' -POSI 'I569' 16 'IT56' -14.1886 -41.33 0.005 568 'ONLY' -POSI 'I570' 15 'IT56' -21.677 -40.0556 -0.27 567 'ONLY' -POSI 'I569' 15 'IT56' -20.7251 -38.2967 0.005 567 'ONLY' -POSI 'I570' 14 'IT56' -28.0681 -36.0619 -0.27 566 'ONLY' -POSI 'I569' 14 'IT56' -26.8397 -34.4836 0.005 566 'ONLY' -POSI 'I570' 13 'IT56' -33.5086 -30.8468 -0.27 565 'ONLY' -POSI 'I569' 13 'IT56' -32.0371 -29.4922 0.005 565 'ONLY' -POSI 'I570' 12 'IT56' -38.2566 -24.9943 -0.27 564 'ONLY' -POSI 'I569' 12 'IT56' -36.5823 -23.9004 0.005 564 'ONLY' -POSI 'I570' 11 'IT56' -41.7089 -18.2952 -0.27 563 'ONLY' -POSI 'I569' 11 'IT56' -39.8773 -17.4918 0.005 563 'ONLY' -POSI 'I570' 10 'IT56' -44.2994 -11.2181 -0.27 562 'ONLY' -POSI 'I569' 10 'IT56' -42.3606 -10.7271 0.005 562 'ONLY' -POSI 'I570' 9 'IT56' -45.3894 -3.7611 -0.27 561 'ONLY' -POSI 'I569' 9 'IT56' -43.3963 -3.5959 0.005 561 'ONLY' -POSI 'I570' 8 'IT56' -45.5416 3.7737 -0.27 560 'ONLY' -POSI 'I569' 8 'IT56' -43.5484 3.6085 0.005 560 'ONLY' -POSI 'I570' 7 'IT56' -44.1513 11.1806 -0.27 559 'ONLY' -POSI 'I569' 7 'IT56' -42.2125 10.6897 0.005 559 'ONLY' -POSI 'I570' 6 'IT56' -41.8487 18.3566 -0.27 558 'ONLY' -POSI 'I569' 6 'IT56' -40.0172 17.5532 0.005 558 'ONLY' -POSI 'I569' 5 'IT56' -36.4544 23.8169 0.005 557 'ONLY' -POSI 'I570' 5 'IT56' -38.1287 24.9108 -0.27 557 'ONLY' -POSI 'I569' 4 'IT56' -32.1494 29.5956 0.005 556 'ONLY' -POSI 'I570' 4 'IT56' -33.6209 30.9502 -0.27 556 'ONLY' -POSI 'I570' 3 'IT56' -27.9743 35.9414 -0.27 555 'ONLY' -POSI 'I569' 3 'IT56' -26.7459 34.3631 0.005 555 'ONLY' -POSI 'I569' 2 'IT56' -20.7978 38.431 0.005 554 'ONLY' -POSI 'I570' 2 'IT56' -21.7497 40.1899 -0.27 554 'ONLY' -POSI 'I569' 1 'IT56' -14.139 41.1856 0.005 553 'ONLY' -POSI 'I570' 1 'IT56' -14.7884 43.0772 -0.27 553 'ONLY' -POSI 'I570' 38 'IT56' -7.5216 45.0744 -0.27 552 'ONLY' -POSI 'I569' 38 'IT56' -7.1924 43.1017 0.005 552 'ONLY' -POSI 'I570' 37 'IT56' 0.0 45.545 -0.27 0 'ONLY' -POSI 'I569' 37 'IT56' 0.0 43.545 0.005 0 'ONLY' -POSI 'I570' 36 'IT56' 7.5216 45.0744 -0.27 551 'ONLY' -POSI 'I569' 36 'IT56' 7.1924 43.1017 0.005 551 'ONLY' -POSI 'I569' 35 'IT56' 14.139 41.1856 0.005 550 'ONLY' -POSI 'I570' 35 'IT56' 14.7884 43.0772 -0.27 550 'ONLY' -POSI 'I570' 34 'IT56' 21.7497 40.1899 -0.27 549 'ONLY' -POSI 'I569' 34 'IT56' 20.7978 38.431 0.005 549 'ONLY' -POSI 'I570' 33 'IT56' 27.9743 35.9414 -0.27 548 'ONLY' -POSI 'I569' 33 'IT56' 26.7459 34.3631 0.005 548 'ONLY' -POSI 'I570' 32 'IT56' 33.6209 30.9502 -0.27 547 'ONLY' -POSI 'I569' 32 'IT56' 32.1494 29.5956 0.005 547 'ONLY' -POSI 'I570' 31 'IT56' 38.1287 24.9107 -0.27 546 'ONLY' -POSI 'I569' 31 'IT56' 36.4544 23.8169 0.005 546 'ONLY' -POSI 'I570' 30 'IT56' 41.8487 18.3566 -0.27 545 'ONLY' -POSI 'I569' 30 'IT56' 40.0172 17.5532 0.005 545 'ONLY' -POSI 'I570' 29 'IT56' 44.1513 11.1806 -0.27 544 'ONLY' -POSI 'I569' 29 'IT56' 42.2125 10.6897 0.005 544 'ONLY' -POSI 'I570' 28 'IT56' 45.5416 3.7737 -0.27 543 'ONLY' -POSI 'I569' 28 'IT56' 43.5484 3.6085 0.005 543 'ONLY' -POSI 'I570' 27 'IT56' 45.3894 -3.7611 -0.27 542 'ONLY' -POSI 'I569' 27 'IT56' 43.3963 -3.5959 0.005 542 'ONLY' -POSI 'I570' 26 'IT56' 44.2994 -11.2181 -0.27 541 'ONLY' -POSI 'I569' 26 'IT56' 42.3606 -10.7272 0.005 541 'ONLY' -POSI 'I569' 25 'IT56' 39.8773 -17.4918 0.005 540 'ONLY' -POSI 'I570' 25 'IT56' 41.7089 -18.2952 -0.27 540 'ONLY' -POSI 'I569' 24 'IT56' 36.5822 -23.9004 0.005 539 'ONLY' -POSI 'I570' 24 'IT56' 38.2566 -24.9943 -0.27 539 'ONLY' -POSI 'I569' 23 'IT56' 32.0371 -29.4922 0.005 538 'ONLY' -POSI 'I570' 23 'IT56' 33.5086 -30.8468 -0.27 538 'ONLY' -POSI 'I569' 22 'IT56' 26.8397 -34.4836 0.005 537 'ONLY' -POSI 'I570' 22 'IT56' 28.0681 -36.0619 -0.27 537 'ONLY' -POSI 'I569' 21 'IT56' 20.7251 -38.2967 0.005 536 'ONLY' -POSI 'I570' 21 'IT56' 21.677 -40.0556 -0.27 536 'ONLY' -POSI 'I570' 20 'IT56' 14.838 -43.2217 -0.27 535 'ONLY' -POSI 'I569' 20 'IT56' 14.1886 -41.33 0.005 535 'ONLY' -POSI 'I570' 19 'IT56' 7.4965 -44.9238 -0.27 534 'ONLY' -POSI 'I569' 19 'IT56' 7.1673 -42.9511 0.005 534 'ONLY' -POSI 'I569' 18 'IT56' 0.0 -43.6977 0.005 533 'ONLY' -POSI 'I570' 18 'IT56' 0.0 -45.6977 -0.27 533 'ONLY' -POSI 'I565' 9 'IT56' -38.8784 3.6026 -0.09 524 'ONLY' -POSI 'I565' 8 'IT56' -37.7021 10.7272 -0.09 523 'ONLY' -POSI 'I565' 7 'IT56' -34.9517 17.4039 -0.09 522 'ONLY' -POSI 'I565' 6 'IT56' -31.2811 23.6224 -0.09 521 'ONLY' -POSI 'I565' 5 'IT56' -26.3044 28.8546 -0.09 520 'ONLY' -POSI 'I565' 4 'IT56' -20.6354 33.3272 -0.09 519 'ONLY' -POSI 'I565' 3 'IT56' -14.1047 36.4084 -0.09 518 'ONLY' -POSI 'I565' 2 'IT56' -7.2027 38.5311 -0.09 517 'ONLY' -POSI 'I565' 1 'IT56' 0.0 39.045 -0.09 0 'ONLY' -POSI 'I565' 34 'IT56' 7.2027 38.5311 -0.09 516 'ONLY' -POSI 'I565' 33 'IT56' 14.1047 36.4084 -0.09 515 'ONLY' -POSI 'I565' 32 'IT56' 20.6354 33.3272 -0.09 514 'ONLY' -POSI 'I565' 31 'IT56' 26.3045 28.8546 -0.09 513 'ONLY' -POSI 'I565' 30 'IT56' 31.2811 23.6224 -0.09 512 'ONLY' -POSI 'I565' 29 'IT56' 34.9517 17.4038 -0.09 511 'ONLY' -POSI 'I565' 28 'IT56' 37.7021 10.7272 -0.09 510 'ONLY' -POSI 'I565' 27 'IT56' 38.8784 3.6026 -0.09 509 'ONLY' -POSI 'I565' 26 'IT56' 39.0313 -3.6168 -0.09 508 'ONLY' -POSI 'I565' 25 'IT56' 37.5545 -10.6852 -0.09 507 'ONLY' -POSI 'I565' 24 'IT56' 35.089 -17.4723 -0.09 506 'ONLY' -POSI 'I565' 23 'IT56' 31.1586 -23.5299 -0.09 505 'ONLY' -POSI 'I565' 22 'IT56' 26.4078 -28.968 -0.09 504 'ONLY' -POSI 'I565' 21 'IT56' 20.5545 -33.1967 -0.09 503 'ONLY' -POSI 'I565' 20 'IT56' 14.1601 -36.5515 -0.09 502 'ONLY' -POSI 'I565' 19 'IT56' 7.1745 -38.3802 -0.09 501 'ONLY' -POSI 'I565' 18 'IT56' 0.0 -39.1985 -0.09 533 'ONLY' -POSI 'I565' 17 'IT56' -7.1745 -38.3802 -0.09 532 'ONLY' -POSI 'I565' 16 'IT56' -14.1601 -36.5515 -0.09 531 'ONLY' -POSI 'I565' 15 'IT56' -20.5546 -33.1967 -0.09 530 'ONLY' -POSI 'I565' 14 'IT56' -26.4079 -28.968 -0.09 529 'ONLY' -POSI 'I565' 13 'IT56' -31.1586 -23.5299 -0.09 528 'ONLY' -POSI 'I565' 12 'IT56' -35.0891 -17.4723 -0.09 527 'ONLY' -POSI 'I565' 11 'IT56' -37.5545 -10.6852 -0.09 526 'ONLY' -POSI 'I565' 10 'IT56' -39.0313 -3.6168 -0.09 525 'ONLY' -POSI 'I571' 17 'IT56' 0.0 -41.1985 0.0 533 'ONLY' -POSI 'I571' 18 'IT56' -7.542 -40.3461 0.0 532 'ONLY' -POSI 'I571' 15 'IT56' -14.8826 -38.4165 0.0 531 'ONLY' -POSI 'I571' 16 'IT56' -21.6074 -34.8972 0.0 530 'ONLY' -POSI 'I571' 13 'IT56' -27.7553 -30.4461 0.0 529 'ONLY' -POSI 'I571' 14 'IT56' -32.7546 -24.7351 0.0 528 'ONLY' -POSI 'I571' 11 'IT56' -36.8794 -18.3637 0.0 527 'ONLY' -POSI 'I571' 12 'IT56' -39.4781 -11.2325 0.0 526 'ONLY' -POSI 'I571' 9 'IT56' -41.0228 -3.8013 0.0 525 'ONLY' -POSI 'I571' 10 'IT56' -40.8699 3.7872 0.0 524 'ONLY' -POSI 'I571' 7 'IT56' -39.6258 11.2745 0.0 523 'ONLY' -POSI 'I571' 8 'IT56' -36.742 18.2953 0.0 522 'ONLY' -POSI 'I571' 5 'IT56' -32.8771 24.8276 0.0 521 'ONLY' -POSI 'I571' 6 'IT56' -27.6518 30.3326 0.0 520 'ONLY' -POSI 'I571' 3 'IT56' -21.6882 35.0277 0.0 519 'ONLY' -POSI 'I571' 4 'IT56' -14.8272 38.2733 0.0 518 'ONLY' -POSI 'I571' 2 'IT56' -7.5702 40.497 0.0 517 'ONLY' -POSI 'I571' 1 'IT56' 0.0 41.045 0.0 0 'ONLY' -POSI 'I571' 33 'IT56' 7.5702 40.497 0.0 516 'ONLY' -POSI 'I571' 34 'IT56' 14.8272 38.2733 0.0 515 'ONLY' -POSI 'I571' 31 'IT56' 21.6882 35.0277 0.0 514 'ONLY' -POSI 'I571' 32 'IT56' 27.6518 30.3326 0.0 513 'ONLY' -POSI 'I571' 29 'IT56' 32.8771 24.8276 0.0 512 'ONLY' -POSI 'I571' 30 'IT56' 36.742 18.2953 0.0 511 'ONLY' -POSI 'I571' 27 'IT56' 39.6258 11.2745 0.0 510 'ONLY' -POSI 'I571' 28 'IT56' 40.8699 3.7871 0.0 509 'ONLY' -POSI 'I571' 26 'IT56' 41.0227 -3.8013 0.0 508 'ONLY' -POSI 'I571' 25 'IT56' 39.4781 -11.2325 0.0 507 'ONLY' -POSI 'I571' 23 'IT56' 36.8794 -18.3638 0.0 506 'ONLY' -POSI 'I571' 24 'IT56' 32.7546 -24.7352 0.0 505 'ONLY' -POSI 'I571' 21 'IT56' 27.7552 -30.4461 0.0 504 'ONLY' -POSI 'I571' 22 'IT56' 21.6074 -34.8972 0.0 503 'ONLY' -POSI 'I571' 19 'IT56' 14.8826 -38.4165 0.0 502 'ONLY' -POSI 'I571' 20 'IT56' 7.542 -40.3461 0.0 501 'ONLY' -POSI 'I553' 1 'I570' 0.0051 0.0 53.98 0 'ONLY' -POSI 'I523' 2 'I570' 0.0001 0.0 48.875 0 'ONLY' -POSI 'I523' 3 'I570' 0.0001 0.0 44.965 0 'ONLY' -POSI 'I523' 4 'I570' 0.0001 0.0 41.055 0 'ONLY' -POSI 'I523' 5 'I570' 0.0001 0.0 33.235 0 'ONLY' -POSI 'I523' 6 'I570' 0.0001 0.0 37.145 0 'ONLY' -POSI 'I523' 7 'I570' 0.0001 0.0 29.325 0 'ONLY' -POSI 'I523' 8 'I570' 0.0001 0.0 25.415 0 'ONLY' -POSI 'I523' 9 'I570' 0.0001 0.0 21.505 0 'ONLY' -POSI 'I523' 10 'I570' 0.0001 0.0 13.685 0 'ONLY' -POSI 'I523' 11 'I570' 0.0001 0.0 17.595 0 'ONLY' -POSI 'I523' 12 'I570' 0.0001 0.0 9.775 0 'ONLY' -POSI 'I523' 13 'I570' 0.0001 0.0 5.865 0 'ONLY' -POSI 'I523' 14 'I570' 0.0001 0.0 1.955 0 'ONLY' -POSI 'I523' 15 'I570' 0.0001 0.0 -1.955 0 'ONLY' -POSI 'I523' 16 'I570' 0.0001 0.0 -9.775 0 'ONLY' -POSI 'I523' 17 'I570' 0.0001 0.0 -5.865 0 'ONLY' -POSI 'I523' 18 'I570' 0.0001 0.0 -13.685 0 'ONLY' -POSI 'I523' 19 'I570' 0.0001 0.0 -21.505 0 'ONLY' -POSI 'I523' 20 'I570' 0.0001 0.0 -17.595 0 'ONLY' -POSI 'I523' 21 'I570' 0.0001 0.0 -25.415 0 'ONLY' -POSI 'I523' 22 'I570' 0.0001 0.0 -29.325 0 'ONLY' -POSI 'I523' 23 'I570' 0.0001 0.0 -37.145 0 'ONLY' -POSI 'I523' 24 'I570' 0.0001 0.0 -33.235 0 'ONLY' -POSI 'I523' 25 'I570' 0.0001 0.0 -44.965 0 'ONLY' -POSI 'I523' 26 'I570' 0.0001 0.0 -41.055 0 'ONLY' -POSI 'I553' 2 'I570' -0.0049 0.0 -53.98 570 'ONLY' -POSI 'I523' 1 'I570' 0.0001 0.0 -48.875 0 'ONLY' -POSI 'I566' 26 'I569' 0.0 0.03 -48.875 0 'ONLY' -POSI 'I568' 39 'I569' -1.8 0.015 48.455 572 'ONLY' -POSI 'I568' 38 'I569' 1.8 0.015 48.455 571 'ONLY' -POSI 'I568' 37 'I569' 0.0 0.015 50.555 571 'ONLY' -POSI 'I566' 2 'I569' 0.0 0.03 44.965 0 'ONLY' -POSI 'I566' 1 'I569' 0.0 -0.03 48.875 0 'ONLY' -POSI 'I568' 36 'I569' -1.8 0.015 40.635 572 'ONLY' -POSI 'I568' 35 'I569' 1.8 0.015 40.635 571 'ONLY' -POSI 'I568' 34 'I569' 0.0 0.015 42.735 571 'ONLY' -POSI 'I566' 4 'I569' 0.0 0.03 37.145 0 'ONLY' -POSI 'I566' 3 'I569' 0.0 -0.03 41.055 574 'ONLY' -POSI 'I568' 33 'I569' -1.8 0.015 32.815 572 'ONLY' -POSI 'I568' 32 'I569' 1.8 0.015 32.815 571 'ONLY' -POSI 'I568' 31 'I569' 0.0 0.015 34.915 571 'ONLY' -POSI 'I566' 6 'I569' 0.0 0.03 29.325 0 'ONLY' -POSI 'I566' 5 'I569' 0.0 -0.03 33.235 574 'ONLY' -POSI 'I568' 30 'I569' -1.8 0.015 24.995 572 'ONLY' -POSI 'I568' 29 'I569' 1.8 0.015 24.995 571 'ONLY' -POSI 'I568' 28 'I569' 0.0 0.015 27.095 571 'ONLY' -POSI 'I566' 8 'I569' 0.0 0.03 21.505 0 'ONLY' -POSI 'I566' 7 'I569' 0.0 -0.03 25.415 574 'ONLY' -POSI 'I568' 27 'I569' -1.8 0.015 17.175 572 'ONLY' -POSI 'I568' 26 'I569' 1.8 0.015 17.175 571 'ONLY' -POSI 'I568' 25 'I569' 0.0 0.015 19.275 571 'ONLY' -POSI 'I566' 10 'I569' 0.0 0.03 13.685 0 'ONLY' -POSI 'I566' 9 'I569' 0.0 -0.03 17.595 574 'ONLY' -POSI 'I568' 24 'I569' -1.8 0.015 9.355 572 'ONLY' -POSI 'I568' 23 'I569' 1.8 0.015 9.355 571 'ONLY' -POSI 'I568' 22 'I569' 0.0 0.015 11.455 571 'ONLY' -POSI 'I566' 12 'I569' 0.0 0.03 5.865 0 'ONLY' -POSI 'I566' 11 'I569' 0.0 -0.03 9.775 574 'ONLY' -POSI 'I568' 21 'I569' -1.8 0.015 1.535 572 'ONLY' -POSI 'I568' 20 'I569' 1.8 0.015 1.535 571 'ONLY' -POSI 'I568' 19 'I569' 0.0 0.015 3.635 571 'ONLY' -POSI 'I566' 14 'I569' 0.0 0.03 -1.955 0 'ONLY' -POSI 'I566' 13 'I569' 0.0 -0.03 1.955 0 'ONLY' -POSI 'I568' 18 'I569' -1.8 0.015 -6.285 572 'ONLY' -POSI 'I568' 17 'I569' 1.8 0.015 -6.285 571 'ONLY' -POSI 'I568' 16 'I569' 0.0 0.015 -4.185 571 'ONLY' -POSI 'I566' 16 'I569' 0.0 0.03 -9.775 0 'ONLY' -POSI 'I566' 15 'I569' 0.0 -0.03 -5.865 574 'ONLY' -POSI 'I568' 15 'I569' -1.8 0.015 -14.105 572 'ONLY' -POSI 'I568' 14 'I569' 1.8 0.015 -14.105 571 'ONLY' -POSI 'I568' 13 'I569' 0.0 0.015 -12.005 571 'ONLY' -POSI 'I566' 18 'I569' 0.0 0.03 -17.595 0 'ONLY' -POSI 'I566' 17 'I569' 0.0 -0.03 -13.685 574 'ONLY' -POSI 'I568' 12 'I569' -1.8 0.015 -21.925 572 'ONLY' -POSI 'I568' 11 'I569' 1.8 0.015 -21.925 571 'ONLY' -POSI 'I568' 10 'I569' 0.0 0.015 -19.825 571 'ONLY' -POSI 'I566' 20 'I569' 0.0 0.03 -25.415 0 'ONLY' -POSI 'I566' 19 'I569' 0.0 -0.03 -21.505 574 'ONLY' -POSI 'I568' 9 'I569' -1.8 0.015 -29.745 572 'ONLY' -POSI 'I568' 8 'I569' 1.8 0.015 -29.745 571 'ONLY' -POSI 'I568' 7 'I569' 0.0 0.015 -27.645 571 'ONLY' -POSI 'I566' 22 'I569' 0.0 0.03 -33.235 0 'ONLY' -POSI 'I566' 21 'I569' 0.0 -0.03 -29.325 574 'ONLY' -POSI 'I568' 6 'I569' -1.8 0.015 -37.565 572 'ONLY' -POSI 'I568' 5 'I569' 1.8 0.015 -37.565 571 'ONLY' -POSI 'I568' 4 'I569' 0.0 0.015 -35.465 571 'ONLY' -POSI 'I566' 24 'I569' 0.0 0.03 -41.055 0 'ONLY' -POSI 'I566' 23 'I569' 0.0 -0.03 -37.145 0 'ONLY' -POSI 'I568' 3 'I569' -1.8 0.015 -45.385 572 'ONLY' -POSI 'I568' 2 'I569' 1.8 0.015 -45.385 571 'ONLY' -POSI 'I568' 1 'I569' 0.0 0.015 -43.285 571 'ONLY' -POSI 'I566' 25 'I569' 0.0 -0.03 -44.965 574 'ONLY' -POSI 'I562' 22 'I565' 0.0 0.03 -39.2003 0 'ONLY' -POSI 'I564' 36 'I565' 1.8 0.015 42.6897 571 'ONLY' -POSI 'I564' 35 'I565' 0.0 0.015 44.7897 571 'ONLY' -POSI 'I564' 34 'I565' -1.8 0.015 42.6897 572 'ONLY' -POSI 'I562' 1 'I565' 0.0 -0.03 43.1097 574 'ONLY' -POSI 'I562' 2 'I565' 0.0 0.03 39.1997 0 'ONLY' -POSI 'I564' 33 'I565' 1.8 0.015 34.8497 571 'ONLY' -POSI 'I564' 32 'I565' 0.0 0.015 36.9497 571 'ONLY' -POSI 'I564' 31 'I565' -1.8 0.015 34.8497 572 'ONLY' -POSI 'I562' 3 'I565' 0.0 -0.03 35.2697 574 'ONLY' -POSI 'I562' 4 'I565' 0.0 0.03 31.3597 0 'ONLY' -POSI 'I564' 30 'I565' 1.8 0.015 27.0097 571 'ONLY' -POSI 'I564' 29 'I565' 0.0 0.015 29.1097 571 'ONLY' -POSI 'I564' 28 'I565' -1.8 0.015 27.0097 572 'ONLY' -POSI 'I562' 5 'I565' 0.0 -0.03 27.4297 574 'ONLY' -POSI 'I562' 6 'I565' 0.0 0.03 23.5197 0 'ONLY' -POSI 'I564' 27 'I565' 1.8 0.015 19.1697 571 'ONLY' -POSI 'I564' 26 'I565' 0.0 0.015 21.2697 571 'ONLY' -POSI 'I564' 25 'I565' -1.8 0.015 19.1697 572 'ONLY' -POSI 'I562' 7 'I565' 0.0 -0.03 19.5897 574 'ONLY' -POSI 'I562' 8 'I565' 0.0 0.03 15.6797 0 'ONLY' -POSI 'I564' 24 'I565' 1.8 0.015 11.3297 571 'ONLY' -POSI 'I564' 23 'I565' 0.0 0.015 13.4297 571 'ONLY' -POSI 'I564' 22 'I565' -1.8 0.015 11.3297 572 'ONLY' -POSI 'I562' 9 'I565' 0.0 -0.03 11.7497 574 'ONLY' -POSI 'I562' 10 'I565' 0.0 0.03 7.8397 0 'ONLY' -POSI 'I564' 21 'I565' 1.8 0.015 3.4897 571 'ONLY' -POSI 'I564' 20 'I565' 0.0 0.015 5.5897 571 'ONLY' -POSI 'I564' 19 'I565' -1.8 0.015 3.4897 572 'ONLY' -POSI 'I562' 11 'I565' 0.0 -0.03 3.9097 0 'ONLY' -POSI 'I562' 12 'I565' 0.0 0.03 -0.0003 0 'ONLY' -POSI 'I564' 18 'I565' 1.8 0.015 -4.3503 571 'ONLY' -POSI 'I564' 17 'I565' 0.0 0.015 -2.2503 571 'ONLY' -POSI 'I564' 16 'I565' -1.8 0.015 -4.3503 572 'ONLY' -POSI 'I562' 13 'I565' 0.0 -0.03 -3.9303 574 'ONLY' -POSI 'I562' 14 'I565' 0.0 0.03 -7.8403 0 'ONLY' -POSI 'I564' 15 'I565' 1.8 0.015 -12.1903 571 'ONLY' -POSI 'I564' 14 'I565' 0.0 0.015 -10.0903 571 'ONLY' -POSI 'I564' 13 'I565' -1.8 0.015 -12.1903 572 'ONLY' -POSI 'I562' 15 'I565' 0.0 -0.03 -11.7703 0 'ONLY' -POSI 'I562' 16 'I565' 0.0 0.03 -15.6803 0 'ONLY' -POSI 'I564' 12 'I565' 1.8 0.015 -20.0303 571 'ONLY' -POSI 'I564' 11 'I565' 0.0 0.015 -17.9303 571 'ONLY' -POSI 'I564' 10 'I565' -1.8 0.015 -20.0303 572 'ONLY' -POSI 'I562' 17 'I565' 0.0 -0.03 -19.6103 574 'ONLY' -POSI 'I562' 18 'I565' 0.0 0.03 -23.5203 0 'ONLY' -POSI 'I564' 9 'I565' 1.8 0.015 -27.8703 571 'ONLY' -POSI 'I564' 8 'I565' 0.0 0.015 -25.7703 571 'ONLY' -POSI 'I564' 7 'I565' -1.8 0.015 -27.8703 572 'ONLY' -POSI 'I562' 19 'I565' 0.0 -0.03 -27.4503 574 'ONLY' -POSI 'I562' 20 'I565' 0.0 0.03 -31.3603 0 'ONLY' -POSI 'I564' 6 'I565' 0.0 0.015 -41.4303 571 'ONLY' -POSI 'I564' 5 'I565' 1.8 0.015 -43.5303 571 'ONLY' -POSI 'I564' 4 'I565' -1.8 0.015 -43.5303 572 'ONLY' -POSI 'I562' 23 'I565' 0.0 -0.03 -43.1103 574 'ONLY' -POSI 'I564' 3 'I565' -1.8 0.015 -35.7103 572 'ONLY' -POSI 'I564' 2 'I565' 1.8 0.015 -35.7103 571 'ONLY' -POSI 'I564' 1 'I565' 0.0 0.015 -33.6103 571 'ONLY' -POSI 'I562' 21 'I565' 0.0 -0.03 -35.2903 574 'ONLY' -POSI 'I544' 1 'I571' 0.0101 0.0 48.115 0 'ONLY' -POSI 'I516' 23 'I571' 0.0001 0.0 43.01 0 'ONLY' -POSI 'I516' 22 'I571' 0.0001 0.0 39.1 0 'ONLY' -POSI 'I516' 21 'I571' 0.0001 0.0 35.19 0 'ONLY' -POSI 'I516' 20 'I571' 0.0001 0.0 31.28 0 'ONLY' -POSI 'I516' 19 'I571' 0.0001 0.0 27.37 0 'ONLY' -POSI 'I516' 18 'I571' 0.0001 0.0 23.46 0 'ONLY' -POSI 'I516' 17 'I571' 0.0001 0.0 19.55 0 'ONLY' -POSI 'I516' 16 'I571' 0.0001 0.0 15.64 0 'ONLY' -POSI 'I516' 15 'I571' 0.0001 0.0 11.73 0 'ONLY' -POSI 'I516' 14 'I571' 0.0001 0.0 7.82 0 'ONLY' -POSI 'I516' 13 'I571' 0.0001 0.0 3.91 0 'ONLY' -POSI 'I516' 12 'I571' 0.0001 0.0 0.0 0 'ONLY' -POSI 'I516' 11 'I571' 0.0001 0.0 -3.91 0 'ONLY' -POSI 'I516' 10 'I571' 0.0001 0.0 -7.82 0 'ONLY' -POSI 'I516' 9 'I571' 0.0001 0.0 -11.73 0 'ONLY' -POSI 'I516' 8 'I571' 0.0001 0.0 -15.64 0 'ONLY' -POSI 'I516' 7 'I571' 0.0001 0.0 -19.55 0 'ONLY' -POSI 'I516' 6 'I571' 0.0001 0.0 -23.46 0 'ONLY' -POSI 'I516' 5 'I571' 0.0001 0.0 -27.37 0 'ONLY' -POSI 'I516' 4 'I571' 0.0001 0.0 -31.28 0 'ONLY' -POSI 'I516' 3 'I571' 0.0001 0.0 -35.19 0 'ONLY' -POSI 'I516' 2 'I571' 0.0001 0.0 -39.1 0 'ONLY' -POSI 'I516' 1 'I571' 0.0001 0.0 -43.01 0 'ONLY' -POSI 'I544' 2 'I571' -0.0099 0.0 -48.115 570 'ONLY' -POSI 'I559' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I558' 1 'I553' -1.7167 -1.52 0.0 583 'ONLY' -POSI 'I557' 1 'I553' -1.8533 -1.341 0.0 581 'ONLY' -POSI 'I558' 2 'I553' 1.8367 -1.3122 0.0 575 'ONLY' -POSI 'I557' 2 'I553' 1.75 -1.52 0.0 583 'ONLY' -POSI 'I558' 3 'I553' -0.12 1.6613 0.0 581 'ONLY' -POSI 'I557' 3 'I553' 0.1034 1.6901 0.0 575 'ONLY' -POSI 'I556' 3 'I553' -1.031 0.2033 -2.203 580 'ONLY' -POSI 'I556' 1 'I553' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I554' 1 'I553' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I555' 1 'I553' -0.0072 -1.58 -1.2311 578 'ONLY' -POSI 'I556' 2 'I553' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I556' 4 'I553' -1.031 0.2033 -0.287 579 'ONLY' -POSI 'I559' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I561' 1 'I553' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I561' 2 'I553' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I519' 37 'I523' 0.0001 -1.79 -0.99 586 'ONLY' -POSI 'I519' 36 'I523' -3.2986 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 35 'I523' -3.2986 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 34 'I523' -3.2286 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 33 'I523' -3.2286 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 32 'I523' -3.1586 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 31 'I523' -3.1586 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 30 'I523' -1.3436 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 29 'I523' -1.3436 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 28 'I523' -1.2736 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 27 'I523' -1.2736 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 26 'I523' -1.2036 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 25 'I523' -1.2036 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 24 'I523' -1.0458 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 23 'I523' -1.0458 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 22 'I523' -0.9758 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 21 'I523' -0.9758 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 20 'I523' -0.9058 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 19 'I523' -0.9058 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 18 'I523' 0.9092 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 17 'I523' 0.9092 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 16 'I523' 0.9792 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 15 'I523' 0.9792 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 14 'I523' 1.0492 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 13 'I523' 1.0492 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 12 'I523' 1.207 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 11 'I523' 1.207 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 10 'I523' 1.277 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 9 'I523' 1.277 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 8 'I523' 1.347 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 7 'I523' 1.347 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 6 'I523' 3.162 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 5 'I523' 3.162 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 4 'I523' 3.232 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 3 'I523' 3.232 -1.71 -1.2943 0 'ONLY' -POSI 'I521' 12 'I523' -2.8209 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 11 'I523' -1.6895 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 10 'I523' -0.5631 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 9 'I523' 0.5633 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 8 'I523' 1.6861 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 7 'I523' 2.8161 -1.7925 -0.982 0 'ONLY' -POSI 'I519' 2 'I523' 3.302 -1.79 -1.2943 0 'ONLY' -POSI 'I520' 3 'I523' 0.0001 -1.845 -1.19 0 'ONLY' -POSI 'I520' 2 'I523' -2.2499 -1.845 -1.19 0 'ONLY' -POSI 'I521' 6 'I523' -2.8209 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 5 'I523' -1.6895 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 4 'I523' -0.5631 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 3 'I523' 0.5633 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 2 'I523' 1.6861 -1.7075 -0.982 0 'ONLY' -POSI 'I518' 1 'I523' 0.0001 -1.75 -1.065 0 'ONLY' -POSI 'I519' 1 'I523' 3.302 -1.71 -1.2943 0 'ONLY' -POSI 'I520' 1 'I523' 2.2501 -1.845 -1.19 0 'ONLY' -POSI 'I521' 1 'I523' 2.8161 -1.7075 -0.982 0 'ONLY' -POSI 'I522' 1 'I523' 2.2501 -1.655 -1.3 583 'MANY' -POSI 'I522' 2 'I523' -2.2499 -1.655 -1.3 583 'MANY' -POSI 'I542' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I542' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I543' 1 'I523' 2.1001 -1.615 0.955 0 'MANY' -POSI 'I543' 2 'I523' -2.0999 -1.615 0.955 573 'MANY' -POSI 'I537' 2 'I523' 1.7501 -1.52 0.0 583 'ONLY' -POSI 'I538' 2 'I523' 1.8368 -1.3122 0.0 575 'ONLY' -POSI 'I537' 3 'I523' 0.1035 1.6901 0.0 575 'ONLY' -POSI 'I538' 3 'I523' -0.1199 1.6612 0.0 581 'ONLY' -POSI 'I538' 1 'I523' -1.7166 -1.52 0.0 583 'ONLY' -POSI 'I537' 1 'I523' -1.8532 -1.341 0.0 581 'ONLY' -POSI 'I536' 3 'I523' -1.031 0.2033 -1.008 580 'ONLY' -POSI 'I536' 4 'I523' -1.031 0.2033 0.908 579 'ONLY' -POSI 'I535' 1 'I523' -0.0072 -1.58 -0.0361 578 'ONLY' -POSI 'I536' 2 'I523' 1.0312 0.2033 -1.008 577 'ONLY' -POSI 'I536' 1 'I523' 1.0312 0.2033 0.908 576 'ONLY' -POSI 'I534' 1 'I523' 0.0001 -1.58 1.905 0 'ONLY' -POSI 'I540' 1 'I523' 0.0001 -1.785 1.905 571 'ONLY' -POSI 'I539' 1 'I523' 1.8001 -1.75 -0.195 571 'ONLY' -POSI 'I539' 2 'I523' -1.7999 -1.75 -0.195 572 'ONLY' -POSI 'ITS6' 1 'I566' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS5' 1 'I562' 0.0 0.0 0.0 0 'ONLY' -POSI 'I550' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I550' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I549' 1 'I544' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I548' 1 'I544' 1.8533 -1.341 0.0 575 'ONLY' -POSI 'I547' 1 'I544' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I545' 1 'I544' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I547' 2 'I544' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I546' 1 'I544' -0.0073 -1.58 -1.2311 578 'ONLY' -POSI 'I547' 4 'I544' -1.0311 0.2033 -0.287 579 'ONLY' -POSI 'I547' 3 'I544' -1.0311 0.2033 -2.203 580 'ONLY' -POSI 'I548' 2 'I544' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I549' 2 'I544' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I549' 3 'I544' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I548' 3 'I544' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I552' 1 'I544' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I552' 2 'I544' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I515' 12 'I516' -1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 11 'I516' -1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 37 'I516' 0.0 -1.79 -1.035 586 'ONLY' -POSI 'I513' 1 'I516' -3.2987 -1.71 -1.2943 0 'ONLY' -POSI 'I515' 1 'I516' -2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I514' 1 'I516' -2.25 -1.845 -1.19 0 'ONLY' -POSI 'I514' 2 'I516' 0.0 -1.845 -1.19 0 'ONLY' -POSI 'I514' 3 'I516' 2.25 -1.845 -1.19 0 'ONLY' -POSI 'I515' 2 'I516' -2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 2 'I516' -3.2987 -1.79 -1.2943 0 'ONLY' -POSI 'I515' 3 'I516' -0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 4 'I516' -0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 5 'I516' 0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 6 'I516' 0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 7 'I516' 1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 8 'I516' 1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 9 'I516' 2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 10 'I516' 2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I513' 3 'I516' -3.2287 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 4 'I516' -3.2287 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 5 'I516' -3.1587 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 6 'I516' -3.1587 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 7 'I516' -1.3437 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 8 'I516' -1.3437 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 9 'I516' -1.2737 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 10 'I516' -1.2737 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 11 'I516' -1.2037 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 12 'I516' -1.2037 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 13 'I516' -1.046 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 14 'I516' -1.046 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 15 'I516' -0.976 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 16 'I516' -0.976 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 17 'I516' -0.906 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 18 'I516' -0.906 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 19 'I516' 0.9091 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 20 'I516' 0.9091 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 21 'I516' 0.9791 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 22 'I516' 0.9791 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 23 'I516' 1.0491 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 24 'I516' 1.0491 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 25 'I516' 1.2068 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 26 'I516' 1.2068 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 27 'I516' 1.2768 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 28 'I516' 1.2768 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 29 'I516' 1.3469 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 30 'I516' 1.3469 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 31 'I516' 3.1619 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 32 'I516' 3.1619 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 33 'I516' 3.2319 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 34 'I516' 3.2319 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 35 'I516' 3.3019 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 36 'I516' 3.3019 -1.71 -1.2943 0 'ONLY' -POSI 'I512' 1 'I516' 0.0 -1.75 -1.065 0 'ONLY' -POSI 'I528' 1 'I516' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I527' 1 'I516' 1.8534 -1.341 0.0 575 'ONLY' -POSI 'I528' 2 'I516' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I527' 2 'I516' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I527' 3 'I516' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I528' 3 'I516' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I526' 2 'I516' 1.0311 0.2033 -1.008 577 'ONLY' -POSI 'I525' 1 'I516' -0.0073 -1.58 -0.0361 578 'ONLY' -POSI 'I524' 1 'I516' 0.0 -1.58 1.905 0 'ONLY' -POSI 'I526' 1 'I516' 1.0311 0.2033 0.908 576 'ONLY' -POSI 'I526' 3 'I516' -1.0311 0.2033 0.908 579 'ONLY' -POSI 'I526' 4 'I516' -1.0311 0.2033 -1.008 580 'ONLY' -POSI 'I529' 1 'I516' 1.8 -1.75 -0.195 571 'ONLY' -POSI 'I530' 1 'I516' 0.0 -1.785 1.905 571 'ONLY' -POSI 'I529' 2 'I516' -1.8 -1.75 -0.195 572 'ONLY' -POSI 'I517' 1 'I516' 2.25 -1.655 -1.3 583 'MANY' -POSI 'I517' 2 'I516' -2.25 -1.655 -1.3 584 'MANY' -POSI 'I531' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I531' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I533' 1 'I516' 2.1 -1.615 0.955 0 'MANY' -POSI 'I533' 2 'I516' -2.1 -1.615 0.955 573 'MANY' -! -! POSITIONNEMENTS SUPPORT SSD -! -POSI 'I212' 2 'IS01' 0.0 0.0 -1.4 701 'MANY' -POSI 'I212' 1 'IS01' 0.0 0.0 0.0 0 'MANY' -POSI 'I210' 1 'IS01' 0.0 0.0 -0.7 0 'ONLY' -POSI 'I211' 1 'IS01' 0.0 0.0 -56.5 0 'ONLY' -POSI 'I217' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I218' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I219' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I220' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I211' 2 'IS01' 0.0 0.0 55.1 701 'ONLY' -POSI 'I219' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I220' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I217' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I218' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I214' 2 'IS01' 0.0 0.0 65.85 701 'ONLY' -POSI 'I213' 2 'IS01' 0.0 0.0 60.85 701 'ONLY' -POSI 'I213' 1 'IS01' 0.0 0.0 -62.25 0 'ONLY' -POSI 'I214' 1 'IS01' 0.0 0.0 -67.25 0 'ONLY' -POSI 'I215' 19 'IS01' 0.0 0.0 -1.4 702 'ONLY' -POSI 'I215' 21 'IS01' 0.0 0.0 -1.4 703 'ONLY' -POSI 'I215' 23 'IS01' 0.0 0.0 -1.4 704 'ONLY' -POSI 'I215' 24 'IS01' 0.0 0.0 -1.4 705 'ONLY' -POSI 'I215' 3 'IS01' 0.0 0.0 -1.4 706 'ONLY' -POSI 'I215' 5 'IS01' 0.0 0.0 -1.4 707 'ONLY' -POSI 'I215' 7 'IS01' 0.0 0.0 -1.4 708 'ONLY' -POSI 'I215' 9 'IS01' 0.0 0.0 -1.4 709 'ONLY' -POSI 'I215' 11 'IS01' 0.0 0.0 -1.4 710 'ONLY' -POSI 'I215' 13 'IS01' 0.0 0.0 -1.4 711 'ONLY' -POSI 'I215' 15 'IS01' 0.0 0.0 -1.4 712 'ONLY' -POSI 'I215' 17 'IS01' 0.0 0.0 -1.4 713 'ONLY' -POSI 'I216' 9 'IS01' 0.0 0.0 45.35 714 'ONLY' -POSI 'I216' 11 'IS01' 0.0 0.0 45.35 715 'ONLY' -POSI 'I216' 12 'IS01' 0.0 0.0 45.35 716 'ONLY' -POSI 'I216' 3 'IS01' 0.0 0.0 45.35 717 'ONLY' -POSI 'I216' 5 'IS01' 0.0 0.0 45.35 718 'ONLY' -POSI 'I216' 7 'IS01' 0.0 0.0 45.35 719 'ONLY' -POSI 'I216' 10 'IS01' 0.0 0.0 -46.75 720 'ONLY' -POSI 'I216' 1 'IS01' 0.0 0.0 -46.75 721 'ONLY' -POSI 'I216' 2 'IS01' 0.0 0.0 -46.75 722 'ONLY' -POSI 'I216' 4 'IS01' 0.0 0.0 -46.75 723 'ONLY' -POSI 'I216' 6 'IS01' 0.0 0.0 -46.75 724 'ONLY' -POSI 'I216' 8 'IS01' 0.0 0.0 -46.75 725 'ONLY' -POSI 'I215' 1 'IS01' 0.0 0.0 0.0 726 'ONLY' -POSI 'I215' 2 'IS01' 0.0 0.0 0.0 727 'ONLY' -POSI 'I215' 4 'IS01' 0.0 0.0 0.0 728 'ONLY' -POSI 'I215' 6 'IS01' 0.0 0.0 0.0 729 'ONLY' -POSI 'I215' 8 'IS01' 0.0 0.0 0.0 733 'ONLY' -POSI 'I215' 10 'IS01' 0.0 0.0 0.0 730 'ONLY' -POSI 'I215' 12 'IS01' 0.0 0.0 0.0 731 'ONLY' -POSI 'I215' 14 'IS01' 0.0 0.0 0.0 768 'ONLY' -POSI 'I215' 16 'IS01' 0.0 0.0 0.0 732 'ONLY' -POSI 'I215' 18 'IS01' 0.0 0.0 0.0 734 'ONLY' -POSI 'I215' 20 'IS01' 0.0 0.0 0.0 798 'ONLY' -POSI 'I215' 22 'IS01' 0.0 0.0 0.0 735 'ONLY' -! -! POSITIONNEMENTS SUPPORT SDD -! -POSI 'I093' 1 'IS02' 0.0 0.0 0.0 0 'MANY' -POSI 'I093' 2 'IS02' 0.0 0.0 0.0 856 'MANY' -POSI 'I099' 4 'IS02' 0.0 0.0 0.0 857 'ONLY' -POSI 'I099' 3 'IS02' 0.0 0.0 0.0 858 'ONLY' -POSI 'I099' 5 'IS02' 0.0 0.0 0.0 859 'ONLY' -POSI 'I099' 6 'IS02' 0.0 0.0 0.0 860 'ONLY' -POSI 'I099' 7 'IS02' 0.0 0.0 0.0 861 'ONLY' -POSI 'I099' 2 'IS02' 0.0 0.0 0.0 862 'ONLY' -POSI 'I200' 4 'IS02' 0.0 0.0 0.0 863 'ONLY' -POSI 'I200' 3 'IS02' 0.0 0.0 0.0 864 'ONLY' -POSI 'I200' 2 'IS02' 0.0 0.0 0.0 865 'ONLY' -POSI 'I200' 13 'IS02' 0.0 0.0 0.0 867 'ONLY' -POSI 'I200' 12 'IS02' 0.0 0.0 0.0 869 'ONLY' -POSI 'I200' 11 'IS02' 0.0 0.0 0.0 870 'ONLY' -POSI 'I200' 10 'IS02' 0.0 0.0 0.0 871 'ONLY' -POSI 'I200' 9 'IS02' 0.0 0.0 0.0 872 'ONLY' -POSI 'I200' 8 'IS02' 0.0 0.0 0.0 873 'ONLY' -POSI 'I200' 7 'IS02' 0.0 0.0 0.0 874 'ONLY' -POSI 'I200' 6 'IS02' 0.0 0.0 0.0 875 'ONLY' -POSI 'I200' 5 'IS02' 0.0 0.0 0.0 876 'ONLY' -POSI 'I090' 2 'IS02' 0.0 0.0 -39.15 0 'ONLY' -POSI 'I089' 1 'IS02' 0.0 0.0 0.0 0 'ONLY' -POSI 'I090' 1 'IS02' 0.0 0.0 39.15 856 'ONLY' -POSI 'I099' 9 'IS02' 0.0 0.0 0.0 877 'ONLY' -POSI 'I099' 8 'IS02' 0.0 0.0 0.0 879 'ONLY' -POSI 'I099' 1 'IS02' 0.0 0.0 0.0 880 'ONLY' -POSI 'I099' 12 'IS02' 0.0 0.0 0.0 881 'ONLY' -POSI 'I099' 11 'IS02' 0.0 0.0 0.0 851 'ONLY' -POSI 'I099' 10 'IS02' 0.0 0.0 0.0 882 'ONLY' -POSI 'I200' 23 'IS02' 0.0 0.0 0.0 898 'ONLY' -POSI 'I200' 24 'IS02' 0.0 0.0 0.0 883 'ONLY' -POSI 'I200' 1 'IS02' 0.0 0.0 0.0 884 'ONLY' -POSI 'I200' 14 'IS02' 0.0 0.0 0.0 885 'ONLY' -POSI 'I200' 15 'IS02' 0.0 0.0 0.0 887 'ONLY' -POSI 'I200' 16 'IS02' 0.0 0.0 0.0 888 'ONLY' -POSI 'I200' 17 'IS02' 0.0 0.0 0.0 889 'ONLY' -POSI 'I200' 18 'IS02' 0.0 0.0 0.0 890 'ONLY' -POSI 'I200' 22 'IS02' 0.0 0.0 0.0 891 'ONLY' -POSI 'I200' 21 'IS02' 0.0 0.0 0.0 892 'ONLY' -POSI 'I200' 20 'IS02' 0.0 0.0 0.0 868 'ONLY' -POSI 'I200' 19 'IS02' 0.0 0.0 0.0 893 'ONLY' -POSI 'I098' 1 'IS02' 0.0 0.0 32.1 0 'ONLY' -POSI 'I097' 1 'IS02' 0.0 0.0 25.1 0 'ONLY' -POSI 'I097' 2 'IS02' 0.0 0.0 -25.1 856 'ONLY' -POSI 'I098' 2 'IS02' 0.0 0.0 -32.1 856 'ONLY' -POSI 'I202' 1 'IS02' 12.1 0.0 33.84 0 'ONLY' -POSI 'I202' 6 'IS02' -6.05 -10.4789 33.84 930 'ONLY' -POSI 'I202' 5 'IS02' -6.05 10.4789 33.84 929 'ONLY' -POSI 'I202' 2 'IS02' 12.1 0.0 -33.84 856 'ONLY' -POSI 'I202' 3 'IS02' -6.05 10.4789 -33.84 932 'ONLY' -POSI 'I202' 4 'IS02' -6.05 -10.4789 -33.84 934 'ONLY' -POSI 'I203' 12 'IS02' 21.8453 0.0 -42.24 856 'ONLY' -POSI 'I203' 11 'IS02' 10.9227 -18.9186 -42.24 935 'ONLY' -POSI 'I203' 10 'IS02' 10.9227 -18.9186 42.24 846 'ONLY' -POSI 'I203' 9 'IS02' -10.9227 -18.9186 -42.24 934 'ONLY' -POSI 'I203' 8 'IS02' -10.9227 -18.9186 42.24 930 'ONLY' -POSI 'I203' 7 'IS02' -21.8453 0.0 -42.24 933 'ONLY' -POSI 'I203' 6 'IS02' -21.8453 0.0 42.24 878 'ONLY' -POSI 'I203' 5 'IS02' -10.9227 18.9186 -42.24 932 'ONLY' -POSI 'I203' 4 'IS02' -10.9227 18.9186 42.24 929 'ONLY' -POSI 'I203' 3 'IS02' 10.9227 18.9186 -42.24 931 'ONLY' -POSI 'I203' 2 'IS02' 10.9227 18.9186 42.24 853 'ONLY' -POSI 'I203' 1 'IS02' 21.8453 0.0 42.24 0 'ONLY' -POSI 'I095' 1 'I098' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 23 'I098' 22.77 0.0 0.0 894 'MANY' -POSI 'I096' 14 'I098' 22.3754 6.57 0.0 895 'MANY' -POSI 'I096' 3 'I098' 19.1553 12.3104 0.0 896 'MANY' -POSI 'I096' 16 'I098' 15.2714 17.6241 0.0 897 'MANY' -POSI 'I096' 5 'I098' 9.459 20.7123 0.0 899 'MANY' -POSI 'I096' 18 'I098' 3.3188 23.0826 0.0 900 'MANY' -POSI 'I096' 7 'I098' -3.2405 22.5382 0.0 901 'MANY' -POSI 'I096' 20 'I098' -9.6875 21.2126 0.0 902 'MANY' -POSI 'I096' 9 'I098' -14.9112 17.2084 0.0 903 'MANY' -POSI 'I096' 22 'I098' -19.618 12.6077 0.0 904 'MANY' -POSI 'I096' 11 'I098' -21.8477 6.4151 0.0 905 'MANY' -POSI 'I096' 24 'I098' -23.32 0.0 0.0 906 'MANY' -POSI 'I096' 13 'I098' -21.8477 -6.4151 0.0 907 'MANY' -POSI 'I096' 4 'I098' -19.618 -12.6077 0.0 908 'MANY' -POSI 'I096' 15 'I098' -14.9112 -17.2084 0.0 909 'MANY' -POSI 'I096' 6 'I098' -9.6875 -21.2126 0.0 910 'MANY' -POSI 'I096' 17 'I098' -3.2405 -22.5382 0.0 911 'MANY' -POSI 'I096' 8 'I098' 3.3188 -23.0826 0.0 912 'MANY' -POSI 'I096' 19 'I098' 9.459 -20.7123 0.0 913 'MANY' -POSI 'I096' 10 'I098' 15.2714 -17.6241 0.0 914 'MANY' -POSI 'I096' 21 'I098' 19.1553 -12.3104 0.0 915 'MANY' -POSI 'I096' 12 'I098' 22.3754 -6.57 0.0 916 'MANY' -POSI 'I094' 1 'I097' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 1 'I097' 13.87 0.0 0.0 894 'MANY' -POSI 'I096' 32 'I097' 13.037 6.2783 0.0 917 'MANY' -POSI 'I096' 25 'I097' 8.6478 10.844 0.0 918 'MANY' -POSI 'I096' 34 'I097' 3.2199 14.1072 0.0 919 'MANY' -POSI 'I096' 27 'I097' -3.0864 13.5223 0.0 920 'MANY' -POSI 'I096' 36 'I097' -9.0219 11.3131 0.0 921 'MANY' -POSI 'I096' 29 'I097' -12.4964 6.018 0.0 922 'MANY' -POSI 'I096' 2 'I097' -14.47 0.0 0.0 906 'MANY' -POSI 'I096' 31 'I097' -12.4964 -6.018 0.0 923 'MANY' -POSI 'I096' 26 'I097' -9.0219 -11.3131 0.0 924 'MANY' -POSI 'I096' 33 'I097' -3.0864 -13.5223 0.0 925 'MANY' -POSI 'I096' 28 'I097' 3.2199 -14.1072 0.0 926 'MANY' -POSI 'I096' 35 'I097' 8.6478 -10.844 0.0 927 'MANY' -POSI 'I096' 30 'I097' 13.037 -6.2783 0.0 928 'MANY' -! -! POSITIONNEMENTS SERVICES -! -POSI 'ISS2' 1 'ISS1' 0.0 0.0 0.5944 0 'ONLY' -POSI 'ISS2' 2 'ISS1' 0.0 0.0 0.5944 208 'ONLY' -POSI 'ISS2' 3 'ISS1' 0.0 0.0 0.5944 209 'ONLY' -POSI 'ISS2' 4 'ISS1' 0.0 0.0 0.5944 210 'ONLY' -POSI 'ISS2' 5 'ISS1' 0.0 0.0 0.5944 211 'ONLY' -POSI 'ISS3' 1 'ISS2' 48.1498 7.6262 78.7071 201 'ONLY' -POSI 'ISS4' 1 'ISS2' 46.9152 7.4306 78.7071 201 'ONLY' -POSI 'ISS5' 4 'ISS2' 59.5843 16.3455 182.434 202 'ONLY' -POSI 'ISS6' 4 'ISS2' 59.5843 16.3455 182.434 202 'ONLY' -POSI 'ISS7' 4 'ISS2' 162.446 38.2093 285.69 203 'ONLY' -POSI 'ISS4' 2 'ISS2' 45.8815 12.2939 78.7071 204 'ONLY' -POSI 'ISS3' 2 'ISS2' 47.0889 12.6174 78.7071 204 'ONLY' -POSI 'ISS8' 1 'ISS2' 256.118 54.4396 285.0 205 'ONLY' -POSI 'ISS9' 1 'ISS2' 261.009 55.4792 285.0 205 'ONLY' -POSI 'IS10' 1 'ISS2' 262.016 55.6933 285.0 205 'ONLY' -POSI 'IS11' 1 'ISS2' 262.828 55.8659 285.0 205 'ONLY' -POSI 'ISS6' 5 'ISS2' 60.3328 12.8241 182.434 206 'ONLY' -POSI 'ISS5' 5 'ISS2' 60.3328 12.8241 182.434 206 'ONLY' -POSI 'IS12' 5 'ISS2' 163.194 34.688 285.69 207 'ONLY' -POSI 'ISS7' 5 'ISS2' 163.194 34.688 285.69 207 'ONLY' -POSI 'ISS5' 1 'ISS2' 61.0813 9.3028 182.434 206 'ONLY' -POSI 'ISS6' 1 'ISS2' 61.0813 9.3028 182.434 206 'ONLY' -POSI 'ISS7' 1 'ISS2' 163.943 31.1667 285.69 207 'ONLY' -POSI 'IS12' 1 'ISS2' 163.943 31.1667 285.69 207 'ONLY' -POSI 'ISS5' 2 'ISS2' 61.8298 5.7815 182.434 206 'ONLY' -POSI 'ISS6' 2 'ISS2' 61.8298 5.7815 182.434 206 'ONLY' -POSI 'ISS7' 2 'ISS2' 164.691 27.6453 285.69 207 'ONLY' -POSI 'IS12' 2 'ISS2' 164.691 27.6453 285.69 207 'ONLY' -POSI 'IS12' 3 'ISS2' 161.697 41.7306 285.69 203 'ONLY' -POSI 'ISS7' 3 'ISS2' 161.697 41.7306 285.69 203 'ONLY' -POSI 'ISS6' 3 'ISS2' 58.8359 19.8668 182.434 202 'ONLY' -POSI 'ISS5' 3 'ISS2' 58.8359 19.8668 182.434 202 'ONLY' -POSI 'IS12' 4 'ISS2' 162.446 38.2093 285.69 203 'ONLY' -! -! Positionnements Finals -! -POSI 'ISS1' 1 'ITSV' 0 0 0.8 0 'ONLY' -POSI 'ITSD' 1 'ITSV' 0 0 0 0 'ONLY' -POSI 'ISS1' 2 'ITSV' 0 0 -0.8 212 'ONLY' -END - - diff --git a/Euclid/ITSgeometry_5.tme b/Euclid/ITSgeometry_5.tme deleted file mode 100644 index b7147fefffb..00000000000 --- a/Euclid/ITSgeometry_5.tme +++ /dev/null @@ -1,77 +0,0 @@ -MATE 1 'SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 1 'SI ' 1 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 2 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 2 'SPD SI CHIP ' 2 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 3 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 3 'SPD SI BUS ' 3 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 4 'C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 4 'C (M55J) ' 4 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 5 'AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 5 'AIR ' 5 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 6 'GEN AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 6 'GEN AIR ' 6 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 7 'SDD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 7 'SDD SI CHIP ' 7 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 9 'SDD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 9 'SDD C (M55J) ' 9 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 10 'SDD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 10 'SDD AIR ' 10 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 11 'AL ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 11 'AL ' 11 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 12 'WATER ' 0.14322E+02 0.72167E+01 0.10000E+01 -0.35759E+02 0.94951E+02 0 -TMED 12 'WATER ' 12 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 14 'COPPER ' 0.63546E+02 0.29000E+02 0.89600E+01 -0.14300E+01 0.99900E+03 0 -TMED 14 'COPPER ' 14 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 15 'CERAMICS ' 0.22314E+02 0.10856E+02 0.36000E+01 -0.76200E+01 0.31901E+02 0 -TMED 15 'CERAMICS ' 15 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 20 'SSD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 20 'SSD C (M55J) ' 20 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 21 'SSD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 21 'SSD AIR ' 21 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 25 'G10FR4 ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 25 'G10FR4 ' 25 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 26 'GEN C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 26 'GEN C (M55J) ' 26 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 27 'GEN Air ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 27 'GEN Air ' 27 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 51 'SPD SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 51 'SPD SI ' 51 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 52 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 52 'SPD SI CHIP ' 52 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 53 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 53 'SPD SI BUS ' 53 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 54 'SPD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 54 'SPD C (M55J) ' 54 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 55 'SPD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 55 'SPD AIR ' 55 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 56 'SPD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 56 'SPD KAPTON (POLYCH2)' 56 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 61 'EPOXY ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 61 'EPOXY ' 61 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 62 'SILICON ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 62 'SILICON ' 62 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 63 'KAPTON-H (POLYCH2) ' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 63 'KAPTON-H (POLYCH2 ' 63 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 64 'ALUMINUM ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 64 'ALUMINUM ' 64 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 65 'INOX ' 0.55098E+02 0.2572E+02 0.7900E+01 -0.17800E+01 0.99900E+03 0 -TMED 65 'INOX ' 65 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 68 'ROHACELL (Z,A ?) ' 0.12011E+02 0.60000E+01 0.9500E-01 -0.43600E+03 0.99900E+03 0 -TMED 68 'ROHACELL (Z,A ?) ' 68 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 69 'SDD C AL (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 69 'SDD C AL (M55J) ' 69 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 70 'SDD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 70 'SDD KAPTON (POLYCH2)' 70 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 71 'ITS SANDW A (Z,A ?) ' 0.12011E+02 0.60000E+01 0.2115E+00 -0.17479E+03 0.99900E+03 0 -TMED 71 'ITS SANDW A (Z,A ?) ' 71 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 72 'ITS SANDW B (Z,A ?) ' 0.12011E+02 0.60000E+01 0.27000E+00 -0.18956E+03 0.99900E+03 0 -TMED 72 'ITS SANDW B (Z,A ?) ' 72 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 73 'ITS SANDW C (Z,A ?) ' 0.12011E+02 0.60000E+01 0.41000E+00 -0.90868E+02 0.99900E+03 0 -TMED 73 'ITS SANDW C (Z,A ?) ' 73 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 74 'HEAT COND GLUE (Z,A)' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 74 'HEAT COND GLUE (Z,A)' 74 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 75 'ELASTO SIL ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 75 'ELASTO SIL ' 75 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 76 'SPD BUS(AL+KPT+EPOX)' 0.19509E+02 0.96502E+01 0.19060E+01 -0.15413E+02 0.99900E+03 0 -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -END diff --git a/Euclid/ITSgeometry_5asymm.det b/Euclid/ITSgeometry_5asymm.det deleted file mode 100644 index ac03a2d551f..00000000000 --- a/Euclid/ITSgeometry_5asymm.det +++ /dev/null @@ -1,2270 +0,0 @@ - 1 1 1 1.5466 3.7892 12.72 90. 162. 90. 252. 0. 0. - 1 1 2 1.5466 3.7892 4.24 90. 162. 90. 252. 0. 0. - 1 1 3 1.5466 3.7892 -4.24 90. 162. 90. 252. 0. 0. - 1 1 4 1.5466 3.7892 -12.72 90. 162. 90. 252. 0. 0. - 1 2 1 0.3000 3.8375 12.72 90. 180. 90. 270. 0. 0. - 1 2 2 0.3000 3.8375 4.24 90. 180. 90. 270. 0. 0. - 1 2 3 0.3000 3.8375 -4.24 90. 180. 90. 270. 0. 0. - 1 2 4 0.3000 3.8375 -12.72 90. 180. 90. 270. 0. 0. - 1 3 1 -0.9760 3.9746 12.72 90. 198. 90. 288. 0. 0. - 1 3 2 -0.9760 3.9746 4.24 90. 198. 90. 288. 0. 0. - 1 3 3 -0.9760 3.9746 -4.24 90. 198. 90. 288. 0. 0. - 1 3 4 -0.9760 3.9746 -12.72 90. 198. 90. 288. 0. 0. - 1 4 1 -2.0129 3.2809 12.72 90. 216. 90. 306. 0. 0. - 1 4 2 -2.0129 3.2809 4.24 90. 216. 90. 306. 0. 0. - 1 4 3 -2.0129 3.2809 -4.24 90. 216. 90. 306. 0. 0. - 1 4 4 -2.0129 3.2809 -12.72 90. 216. 90. 306. 0. 0. - 1 5 1 -3.1259 2.6418 12.72 90. 234. 90. 324. 0. 0. - 1 5 2 -3.1259 2.6418 4.24 90. 234. 90. 324. 0. 0. - 1 5 3 -3.1259 2.6418 -4.24 90. 234. 90. 324. 0. 0. - 1 5 4 -3.1259 2.6418 -12.72 90. 234. 90. 324. 0. 0. - 1 6 1 -3.5570 1.4712 12.72 90. 252. 90. 342. 0. 0. - 1 6 2 -3.5570 1.4712 4.24 90. 252. 90. 342. 0. 0. - 1 6 3 -3.5570 1.4712 -4.24 90. 252. 90. 342. 0. 0. - 1 6 4 -3.5570 1.4712 -12.72 90. 252. 90. 342. 0. 0. - 1 7 1 -4.0817 0.3000 12.72 90. 270. 90. 0. 0. 0. - 1 7 2 -4.0817 0.3000 4.24 90. 270. 90. 0. 0. 0. - 1 7 3 -4.0817 0.3000 -4.24 90. 270. 90. 0. 0. 0. - 1 7 4 -4.0817 0.3000 -12.72 90. 270. 90. 0. 0. 0. - 1 8 1 -3.7424 -0.9005 12.72 90. 288. 90. 18. 0. 0. - 1 8 2 -3.7424 -0.9005 4.24 90. 288. 90. 18. 0. 0. - 1 8 3 -3.7424 -0.9005 -4.24 90. 288. 90. 18. 0. 0. - 1 8 4 -3.7424 -0.9005 -12.72 90. 288. 90. 18. 0. 0. - 1 9 1 -3.4785 -2.1565 12.72 90. 306. 90. 36. 0. 0. - 1 9 2 -3.4785 -2.1565 4.24 90. 306. 90. 36. 0. 0. - 1 9 3 -3.4785 -2.1565 -4.24 90. 306. 90. 36. 0. 0. - 1 9 4 -3.4785 -2.1565 -12.72 90. 306. 90. 36. 0. 0. - 1 10 1 -2.4983 -2.9283 12.72 90. 324. 90. 54. 0. 0. - 1 10 2 -2.4983 -2.9283 4.24 90. 324. 90. 54. 0. 0. - 1 10 3 -2.4983 -2.9283 -4.24 90. 324. 90. 54. 0. 0. - 1 10 4 -2.4983 -2.9283 -12.72 90. 324. 90. 54. 0. 0. - 1 11 1 -1.5466 -3.7892 12.72 90. 342. 90. 72. 0. 0. - 1 11 2 -1.5466 -3.7892 4.24 90. 342. 90. 72. 0. 0. - 1 11 3 -1.5466 -3.7892 -4.24 90. 342. 90. 72. 0. 0. - 1 11 4 -1.5466 -3.7892 -12.72 90. 342. 90. 72. 0. 0. - 1 12 1 -0.3000 -3.8375 12.72 90. 0. 90. 90. 0. 0. - 1 12 2 -0.3000 -3.8375 4.24 90. 0. 90. 90. 0. 0. - 1 12 3 -0.3000 -3.8375 -4.24 90. 0. 90. 90. 0. 0. - 1 12 4 -0.3000 -3.8375 -12.72 90. 0. 90. 90. 0. 0. - 1 13 1 0.9760 -3.9746 12.72 90. 18. 90. 108. 0. 0. - 1 13 2 0.9760 -3.9746 4.24 90. 18. 90. 108. 0. 0. - 1 13 3 0.9760 -3.9746 -4.24 90. 18. 90. 108. 0. 0. - 1 13 4 0.9760 -3.9746 -12.72 90. 18. 90. 108. 0. 0. - 1 14 1 2.0129 -3.2809 12.72 90. 36. 90. 126. 0. 0. - 1 14 2 2.0129 -3.2809 4.24 90. 36. 90. 126. 0. 0. - 1 14 3 2.0129 -3.2809 -4.24 90. 36. 90. 126. 0. 0. - 1 14 4 2.0129 -3.2809 -12.72 90. 36. 90. 126. 0. 0. - 1 15 1 3.1259 -2.6418 12.72 90. 54. 90. 144. 0. 0. - 1 15 2 3.1259 -2.6418 4.24 90. 54. 90. 144. 0. 0. - 1 15 3 3.1259 -2.6418 -4.24 90. 54. 90. 144. 0. 0. - 1 15 4 3.1259 -2.6418 -12.72 90. 54. 90. 144. 0. 0. - 1 16 1 3.5570 -1.4712 12.72 90. 72. 90. 162. 0. 0. - 1 16 2 3.5570 -1.4712 4.24 90. 72. 90. 162. 0. 0. - 1 16 3 3.5570 -1.4712 -4.24 90. 72. 90. 162. 0. 0. - 1 16 4 3.5570 -1.4712 -12.72 90. 72. 90. 162. 0. 0. - 1 17 1 4.0817 -0.3000 12.72 90. 90. 90. 180. 0. 0. - 1 17 2 4.0817 -0.3000 4.24 90. 90. 90. 180. 0. 0. - 1 17 3 4.0817 -0.3000 -4.24 90. 90. 90. 180. 0. 0. - 1 17 4 4.0817 -0.3000 -12.72 90. 90. 90. 180. 0. 0. - 1 18 1 3.7424 0.9005 12.72 90. 108. 90. 198. 0. 0. - 1 18 2 3.7424 0.9005 4.24 90. 108. 90. 198. 0. 0. - 1 18 3 3.7424 0.9005 -4.24 90. 108. 90. 198. 0. 0. - 1 18 4 3.7424 0.9005 -12.72 90. 108. 90. 198. 0. 0. - 1 19 1 3.4785 2.1565 12.72 90. 126. 90. 216. 0. 0. - 1 19 2 3.4785 2.1565 4.24 90. 126. 90. 216. 0. 0. - 1 19 3 3.4785 2.1565 -4.24 90. 126. 90. 216. 0. 0. - 1 19 4 3.4785 2.1565 -12.72 90. 126. 90. 216. 0. 0. - 1 20 1 2.4983 2.9283 12.72 90. 144. 90. 234. 0. 0. - 1 20 2 2.4983 2.9283 4.24 90. 144. 90. 234. 0. 0. - 1 20 3 2.4983 2.9283 -4.24 90. 144. 90. 234. 0. 0. - 1 20 4 2.4983 2.9283 -12.72 90. 144. 90. 234. 0. 0. - 2 1 1 3.1659 6.3740 12.72 90. 310. 90. 40. 0. 0. - 2 1 2 3.1659 6.3740 4.24 90. 310. 90. 40. 0. 0. - 2 1 3 3.1659 6.3740 -4.24 90. 310. 90. 40. 0. 0. - 2 1 4 3.1659 6.3740 -12.72 90. 310. 90. 40. 0. 0. - 2 2 1 2.1299 6.7908 12.72 90. 319. 90. 49. 0. 0. - 2 2 2 2.1299 6.7908 4.24 90. 319. 90. 49. 0. 0. - 2 2 3 2.1299 6.7908 -4.24 90. 319. 90. 49. 0. 0. - 2 2 4 2.1299 6.7908 -12.72 90. 319. 90. 49. 0. 0. - 2 3 1 1.0413 7.0403 12.72 90. 328. 90. 58. 0. 0. - 2 3 2 1.0413 7.0403 4.24 90. 328. 90. 58. 0. 0. - 2 3 3 1.0413 7.0403 -4.24 90. 328. 90. 58. 0. 0. - 2 3 4 1.0413 7.0403 -12.72 90. 328. 90. 58. 0. 0. - 2 4 1 -0.0729 7.1166 12.72 90. 337. 90. 67. 0. 0. - 2 4 2 -0.0729 7.1166 4.24 90. 337. 90. 67. 0. 0. - 2 4 3 -0.0729 7.1166 -4.24 90. 337. 90. 67. 0. 0. - 2 4 4 -0.0729 7.1166 -12.72 90. 337. 90. 67. 0. 0. - 2 5 1 -1.1852 7.0175 12.72 90. 346. 90. 76. 0. 0. - 2 5 2 -1.1852 7.0175 4.24 90. 346. 90. 76. 0. 0. - 2 5 3 -1.1852 7.0175 -4.24 90. 346. 90. 76. 0. 0. - 2 5 4 -1.1852 7.0175 -12.72 90. 346. 90. 76. 0. 0. - 2 6 1 -2.2684 6.7457 12.72 90. 355. 90. 85. 0. 0. - 2 6 2 -2.2684 6.7457 4.24 90. 355. 90. 85. 0. 0. - 2 6 3 -2.2684 6.7457 -4.24 90. 355. 90. 85. 0. 0. - 2 6 4 -2.2684 6.7457 -12.72 90. 355. 90. 85. 0. 0. - 2 7 1 -3.2958 6.3078 12.72 90. 4. 90. 94. 0. 0. - 2 7 2 -3.2958 6.3078 4.24 90. 4. 90. 94. 0. 0. - 2 7 3 -3.2958 6.3078 -4.24 90. 4. 90. 94. 0. 0. - 2 7 4 -3.2958 6.3078 -12.72 90. 4. 90. 94. 0. 0. - 2 8 1 -4.2420 5.7146 12.72 90. 13. 90. 103. 0. 0. - 2 8 2 -4.2420 5.7146 4.24 90. 13. 90. 103. 0. 0. - 2 8 3 -4.2420 5.7146 -4.24 90. 13. 90. 103. 0. 0. - 2 8 4 -4.2420 5.7146 -12.72 90. 13. 90. 103. 0. 0. - 2 9 1 -5.0837 4.9806 12.72 90. 22. 90. 112. 0. 0. - 2 9 2 -5.0837 4.9806 4.24 90. 22. 90. 112. 0. 0. - 2 9 3 -5.0837 4.9806 -4.24 90. 22. 90. 112. 0. 0. - 2 9 4 -5.0837 4.9806 -12.72 90. 22. 90. 112. 0. 0. - 2 10 1 -5.8002 4.1241 12.72 90. 31. 90. 121. 0. 0. - 2 10 2 -5.8002 4.1241 4.24 90. 31. 90. 121. 0. 0. - 2 10 3 -5.8002 4.1241 -4.24 90. 31. 90. 121. 0. 0. - 2 10 4 -5.8002 4.1241 -12.72 90. 31. 90. 121. 0. 0. - 2 11 1 -6.3740 3.1659 12.72 90. 40. 90. 130. 0. 0. - 2 11 2 -6.3740 3.1659 4.24 90. 40. 90. 130. 0. 0. - 2 11 3 -6.3740 3.1659 -4.24 90. 40. 90. 130. 0. 0. - 2 11 4 -6.3740 3.1659 -12.72 90. 40. 90. 130. 0. 0. - 2 12 1 -6.7908 2.1298 12.72 90. 49. 90. 139. 0. 0. - 2 12 2 -6.7908 2.1298 4.24 90. 49. 90. 139. 0. 0. - 2 12 3 -6.7908 2.1298 -4.24 90. 49. 90. 139. 0. 0. - 2 12 4 -6.7908 2.1298 -12.72 90. 49. 90. 139. 0. 0. - 2 13 1 -7.0403 1.0413 12.72 90. 58. 90. 148. 0. 0. - 2 13 2 -7.0403 1.0413 4.24 90. 58. 90. 148. 0. 0. - 2 13 3 -7.0403 1.0413 -4.24 90. 58. 90. 148. 0. 0. - 2 13 4 -7.0403 1.0413 -12.72 90. 58. 90. 148. 0. 0. - 2 14 1 -7.1166 -0.0728 12.72 90. 67. 90. 157. 0. 0. - 2 14 2 -7.1166 -0.0728 4.24 90. 67. 90. 157. 0. 0. - 2 14 3 -7.1166 -0.0728 -4.24 90. 67. 90. 157. 0. 0. - 2 14 4 -7.1166 -0.0728 -12.72 90. 67. 90. 157. 0. 0. - 2 15 1 -7.0175 -1.1853 12.72 90. 76. 90. 166. 0. 0. - 2 15 2 -7.0175 -1.1853 4.24 90. 76. 90. 166. 0. 0. - 2 15 3 -7.0175 -1.1853 -4.24 90. 76. 90. 166. 0. 0. - 2 15 4 -7.0175 -1.1853 -12.72 90. 76. 90. 166. 0. 0. - 2 16 1 -6.7457 -2.2685 12.72 90. 85. 90. 175. 0. 0. - 2 16 2 -6.7457 -2.2685 4.24 90. 85. 90. 175. 0. 0. - 2 16 3 -6.7457 -2.2685 -4.24 90. 85. 90. 175. 0. 0. - 2 16 4 -6.7457 -2.2685 -12.72 90. 85. 90. 175. 0. 0. - 2 17 1 -6.3078 -3.2958 12.72 90. 94. 90. 184. 0. 0. - 2 17 2 -6.3078 -3.2958 4.24 90. 94. 90. 184. 0. 0. - 2 17 3 -6.3078 -3.2958 -4.24 90. 94. 90. 184. 0. 0. - 2 17 4 -6.3078 -3.2958 -12.72 90. 94. 90. 184. 0. 0. - 2 18 1 -5.7146 -4.2419 12.72 90. 103. 90. 193. 0. 0. - 2 18 2 -5.7146 -4.2419 4.24 90. 103. 90. 193. 0. 0. - 2 18 3 -5.7146 -4.2419 -4.24 90. 103. 90. 193. 0. 0. - 2 18 4 -5.7146 -4.2419 -12.72 90. 103. 90. 193. 0. 0. - 2 19 1 -4.9806 -5.0837 12.72 90. 112. 90. 202. 0. 0. - 2 19 2 -4.9806 -5.0837 4.24 90. 112. 90. 202. 0. 0. - 2 19 3 -4.9806 -5.0837 -4.24 90. 112. 90. 202. 0. 0. - 2 19 4 -4.9806 -5.0837 -12.72 90. 112. 90. 202. 0. 0. - 2 20 1 -4.1240 -5.8003 12.72 90. 121. 90. 211. 0. 0. - 2 20 2 -4.1240 -5.8003 4.24 90. 121. 90. 211. 0. 0. - 2 20 3 -4.1240 -5.8003 -4.24 90. 121. 90. 211. 0. 0. - 2 20 4 -4.1240 -5.8003 -12.72 90. 121. 90. 211. 0. 0. - 2 21 1 -3.1659 -6.3740 12.72 90. 130. 90. 220. 0. 0. - 2 21 2 -3.1659 -6.3740 4.24 90. 130. 90. 220. 0. 0. - 2 21 3 -3.1659 -6.3740 -4.24 90. 130. 90. 220. 0. 0. - 2 21 4 -3.1659 -6.3740 -12.72 90. 130. 90. 220. 0. 0. - 2 22 1 -2.1299 -6.7908 12.72 90. 139. 90. 229. 0. 0. - 2 22 2 -2.1299 -6.7908 4.24 90. 139. 90. 229. 0. 0. - 2 22 3 -2.1299 -6.7908 -4.24 90. 139. 90. 229. 0. 0. - 2 22 4 -2.1299 -6.7908 -12.72 90. 139. 90. 229. 0. 0. - 2 23 1 -1.0413 -7.0403 12.72 90. 148. 90. 238. 0. 0. - 2 23 2 -1.0413 -7.0403 4.24 90. 148. 90. 238. 0. 0. - 2 23 3 -1.0413 -7.0403 -4.24 90. 148. 90. 238. 0. 0. - 2 23 4 -1.0413 -7.0403 -12.72 90. 148. 90. 238. 0. 0. - 2 24 1 0.0729 -7.1166 12.72 90. 157. 90. 247. 0. 0. - 2 24 2 0.0729 -7.1166 4.24 90. 157. 90. 247. 0. 0. - 2 24 3 0.0729 -7.1166 -4.24 90. 157. 90. 247. 0. 0. - 2 24 4 0.0729 -7.1166 -12.72 90. 157. 90. 247. 0. 0. - 2 25 1 1.1852 -7.0175 12.72 90. 166. 90. 256. 0. 0. - 2 25 2 1.1852 -7.0175 4.24 90. 166. 90. 256. 0. 0. - 2 25 3 1.1852 -7.0175 -4.24 90. 166. 90. 256. 0. 0. - 2 25 4 1.1852 -7.0175 -12.72 90. 166. 90. 256. 0. 0. - 2 26 1 2.2684 -6.7457 12.72 90. 175. 90. 265. 0. 0. - 2 26 2 2.2684 -6.7457 4.24 90. 175. 90. 265. 0. 0. - 2 26 3 2.2684 -6.7457 -4.24 90. 175. 90. 265. 0. 0. - 2 26 4 2.2684 -6.7457 -12.72 90. 175. 90. 265. 0. 0. - 2 27 1 3.2958 -6.3078 12.72 90. 184. 90. 274. 0. 0. - 2 27 2 3.2958 -6.3078 4.24 90. 184. 90. 274. 0. 0. - 2 27 3 3.2958 -6.3078 -4.24 90. 184. 90. 274. 0. 0. - 2 27 4 3.2958 -6.3078 -12.72 90. 184. 90. 274. 0. 0. - 2 28 1 4.2420 -5.7146 12.72 90. 193. 90. 283. 0. 0. - 2 28 2 4.2420 -5.7146 4.24 90. 193. 90. 283. 0. 0. - 2 28 3 4.2420 -5.7146 -4.24 90. 193. 90. 283. 0. 0. - 2 28 4 4.2420 -5.7146 -12.72 90. 193. 90. 283. 0. 0. - 2 29 1 5.0837 -4.9806 12.72 90. 202. 90. 292. 0. 0. - 2 29 2 5.0837 -4.9806 4.24 90. 202. 90. 292. 0. 0. - 2 29 3 5.0837 -4.9806 -4.24 90. 202. 90. 292. 0. 0. - 2 29 4 5.0837 -4.9806 -12.72 90. 202. 90. 292. 0. 0. - 2 30 1 5.8002 -4.1241 12.72 90. 211. 90. 301. 0. 0. - 2 30 2 5.8002 -4.1241 4.24 90. 211. 90. 301. 0. 0. - 2 30 3 5.8002 -4.1241 -4.24 90. 211. 90. 301. 0. 0. - 2 30 4 5.8002 -4.1241 -12.72 90. 211. 90. 301. 0. 0. - 2 31 1 6.3740 -3.1659 12.72 90. 220. 90. 310. 0. 0. - 2 31 2 6.3740 -3.1659 4.24 90. 220. 90. 310. 0. 0. - 2 31 3 6.3740 -3.1659 -4.24 90. 220. 90. 310. 0. 0. - 2 31 4 6.3740 -3.1659 -12.72 90. 220. 90. 310. 0. 0. - 2 32 1 6.7908 -2.1298 12.72 90. 229. 90. 319. 0. 0. - 2 32 2 6.7908 -2.1298 4.24 90. 229. 90. 319. 0. 0. - 2 32 3 6.7908 -2.1298 -4.24 90. 229. 90. 319. 0. 0. - 2 32 4 6.7908 -2.1298 -12.72 90. 229. 90. 319. 0. 0. - 2 33 1 7.0403 -1.0413 12.72 90. 238. 90. 328. 0. 0. - 2 33 2 7.0403 -1.0413 4.24 90. 238. 90. 328. 0. 0. - 2 33 3 7.0403 -1.0413 -4.24 90. 238. 90. 328. 0. 0. - 2 33 4 7.0403 -1.0413 -12.72 90. 238. 90. 328. 0. 0. - 2 34 1 7.1166 0.0728 12.72 90. 247. 90. 337. 0. 0. - 2 34 2 7.1166 0.0728 4.24 90. 247. 90. 337. 0. 0. - 2 34 3 7.1166 0.0728 -4.24 90. 247. 90. 337. 0. 0. - 2 34 4 7.1166 0.0728 -12.72 90. 247. 90. 337. 0. 0. - 2 35 1 7.0175 1.1853 12.72 90. 256. 90. 346. 0. 0. - 2 35 2 7.0175 1.1853 4.24 90. 256. 90. 346. 0. 0. - 2 35 3 7.0175 1.1853 -4.24 90. 256. 90. 346. 0. 0. - 2 35 4 7.0175 1.1853 -12.72 90. 256. 90. 346. 0. 0. - 2 36 1 6.7457 2.2685 12.72 90. 265. 90. 355. 0. 0. - 2 36 2 6.7457 2.2685 4.24 90. 265. 90. 355. 0. 0. - 2 36 3 6.7457 2.2685 -4.24 90. 265. 90. 355. 0. 0. - 2 36 4 6.7457 2.2685 -12.72 90. 265. 90. 355. 0. 0. - 2 37 1 6.3078 3.2958 12.72 90. 274. 90. 4. 0. 0. - 2 37 2 6.3078 3.2958 4.24 90. 274. 90. 4. 0. 0. - 2 37 3 6.3078 3.2958 -4.24 90. 274. 90. 4. 0. 0. - 2 37 4 6.3078 3.2958 -12.72 90. 274. 90. 4. 0. 0. - 2 38 1 5.7146 4.2419 12.72 90. 283. 90. 13. 0. 0. - 2 38 2 5.7146 4.2419 4.24 90. 283. 90. 13. 0. 0. - 2 38 3 5.7146 4.2419 -4.24 90. 283. 90. 13. 0. 0. - 2 38 4 5.7146 4.2419 -12.72 90. 283. 90. 13. 0. 0. - 2 39 1 4.9806 5.0837 12.72 90. 292. 90. 22. 0. 0. - 2 39 2 4.9806 5.0837 4.24 90. 292. 90. 22. 0. 0. - 2 39 3 4.9806 5.0837 -4.24 90. 292. 90. 22. 0. 0. - 2 39 4 4.9806 5.0837 -12.72 90. 292. 90. 22. 0. 0. - 2 40 1 4.1240 5.8003 12.72 90. 301. 90. 31. 0. 0. - 2 40 2 4.1240 5.8003 4.24 90. 301. 90. 31. 0. 0. - 2 40 3 4.1240 5.8003 -4.24 90. 301. 90. 31. 0. 0. - 2 40 4 4.1240 5.8003 -12.72 90. 301. 90. 31. 0. 0. - 3 1 1 -3.3033 14.4728 18.55 90. 12.86 90. 102.86 0. 0. - 3 1 2 -3.2521 14.2486 10.95 90. 12.86 90. 102.86 0. 0. - 3 1 3 -3.3033 14.4728 3.70 90. 12.86 90. 102.86 0. 0. - 3 1 4 -3.2521 14.2486 -3.70 90. 12.86 90. 102.86 0. 0. - 3 1 5 -3.3033 14.4728 -11.20 90. 12.86 90. 102.86 0. 0. - 3 1 6 -3.2521 14.2486 -18.35 90. 12.86 90. 102.86 0. 0. - 3 2 1 -9.6298 12.0754 18.55 90. 38.57 90. 128.57 0. 0. - 3 2 2 -9.4864 11.8956 10.95 90. 38.57 90. 128.57 0. 0. - 3 2 3 -9.6298 12.0754 3.70 90. 38.57 90. 128.57 0. 0. - 3 2 4 -9.4864 11.8956 -3.70 90. 38.57 90. 128.57 0. 0. - 3 2 5 -9.6298 12.0754 -11.20 90. 38.57 90. 128.57 0. 0. - 3 2 6 -9.4864 11.8956 -18.35 90. 38.57 90. 128.57 0. 0. - 3 3 1 -13.3749 6.4410 18.55 90. 64.29 90. 154.29 0. 0. - 3 3 2 -13.1677 6.3412 10.95 90. 64.29 90. 154.29 0. 0. - 3 3 3 -13.3749 6.4410 3.70 90. 64.29 90. 154.29 0. 0. - 3 3 4 -13.1677 6.3412 -3.70 90. 64.29 90. 154.29 0. 0. - 3 3 5 -13.3749 6.4410 -11.20 90. 64.29 90. 154.29 0. 0. - 3 3 6 -13.1677 6.3412 -18.35 90. 64.29 90. 154.29 0. 0. - 3 4 1 -15.4450 0.0000 18.55 90. 90.00 90. 180.00 0. 0. - 3 4 2 -15.2150 0.0000 10.95 90. 90.00 90. 180.00 0. 0. - 3 4 3 -15.4450 0.0000 3.70 90. 90.00 90. 180.00 0. 0. - 3 4 4 -15.2150 0.0000 -3.70 90. 90.00 90. 180.00 0. 0. - 3 4 5 -15.4450 0.0000 -11.20 90. 90.00 90. 180.00 0. 0. - 3 4 6 -15.2150 0.0000 -18.35 90. 90.00 90. 180.00 0. 0. - 3 5 1 -13.3749 -6.4410 18.55 90. 115.71 90. 205.71 0. 0. - 3 5 2 -13.1677 -6.3412 10.95 90. 115.71 90. 205.71 0. 0. - 3 5 3 -13.3749 -6.4410 3.70 90. 115.71 90. 205.71 0. 0. - 3 5 4 -13.1677 -6.3412 -3.70 90. 115.71 90. 205.71 0. 0. - 3 5 5 -13.3749 -6.4410 -11.20 90. 115.71 90. 205.71 0. 0. - 3 5 6 -13.1677 -6.3412 -18.35 90. 115.71 90. 205.71 0. 0. - 3 6 1 -9.6298 -12.0754 18.55 90. 141.43 90. 231.43 0. 0. - 3 6 2 -9.4864 -11.8956 10.95 90. 141.43 90. 231.43 0. 0. - 3 6 3 -9.6298 -12.0754 3.70 90. 141.43 90. 231.43 0. 0. - 3 6 4 -9.4864 -11.8956 -3.70 90. 141.43 90. 231.43 0. 0. - 3 6 5 -9.6298 -12.0754 -11.20 90. 141.43 90. 231.43 0. 0. - 3 6 6 -9.4864 -11.8956 -18.35 90. 141.43 90. 231.43 0. 0. - 3 7 1 -3.3033 -14.4728 18.55 90. 167.14 90. 257.14 0. 0. - 3 7 2 -3.2521 -14.2486 10.95 90. 167.14 90. 257.14 0. 0. - 3 7 3 -3.3033 -14.4728 3.70 90. 167.14 90. 257.14 0. 0. - 3 7 4 -3.2521 -14.2486 -3.70 90. 167.14 90. 257.14 0. 0. - 3 7 5 -3.3033 -14.4728 -11.20 90. 167.14 90. 257.14 0. 0. - 3 7 6 -3.2521 -14.2486 -18.35 90. 167.14 90. 257.14 0. 0. - 3 8 1 3.4368 -15.0577 18.55 90. 192.86 90. 282.86 0. 0. - 3 8 2 3.3856 -14.8335 10.95 90. 192.86 90. 282.86 0. 0. - 3 8 3 3.4368 -15.0577 3.70 90. 192.86 90. 282.86 0. 0. - 3 8 4 3.3856 -14.8335 -3.70 90. 192.86 90. 282.86 0. 0. - 3 8 5 3.4368 -15.0577 -11.20 90. 192.86 90. 282.86 0. 0. - 3 8 6 3.3856 -14.8335 -18.35 90. 192.86 90. 282.86 0. 0. - 3 9 1 9.2557 -11.6063 18.55 90. 218.57 90. 308.57 0. 0. - 3 9 2 9.1123 -11.4265 10.95 90. 218.57 90. 308.57 0. 0. - 3 9 3 9.2557 -11.6063 3.70 90. 218.57 90. 308.57 0. 0. - 3 9 4 9.1123 -11.4265 -3.70 90. 218.57 90. 308.57 0. 0. - 3 9 5 9.2557 -11.6063 -11.20 90. 218.57 90. 308.57 0. 0. - 3 9 6 9.1123 -11.4265 -18.35 90. 218.57 90. 308.57 0. 0. - 3 10 1 13.9155 -6.7013 18.55 90. 244.29 90. 334.29 0. 0. - 3 10 2 13.7083 -6.6016 10.95 90. 244.29 90. 334.29 0. 0. - 3 10 3 13.9155 -6.7013 3.70 90. 244.29 90. 334.29 0. 0. - 3 10 4 13.7083 -6.6016 -3.70 90. 244.29 90. 334.29 0. 0. - 3 10 5 13.9155 -6.7013 -11.20 90. 244.29 90. 334.29 0. 0. - 3 10 6 13.7083 -6.6016 -18.35 90. 244.29 90. 334.29 0. 0. - 3 11 1 14.8450 0.0000 18.55 90. 270.00 90. 0.00 0. 0. - 3 11 2 14.6150 0.0000 10.95 90. 270.00 90. 0.00 0. 0. - 3 11 3 14.8450 0.0000 3.70 90. 270.00 90. 0.00 0. 0. - 3 11 4 14.6150 0.0000 -3.70 90. 270.00 90. 0.00 0. 0. - 3 11 5 14.8450 0.0000 -11.20 90. 270.00 90. 0.00 0. 0. - 3 11 6 14.6150 0.0000 -18.35 90. 270.00 90. 0.00 0. 0. - 3 12 1 13.9155 6.7013 18.55 90. 295.71 90. 25.71 0. 0. - 3 12 2 13.7083 6.6015 10.95 90. 295.71 90. 25.71 0. 0. - 3 12 3 13.9155 6.7013 3.70 90. 295.71 90. 25.71 0. 0. - 3 12 4 13.7083 6.6015 -3.70 90. 295.71 90. 25.71 0. 0. - 3 12 5 13.9155 6.7013 -11.20 90. 295.71 90. 25.71 0. 0. - 3 12 6 13.7083 6.6015 -18.35 90. 295.71 90. 25.71 0. 0. - 3 13 1 9.2557 11.6063 18.55 90. 321.43 90. 51.43 0. 0. - 3 13 2 9.1123 11.4265 10.95 90. 321.43 90. 51.43 0. 0. - 3 13 3 9.2557 11.6063 3.70 90. 321.43 90. 51.43 0. 0. - 3 13 4 9.1123 11.4265 -3.70 90. 321.43 90. 51.43 0. 0. - 3 13 5 9.2557 11.6063 -11.20 90. 321.43 90. 51.43 0. 0. - 3 13 6 9.1123 11.4265 -18.35 90. 321.43 90. 51.43 0. 0. - 3 14 1 3.4368 15.0577 18.55 90. 347.14 90. 77.14 0. 0. - 3 14 2 3.3857 14.8335 10.95 90. 347.14 90. 77.14 0. 0. - 3 14 3 3.4368 15.0577 3.70 90. 347.14 90. 77.14 0. 0. - 3 14 4 3.3857 14.8335 -3.70 90. 347.14 90. 77.14 0. 0. - 3 14 5 3.4368 15.0577 -11.20 90. 347.14 90. 77.14 0. 0. - 3 14 6 3.3857 14.8335 -18.35 90. 347.14 90. 77.14 0. 0. - 4 1 1 -3.3465 23.2757 25.90 90. 8.18 90. 98.18 0. 0. - 4 1 2 -3.3793 23.5033 18.75 90. 8.18 90. 98.18 0. 0. - 4 1 3 -3.3465 23.2757 11.15 90. 8.18 90. 98.18 0. 0. - 4 1 4 -3.3793 23.5033 3.85 90. 8.18 90. 98.18 0. 0. - 4 1 5 -3.3465 23.2757 -3.55 90. 8.18 90. 98.18 0. 0. - 4 1 6 -3.3793 23.5033 -11.05 90. 8.18 90. 98.18 0. 0. - 4 1 7 -3.3465 23.2757 -18.30 90. 8.18 90. 98.18 0. 0. - 4 1 8 -3.3793 23.5033 -25.90 90. 8.18 90. 98.18 0. 0. - 4 2 1 -9.9970 21.8903 25.90 90. 24.55 90. 114.55 0. 0. - 4 2 2 -10.0925 22.0995 18.75 90. 24.55 90. 114.55 0. 0. - 4 2 3 -9.9970 21.8903 11.15 90. 24.55 90. 114.55 0. 0. - 4 2 4 -10.0925 22.0995 3.85 90. 24.55 90. 114.55 0. 0. - 4 2 5 -9.9970 21.8903 -3.55 90. 24.55 90. 114.55 0. 0. - 4 2 6 -10.0925 22.0995 -11.05 90. 24.55 90. 114.55 0. 0. - 4 2 7 -9.9970 21.8903 -18.30 90. 24.55 90. 114.55 0. 0. - 4 2 8 -10.0925 22.0995 -25.90 90. 24.55 90. 114.55 0. 0. - 4 3 1 -15.3991 17.7715 25.90 90. 40.91 90. 130.91 0. 0. - 4 3 2 -15.5497 17.9453 18.75 90. 40.91 90. 130.91 0. 0. - 4 3 3 -15.3991 17.7715 11.15 90. 40.91 90. 130.91 0. 0. - 4 3 4 -15.5497 17.9453 3.85 90. 40.91 90. 130.91 0. 0. - 4 3 5 -15.3991 17.7715 -3.55 90. 40.91 90. 130.91 0. 0. - 4 3 6 -15.5497 17.9453 -11.05 90. 40.91 90. 130.91 0. 0. - 4 3 7 -15.3991 17.7715 -18.30 90. 40.91 90. 130.91 0. 0. - 4 3 8 -15.5497 17.9453 -25.90 90. 40.91 90. 130.91 0. 0. - 4 4 1 -20.2448 13.0105 25.90 90. 57.27 90. 147.27 0. 0. - 4 4 2 -20.4382 13.1349 18.75 90. 57.27 90. 147.27 0. 0. - 4 4 3 -20.2448 13.0105 11.15 90. 57.27 90. 147.27 0. 0. - 4 4 4 -20.4382 13.1349 3.85 90. 57.27 90. 147.27 0. 0. - 4 4 5 -20.2448 13.0105 -3.55 90. 57.27 90. 147.27 0. 0. - 4 4 6 -20.4382 13.1349 -11.05 90. 57.27 90. 147.27 0. 0. - 4 4 7 -20.2448 13.0105 -18.30 90. 57.27 90. 147.27 0. 0. - 4 4 8 -20.4382 13.1349 -25.90 90. 57.27 90. 147.27 0. 0. - 4 5 1 -22.5624 6.6249 25.90 90. 73.64 90. 163.64 0. 0. - 4 5 2 -22.7831 6.6897 18.75 90. 73.64 90. 163.64 0. 0. - 4 5 3 -22.5624 6.6249 11.15 90. 73.64 90. 163.64 0. 0. - 4 5 4 -22.7831 6.6897 3.85 90. 73.64 90. 163.64 0. 0. - 4 5 5 -22.5624 6.6249 -3.55 90. 73.64 90. 163.64 0. 0. - 4 5 6 -22.7831 6.6897 -11.05 90. 73.64 90. 163.64 0. 0. - 4 5 7 -22.5624 6.6249 -18.30 90. 73.64 90. 163.64 0. 0. - 4 5 8 -22.7831 6.6897 -25.90 90. 73.64 90. 163.64 0. 0. - 4 6 1 -24.0650 0.0000 25.90 90. 90.00 90. 180.00 0. 0. - 4 6 2 -24.2950 0.0000 18.75 90. 90.00 90. 180.00 0. 0. - 4 6 3 -24.0650 0.0000 11.15 90. 90.00 90. 180.00 0. 0. - 4 6 4 -24.2950 0.0000 3.85 90. 90.00 90. 180.00 0. 0. - 4 6 5 -24.0650 0.0000 -3.55 90. 90.00 90. 180.00 0. 0. - 4 6 6 -24.2950 0.0000 -11.05 90. 90.00 90. 180.00 0. 0. - 4 6 7 -24.0650 0.0000 -18.30 90. 90.00 90. 180.00 0. 0. - 4 6 8 -24.2950 0.0000 -25.90 90. 90.00 90. 180.00 0. 0. - 4 7 1 -22.5624 -6.6249 25.90 90. 106.36 90. 196.36 0. 0. - 4 7 2 -22.7831 -6.6897 18.75 90. 106.36 90. 196.36 0. 0. - 4 7 3 -22.5624 -6.6249 11.15 90. 106.36 90. 196.36 0. 0. - 4 7 4 -22.7831 -6.6897 3.85 90. 106.36 90. 196.36 0. 0. - 4 7 5 -22.5624 -6.6249 -3.55 90. 106.36 90. 196.36 0. 0. - 4 7 6 -22.7831 -6.6897 -11.05 90. 106.36 90. 196.36 0. 0. - 4 7 7 -22.5624 -6.6249 -18.30 90. 106.36 90. 196.36 0. 0. - 4 7 8 -22.7831 -6.6897 -25.90 90. 106.36 90. 196.36 0. 0. - 4 8 1 -20.2448 -13.0105 25.90 90. 122.73 90. 212.73 0. 0. - 4 8 2 -20.4382 -13.1349 18.75 90. 122.73 90. 212.73 0. 0. - 4 8 3 -20.2448 -13.0105 11.15 90. 122.73 90. 212.73 0. 0. - 4 8 4 -20.4382 -13.1349 3.85 90. 122.73 90. 212.73 0. 0. - 4 8 5 -20.2448 -13.0105 -3.55 90. 122.73 90. 212.73 0. 0. - 4 8 6 -20.4382 -13.1349 -11.05 90. 122.73 90. 212.73 0. 0. - 4 8 7 -20.2448 -13.0105 -18.30 90. 122.73 90. 212.73 0. 0. - 4 8 8 -20.4382 -13.1349 -25.90 90. 122.73 90. 212.73 0. 0. - 4 9 1 -15.3991 -17.7715 25.90 90. 139.09 90. 229.09 0. 0. - 4 9 2 -15.5497 -17.9453 18.75 90. 139.09 90. 229.09 0. 0. - 4 9 3 -15.3991 -17.7715 11.15 90. 139.09 90. 229.09 0. 0. - 4 9 4 -15.5497 -17.9453 3.85 90. 139.09 90. 229.09 0. 0. - 4 9 5 -15.3991 -17.7715 -3.55 90. 139.09 90. 229.09 0. 0. - 4 9 6 -15.5497 -17.9453 -11.05 90. 139.09 90. 229.09 0. 0. - 4 9 7 -15.3991 -17.7715 -18.30 90. 139.09 90. 229.09 0. 0. - 4 9 8 -15.5497 -17.9453 -25.90 90. 139.09 90. 229.09 0. 0. - 4 10 1 -9.9970 -21.8903 25.90 90. 155.45 90. 245.45 0. 0. - 4 10 2 -10.0925 -22.0995 18.75 90. 155.45 90. 245.45 0. 0. - 4 10 3 -9.9970 -21.8903 11.15 90. 155.45 90. 245.45 0. 0. - 4 10 4 -10.0925 -22.0995 3.85 90. 155.45 90. 245.45 0. 0. - 4 10 5 -9.9970 -21.8903 -3.55 90. 155.45 90. 245.45 0. 0. - 4 10 6 -10.0925 -22.0995 -11.05 90. 155.45 90. 245.45 0. 0. - 4 10 7 -9.9970 -21.8903 -18.30 90. 155.45 90. 245.45 0. 0. - 4 10 8 -10.0925 -22.0995 -25.90 90. 155.45 90. 245.45 0. 0. - 4 11 1 -3.3465 -23.2757 25.90 90. 171.82 90. 261.82 0. 0. - 4 11 2 -3.3793 -23.5033 18.75 90. 171.82 90. 261.82 0. 0. - 4 11 3 -3.3465 -23.2757 11.15 90. 171.82 90. 261.82 0. 0. - 4 11 4 -3.3793 -23.5033 3.85 90. 171.82 90. 261.82 0. 0. - 4 11 5 -3.3465 -23.2757 -3.55 90. 171.82 90. 261.82 0. 0. - 4 11 6 -3.3793 -23.5033 -11.05 90. 171.82 90. 261.82 0. 0. - 4 11 7 -3.3465 -23.2757 -18.30 90. 171.82 90. 261.82 0. 0. - 4 11 8 -3.3793 -23.5033 -25.90 90. 171.82 90. 261.82 0. 0. - 4 12 1 3.4248 -23.8201 25.90 90. 188.18 90. 278.18 0. 0. - 4 12 2 3.4575 -24.0477 18.75 90. 188.18 90. 278.18 0. 0. - 4 12 3 3.4248 -23.8201 11.15 90. 188.18 90. 278.18 0. 0. - 4 12 4 3.4575 -24.0477 3.85 90. 188.18 90. 278.18 0. 0. - 4 12 5 3.4248 -23.8201 -3.55 90. 188.18 90. 278.18 0. 0. - 4 12 6 3.4575 -24.0477 -11.05 90. 188.18 90. 278.18 0. 0. - 4 12 7 3.4248 -23.8201 -18.30 90. 188.18 90. 278.18 0. 0. - 4 12 8 3.4575 -24.0477 -25.90 90. 188.18 90. 278.18 0. 0. - 4 13 1 9.7685 -21.3900 25.90 90. 204.55 90. 294.55 0. 0. - 4 13 2 9.8640 -21.5992 18.75 90. 204.55 90. 294.55 0. 0. - 4 13 3 9.7685 -21.3900 11.15 90. 204.55 90. 294.55 0. 0. - 4 13 4 9.8640 -21.5992 3.85 90. 204.55 90. 294.55 0. 0. - 4 13 5 9.7685 -21.3900 -3.55 90. 204.55 90. 294.55 0. 0. - 4 13 6 9.8640 -21.5992 -11.05 90. 204.55 90. 294.55 0. 0. - 4 13 7 9.7685 -21.3900 -18.30 90. 204.55 90. 294.55 0. 0. - 4 13 8 9.8640 -21.5992 -25.90 90. 204.55 90. 294.55 0. 0. - 4 14 1 15.7592 -18.1871 25.90 90. 220.91 90. 310.91 0. 0. - 4 14 2 15.9098 -18.3609 18.75 90. 220.91 90. 310.91 0. 0. - 4 14 3 15.7592 -18.1871 11.15 90. 220.91 90. 310.91 0. 0. - 4 14 4 15.9098 -18.3609 3.85 90. 220.91 90. 310.91 0. 0. - 4 14 5 15.7592 -18.1871 -3.55 90. 220.91 90. 310.91 0. 0. - 4 14 6 15.9098 -18.3609 -11.05 90. 220.91 90. 310.91 0. 0. - 4 14 7 15.7592 -18.1871 -18.30 90. 220.91 90. 310.91 0. 0. - 4 14 8 15.9098 -18.3609 -25.90 90. 220.91 90. 310.91 0. 0. - 4 15 1 19.7820 -12.7132 25.90 90. 237.27 90. 327.27 0. 0. - 4 15 2 19.9755 -12.8375 18.75 90. 237.27 90. 327.27 0. 0. - 4 15 3 19.7820 -12.7132 11.15 90. 237.27 90. 327.27 0. 0. - 4 15 4 19.9755 -12.8375 3.85 90. 237.27 90. 327.27 0. 0. - 4 15 5 19.7820 -12.7132 -3.55 90. 237.27 90. 327.27 0. 0. - 4 15 6 19.9755 -12.8375 -11.05 90. 237.27 90. 327.27 0. 0. - 4 15 7 19.7820 -12.7132 -18.30 90. 237.27 90. 327.27 0. 0. - 4 15 8 19.9755 -12.8375 -25.90 90. 237.27 90. 327.27 0. 0. - 4 16 1 23.0902 -6.7799 25.90 90. 253.64 90. 343.64 0. 0. - 4 16 2 23.3108 -6.8447 18.75 90. 253.64 90. 343.64 0. 0. - 4 16 3 23.0902 -6.7799 11.15 90. 253.64 90. 343.64 0. 0. - 4 16 4 23.3108 -6.8447 3.85 90. 253.64 90. 343.64 0. 0. - 4 16 5 23.0902 -6.7799 -3.55 90. 253.64 90. 343.64 0. 0. - 4 16 6 23.3108 -6.8447 -11.05 90. 253.64 90. 343.64 0. 0. - 4 16 7 23.0902 -6.7799 -18.30 90. 253.64 90. 343.64 0. 0. - 4 16 8 23.3108 -6.8447 -25.90 90. 253.64 90. 343.64 0. 0. - 4 17 1 23.5150 0.0000 25.90 90. 270.00 90. 0.00 0. 0. - 4 17 2 23.7450 0.0000 18.75 90. 270.00 90. 0.00 0. 0. - 4 17 3 23.5150 0.0000 11.15 90. 270.00 90. 0.00 0. 0. - 4 17 4 23.7450 0.0000 3.85 90. 270.00 90. 0.00 0. 0. - 4 17 5 23.5150 0.0000 -3.55 90. 270.00 90. 0.00 0. 0. - 4 17 6 23.7450 0.0000 -11.05 90. 270.00 90. 0.00 0. 0. - 4 17 7 23.5150 0.0000 -18.30 90. 270.00 90. 0.00 0. 0. - 4 17 8 23.7450 0.0000 -25.90 90. 270.00 90. 0.00 0. 0. - 4 18 1 23.0902 6.7799 25.90 90. 286.36 90. 16.36 0. 0. - 4 18 2 23.3109 6.8447 18.75 90. 286.36 90. 16.36 0. 0. - 4 18 3 23.0902 6.7799 11.15 90. 286.36 90. 16.36 0. 0. - 4 18 4 23.3109 6.8447 3.85 90. 286.36 90. 16.36 0. 0. - 4 18 5 23.0902 6.7799 -3.55 90. 286.36 90. 16.36 0. 0. - 4 18 6 23.3109 6.8447 -11.05 90. 286.36 90. 16.36 0. 0. - 4 18 7 23.0902 6.7799 -18.30 90. 286.36 90. 16.36 0. 0. - 4 18 8 23.3109 6.8447 -25.90 90. 286.36 90. 16.36 0. 0. - 4 19 1 19.7820 12.7131 25.90 90. 302.73 90. 32.73 0. 0. - 4 19 2 19.9755 12.8375 18.75 90. 302.73 90. 32.73 0. 0. - 4 19 3 19.7820 12.7131 11.15 90. 302.73 90. 32.73 0. 0. - 4 19 4 19.9755 12.8375 3.85 90. 302.73 90. 32.73 0. 0. - 4 19 5 19.7820 12.7131 -3.55 90. 302.73 90. 32.73 0. 0. - 4 19 6 19.9755 12.8375 -11.05 90. 302.73 90. 32.73 0. 0. - 4 19 7 19.7820 12.7131 -18.30 90. 302.73 90. 32.73 0. 0. - 4 19 8 19.9755 12.8375 -25.90 90. 302.73 90. 32.73 0. 0. - 4 20 1 15.7592 18.1871 25.90 90. 319.09 90. 49.09 0. 0. - 4 20 2 15.9098 18.3609 18.75 90. 319.09 90. 49.09 0. 0. - 4 20 3 15.7592 18.1871 11.15 90. 319.09 90. 49.09 0. 0. - 4 20 4 15.9098 18.3609 3.85 90. 319.09 90. 49.09 0. 0. - 4 20 5 15.7592 18.1871 -3.55 90. 319.09 90. 49.09 0. 0. - 4 20 6 15.9098 18.3609 -11.05 90. 319.09 90. 49.09 0. 0. - 4 20 7 15.7592 18.1871 -18.30 90. 319.09 90. 49.09 0. 0. - 4 20 8 15.9098 18.3609 -25.90 90. 319.09 90. 49.09 0. 0. - 4 21 1 9.7685 21.3900 25.90 90. 335.45 90. 65.45 0. 0. - 4 21 2 9.8640 21.5992 18.75 90. 335.45 90. 65.45 0. 0. - 4 21 3 9.7685 21.3900 11.15 90. 335.45 90. 65.45 0. 0. - 4 21 4 9.8640 21.5992 3.85 90. 335.45 90. 65.45 0. 0. - 4 21 5 9.7685 21.3900 -3.55 90. 335.45 90. 65.45 0. 0. - 4 21 6 9.8640 21.5992 -11.05 90. 335.45 90. 65.45 0. 0. - 4 21 7 9.7685 21.3900 -18.30 90. 335.45 90. 65.45 0. 0. - 4 21 8 9.8640 21.5992 -25.90 90. 335.45 90. 65.45 0. 0. - 4 22 1 3.4248 23.8201 25.90 90. 351.82 90. 81.82 0. 0. - 4 22 2 3.4575 24.0477 18.75 90. 351.82 90. 81.82 0. 0. - 4 22 3 3.4248 23.8201 11.15 90. 351.82 90. 81.82 0. 0. - 4 22 4 3.4575 24.0477 3.85 90. 351.82 90. 81.82 0. 0. - 4 22 5 3.4248 23.8201 -3.55 90. 351.82 90. 81.82 0. 0. - 4 22 6 3.4575 24.0477 -11.05 90. 351.82 90. 81.82 0. 0. - 4 22 7 3.4248 23.8201 -18.30 90. 351.82 90. 81.82 0. 0. - 4 22 8 3.4575 24.0477 -25.90 90. 351.82 90. 81.82 0. 0. - 5 1 1 0.0000 39.0150 43.0197 90. 0.00 90. 90.00 0. 0. - 5 1 2 0.0000 39.0750 39.1097 90. 0.00 90. 90.00 0. 0. - 5 1 3 0.0000 39.0150 35.1797 90. 0.00 90. 90.00 0. 0. - 5 1 4 0.0000 39.0750 31.2697 90. 0.00 90. 90.00 0. 0. - 5 1 5 0.0000 39.0150 27.3397 90. 0.00 90. 90.00 0. 0. - 5 1 6 0.0000 39.0750 23.4297 90. 0.00 90. 90.00 0. 0. - 5 1 7 0.0000 39.0150 19.4997 90. 0.00 90. 90.00 0. 0. - 5 1 8 0.0000 39.0750 15.5897 90. 0.00 90. 90.00 0. 0. - 5 1 9 0.0000 39.0150 11.6597 90. 0.00 90. 90.00 0. 0. - 5 1 10 0.0000 39.0750 7.7497 90. 0.00 90. 90.00 0. 0. - 5 1 11 0.0000 39.0150 3.8197 90. 0.00 90. 90.00 0. 0. - 5 1 12 0.0000 39.0750 -0.0903 90. 0.00 90. 90.00 0. 0. - 5 1 13 0.0000 39.0150 -4.0203 90. 0.00 90. 90.00 0. 0. - 5 1 14 0.0000 39.0750 -7.9303 90. 0.00 90. 90.00 0. 0. - 5 1 15 0.0000 39.0150 -11.8603 90. 0.00 90. 90.00 0. 0. - 5 1 16 0.0000 39.0750 -15.7703 90. 0.00 90. 90.00 0. 0. - 5 1 17 0.0000 39.0150 -19.7003 90. 0.00 90. 90.00 0. 0. - 5 1 18 0.0000 39.0750 -23.6103 90. 0.00 90. 90.00 0. 0. - 5 1 19 0.0000 39.0150 -27.5403 90. 0.00 90. 90.00 0. 0. - 5 1 20 0.0000 39.0750 -31.4503 90. 0.00 90. 90.00 0. 0. - 5 1 21 0.0000 39.0150 -35.3803 90. 0.00 90. 90.00 0. 0. - 5 1 22 0.0000 39.0750 -39.2903 90. 0.00 90. 90.00 0. 0. - 5 1 23 0.0000 39.0150 -43.2003 90. 0.00 90. 90.00 0. 0. - 5 2 1 -7.1972 38.5016 43.0197 90. 10.59 90. 100.59 0. 0. - 5 2 2 -7.2082 38.5606 39.1097 90. 10.59 90. 100.59 0. 0. - 5 2 3 -7.1972 38.5016 35.1797 90. 10.59 90. 100.59 0. 0. - 5 2 4 -7.2082 38.5606 31.2697 90. 10.59 90. 100.59 0. 0. - 5 2 5 -7.1972 38.5016 27.3397 90. 10.59 90. 100.59 0. 0. - 5 2 6 -7.2082 38.5606 23.4297 90. 10.59 90. 100.59 0. 0. - 5 2 7 -7.1972 38.5016 19.4997 90. 10.59 90. 100.59 0. 0. - 5 2 8 -7.2082 38.5606 15.5897 90. 10.59 90. 100.59 0. 0. - 5 2 9 -7.1972 38.5016 11.6597 90. 10.59 90. 100.59 0. 0. - 5 2 10 -7.2082 38.5606 7.7497 90. 10.59 90. 100.59 0. 0. - 5 2 11 -7.1972 38.5016 3.8197 90. 10.59 90. 100.59 0. 0. - 5 2 12 -7.2082 38.5606 -0.0903 90. 10.59 90. 100.59 0. 0. - 5 2 13 -7.1972 38.5016 -4.0203 90. 10.59 90. 100.59 0. 0. - 5 2 14 -7.2082 38.5606 -7.9303 90. 10.59 90. 100.59 0. 0. - 5 2 15 -7.1972 38.5016 -11.8603 90. 10.59 90. 100.59 0. 0. - 5 2 16 -7.2082 38.5606 -15.7703 90. 10.59 90. 100.59 0. 0. - 5 2 17 -7.1972 38.5016 -19.7003 90. 10.59 90. 100.59 0. 0. - 5 2 18 -7.2082 38.5606 -23.6103 90. 10.59 90. 100.59 0. 0. - 5 2 19 -7.1972 38.5016 -27.5403 90. 10.59 90. 100.59 0. 0. - 5 2 20 -7.2082 38.5606 -31.4503 90. 10.59 90. 100.59 0. 0. - 5 2 21 -7.1972 38.5016 -35.3803 90. 10.59 90. 100.59 0. 0. - 5 2 22 -7.2082 38.5606 -39.2903 90. 10.59 90. 100.59 0. 0. - 5 2 23 -7.1972 38.5016 -43.2003 90. 10.59 90. 100.59 0. 0. - 5 3 1 -14.0939 36.3804 43.0197 90. 21.18 90. 111.18 0. 0. - 5 3 2 -14.1155 36.4364 39.1097 90. 21.18 90. 111.18 0. 0. - 5 3 3 -14.0939 36.3804 35.1797 90. 21.18 90. 111.18 0. 0. - 5 3 4 -14.1155 36.4364 31.2697 90. 21.18 90. 111.18 0. 0. - 5 3 5 -14.0939 36.3804 27.3397 90. 21.18 90. 111.18 0. 0. - 5 3 6 -14.1155 36.4364 23.4297 90. 21.18 90. 111.18 0. 0. - 5 3 7 -14.0939 36.3804 19.4997 90. 21.18 90. 111.18 0. 0. - 5 3 8 -14.1155 36.4364 15.5897 90. 21.18 90. 111.18 0. 0. - 5 3 9 -14.0939 36.3804 11.6597 90. 21.18 90. 111.18 0. 0. - 5 3 10 -14.1155 36.4364 7.7497 90. 21.18 90. 111.18 0. 0. - 5 3 11 -14.0939 36.3804 3.8197 90. 21.18 90. 111.18 0. 0. - 5 3 12 -14.1155 36.4364 -0.0903 90. 21.18 90. 111.18 0. 0. - 5 3 13 -14.0939 36.3804 -4.0203 90. 21.18 90. 111.18 0. 0. - 5 3 14 -14.1155 36.4364 -7.9303 90. 21.18 90. 111.18 0. 0. - 5 3 15 -14.0939 36.3804 -11.8603 90. 21.18 90. 111.18 0. 0. - 5 3 16 -14.1155 36.4364 -15.7703 90. 21.18 90. 111.18 0. 0. - 5 3 17 -14.0939 36.3804 -19.7003 90. 21.18 90. 111.18 0. 0. - 5 3 18 -14.1155 36.4364 -23.6103 90. 21.18 90. 111.18 0. 0. - 5 3 19 -14.0939 36.3804 -27.5403 90. 21.18 90. 111.18 0. 0. - 5 3 20 -14.1155 36.4364 -31.4503 90. 21.18 90. 111.18 0. 0. - 5 3 21 -14.0939 36.3804 -35.3803 90. 21.18 90. 111.18 0. 0. - 5 3 22 -14.1155 36.4364 -39.2903 90. 21.18 90. 111.18 0. 0. - 5 3 23 -14.0939 36.3804 -43.2003 90. 21.18 90. 111.18 0. 0. - 5 4 1 -20.6196 33.3017 43.0197 90. 31.76 90. 121.76 0. 0. - 5 4 2 -20.6511 33.3527 39.1097 90. 31.76 90. 121.76 0. 0. - 5 4 3 -20.6196 33.3017 35.1797 90. 31.76 90. 121.76 0. 0. - 5 4 4 -20.6511 33.3527 31.2697 90. 31.76 90. 121.76 0. 0. - 5 4 5 -20.6196 33.3017 27.3397 90. 31.76 90. 121.76 0. 0. - 5 4 6 -20.6511 33.3527 23.4297 90. 31.76 90. 121.76 0. 0. - 5 4 7 -20.6196 33.3017 19.4997 90. 31.76 90. 121.76 0. 0. - 5 4 8 -20.6511 33.3527 15.5897 90. 31.76 90. 121.76 0. 0. - 5 4 9 -20.6196 33.3017 11.6597 90. 31.76 90. 121.76 0. 0. - 5 4 10 -20.6511 33.3527 7.7497 90. 31.76 90. 121.76 0. 0. - 5 4 11 -20.6196 33.3017 3.8197 90. 31.76 90. 121.76 0. 0. - 5 4 12 -20.6511 33.3527 -0.0903 90. 31.76 90. 121.76 0. 0. - 5 4 13 -20.6196 33.3017 -4.0203 90. 31.76 90. 121.76 0. 0. - 5 4 14 -20.6511 33.3527 -7.9303 90. 31.76 90. 121.76 0. 0. - 5 4 15 -20.6196 33.3017 -11.8603 90. 31.76 90. 121.76 0. 0. - 5 4 16 -20.6511 33.3527 -15.7703 90. 31.76 90. 121.76 0. 0. - 5 4 17 -20.6196 33.3017 -19.7003 90. 31.76 90. 121.76 0. 0. - 5 4 18 -20.6511 33.3527 -23.6103 90. 31.76 90. 121.76 0. 0. - 5 4 19 -20.6196 33.3017 -27.5403 90. 31.76 90. 121.76 0. 0. - 5 4 20 -20.6511 33.3527 -31.4503 90. 31.76 90. 121.76 0. 0. - 5 4 21 -20.6196 33.3017 -35.3803 90. 31.76 90. 121.76 0. 0. - 5 4 22 -20.6511 33.3527 -39.2903 90. 31.76 90. 121.76 0. 0. - 5 4 23 -20.6196 33.3017 -43.2003 90. 31.76 90. 121.76 0. 0. - 5 5 1 -26.2842 28.8324 43.0197 90. 42.35 90. 132.35 0. 0. - 5 5 2 -26.3246 28.8768 39.1097 90. 42.35 90. 132.35 0. 0. - 5 5 3 -26.2842 28.8324 35.1797 90. 42.35 90. 132.35 0. 0. - 5 5 4 -26.3246 28.8768 31.2697 90. 42.35 90. 132.35 0. 0. - 5 5 5 -26.2842 28.8324 27.3397 90. 42.35 90. 132.35 0. 0. - 5 5 6 -26.3246 28.8768 23.4297 90. 42.35 90. 132.35 0. 0. - 5 5 7 -26.2842 28.8324 19.4997 90. 42.35 90. 132.35 0. 0. - 5 5 8 -26.3246 28.8768 15.5897 90. 42.35 90. 132.35 0. 0. - 5 5 9 -26.2842 28.8324 11.6597 90. 42.35 90. 132.35 0. 0. - 5 5 10 -26.3246 28.8768 7.7497 90. 42.35 90. 132.35 0. 0. - 5 5 11 -26.2842 28.8324 3.8197 90. 42.35 90. 132.35 0. 0. - 5 5 12 -26.3246 28.8768 -0.0903 90. 42.35 90. 132.35 0. 0. - 5 5 13 -26.2842 28.8324 -4.0203 90. 42.35 90. 132.35 0. 0. - 5 5 14 -26.3246 28.8768 -7.9303 90. 42.35 90. 132.35 0. 0. - 5 5 15 -26.2842 28.8324 -11.8603 90. 42.35 90. 132.35 0. 0. - 5 5 16 -26.3246 28.8768 -15.7703 90. 42.35 90. 132.35 0. 0. - 5 5 17 -26.2842 28.8324 -19.7003 90. 42.35 90. 132.35 0. 0. - 5 5 18 -26.3246 28.8768 -23.6103 90. 42.35 90. 132.35 0. 0. - 5 5 19 -26.2842 28.8324 -27.5403 90. 42.35 90. 132.35 0. 0. - 5 5 20 -26.3246 28.8768 -31.4503 90. 42.35 90. 132.35 0. 0. - 5 5 21 -26.2842 28.8324 -35.3803 90. 42.35 90. 132.35 0. 0. - 5 5 22 -26.3246 28.8768 -39.2903 90. 42.35 90. 132.35 0. 0. - 5 5 23 -26.2842 28.8324 -43.2003 90. 42.35 90. 132.35 0. 0. - 5 6 1 -31.2572 23.6043 43.0197 90. 52.94 90. 142.94 0. 0. - 5 6 2 -31.3050 23.6405 39.1097 90. 52.94 90. 142.94 0. 0. - 5 6 3 -31.2572 23.6043 35.1797 90. 52.94 90. 142.94 0. 0. - 5 6 4 -31.3050 23.6405 31.2697 90. 52.94 90. 142.94 0. 0. - 5 6 5 -31.2572 23.6043 27.3397 90. 52.94 90. 142.94 0. 0. - 5 6 6 -31.3050 23.6405 23.4297 90. 52.94 90. 142.94 0. 0. - 5 6 7 -31.2572 23.6043 19.4997 90. 52.94 90. 142.94 0. 0. - 5 6 8 -31.3050 23.6405 15.5897 90. 52.94 90. 142.94 0. 0. - 5 6 9 -31.2572 23.6043 11.6597 90. 52.94 90. 142.94 0. 0. - 5 6 10 -31.3050 23.6405 7.7497 90. 52.94 90. 142.94 0. 0. - 5 6 11 -31.2572 23.6043 3.8197 90. 52.94 90. 142.94 0. 0. - 5 6 12 -31.3050 23.6405 -0.0903 90. 52.94 90. 142.94 0. 0. - 5 6 13 -31.2572 23.6043 -4.0203 90. 52.94 90. 142.94 0. 0. - 5 6 14 -31.3050 23.6405 -7.9303 90. 52.94 90. 142.94 0. 0. - 5 6 15 -31.2572 23.6043 -11.8603 90. 52.94 90. 142.94 0. 0. - 5 6 16 -31.3050 23.6405 -15.7703 90. 52.94 90. 142.94 0. 0. - 5 6 17 -31.2572 23.6043 -19.7003 90. 52.94 90. 142.94 0. 0. - 5 6 18 -31.3050 23.6405 -23.6103 90. 52.94 90. 142.94 0. 0. - 5 6 19 -31.2572 23.6043 -27.5403 90. 52.94 90. 142.94 0. 0. - 5 6 20 -31.3050 23.6405 -31.4503 90. 52.94 90. 142.94 0. 0. - 5 6 21 -31.2572 23.6043 -35.3803 90. 52.94 90. 142.94 0. 0. - 5 6 22 -31.3050 23.6405 -39.2903 90. 52.94 90. 142.94 0. 0. - 5 6 23 -31.2572 23.6043 -43.2003 90. 52.94 90. 142.94 0. 0. - 5 7 1 -34.9249 17.3905 43.0197 90. 63.53 90. 153.53 0. 0. - 5 7 2 -34.9786 17.4173 39.1097 90. 63.53 90. 153.53 0. 0. - 5 7 3 -34.9249 17.3905 35.1797 90. 63.53 90. 153.53 0. 0. - 5 7 4 -34.9786 17.4173 31.2697 90. 63.53 90. 153.53 0. 0. - 5 7 5 -34.9249 17.3905 27.3397 90. 63.53 90. 153.53 0. 0. - 5 7 6 -34.9786 17.4173 23.4297 90. 63.53 90. 153.53 0. 0. - 5 7 7 -34.9249 17.3905 19.4997 90. 63.53 90. 153.53 0. 0. - 5 7 8 -34.9786 17.4173 15.5897 90. 63.53 90. 153.53 0. 0. - 5 7 9 -34.9249 17.3905 11.6597 90. 63.53 90. 153.53 0. 0. - 5 7 10 -34.9786 17.4173 7.7497 90. 63.53 90. 153.53 0. 0. - 5 7 11 -34.9249 17.3905 3.8197 90. 63.53 90. 153.53 0. 0. - 5 7 12 -34.9786 17.4173 -0.0903 90. 63.53 90. 153.53 0. 0. - 5 7 13 -34.9249 17.3905 -4.0203 90. 63.53 90. 153.53 0. 0. - 5 7 14 -34.9786 17.4173 -7.9303 90. 63.53 90. 153.53 0. 0. - 5 7 15 -34.9249 17.3905 -11.8603 90. 63.53 90. 153.53 0. 0. - 5 7 16 -34.9786 17.4173 -15.7703 90. 63.53 90. 153.53 0. 0. - 5 7 17 -34.9249 17.3905 -19.7003 90. 63.53 90. 153.53 0. 0. - 5 7 18 -34.9786 17.4173 -23.6103 90. 63.53 90. 153.53 0. 0. - 5 7 19 -34.9249 17.3905 -27.5403 90. 63.53 90. 153.53 0. 0. - 5 7 20 -34.9786 17.4173 -31.4503 90. 63.53 90. 153.53 0. 0. - 5 7 21 -34.9249 17.3905 -35.3803 90. 63.53 90. 153.53 0. 0. - 5 7 22 -34.9786 17.4173 -39.2903 90. 63.53 90. 153.53 0. 0. - 5 7 23 -34.9249 17.3905 -43.2003 90. 63.53 90. 153.53 0. 0. - 5 8 1 -37.6733 10.7190 43.0197 90. 74.12 90. 164.12 0. 0. - 5 8 2 -37.7310 10.7354 39.1097 90. 74.12 90. 164.12 0. 0. - 5 8 3 -37.6733 10.7190 35.1797 90. 74.12 90. 164.12 0. 0. - 5 8 4 -37.7310 10.7354 31.2697 90. 74.12 90. 164.12 0. 0. - 5 8 5 -37.6733 10.7190 27.3397 90. 74.12 90. 164.12 0. 0. - 5 8 6 -37.7310 10.7354 23.4297 90. 74.12 90. 164.12 0. 0. - 5 8 7 -37.6733 10.7190 19.4997 90. 74.12 90. 164.12 0. 0. - 5 8 8 -37.7310 10.7354 15.5897 90. 74.12 90. 164.12 0. 0. - 5 8 9 -37.6733 10.7190 11.6597 90. 74.12 90. 164.12 0. 0. - 5 8 10 -37.7310 10.7354 7.7497 90. 74.12 90. 164.12 0. 0. - 5 8 11 -37.6733 10.7190 3.8197 90. 74.12 90. 164.12 0. 0. - 5 8 12 -37.7310 10.7354 -0.0903 90. 74.12 90. 164.12 0. 0. - 5 8 13 -37.6733 10.7190 -4.0203 90. 74.12 90. 164.12 0. 0. - 5 8 14 -37.7310 10.7354 -7.9303 90. 74.12 90. 164.12 0. 0. - 5 8 15 -37.6733 10.7190 -11.8603 90. 74.12 90. 164.12 0. 0. - 5 8 16 -37.7310 10.7354 -15.7703 90. 74.12 90. 164.12 0. 0. - 5 8 17 -37.6733 10.7190 -19.7003 90. 74.12 90. 164.12 0. 0. - 5 8 18 -37.7310 10.7354 -23.6103 90. 74.12 90. 164.12 0. 0. - 5 8 19 -37.6733 10.7190 -27.5403 90. 74.12 90. 164.12 0. 0. - 5 8 20 -37.7310 10.7354 -31.4503 90. 74.12 90. 164.12 0. 0. - 5 8 21 -37.6733 10.7190 -35.3803 90. 74.12 90. 164.12 0. 0. - 5 8 22 -37.7310 10.7354 -39.2903 90. 74.12 90. 164.12 0. 0. - 5 8 23 -37.6733 10.7190 -43.2003 90. 74.12 90. 164.12 0. 0. - 5 9 1 -38.8485 3.5998 43.0197 90. 84.71 90. 174.71 0. 0. - 5 9 2 -38.9083 3.6054 39.1097 90. 84.71 90. 174.71 0. 0. - 5 9 3 -38.8485 3.5998 35.1797 90. 84.71 90. 174.71 0. 0. - 5 9 4 -38.9083 3.6054 31.2697 90. 84.71 90. 174.71 0. 0. - 5 9 5 -38.8485 3.5998 27.3397 90. 84.71 90. 174.71 0. 0. - 5 9 6 -38.9083 3.6054 23.4297 90. 84.71 90. 174.71 0. 0. - 5 9 7 -38.8485 3.5998 19.4997 90. 84.71 90. 174.71 0. 0. - 5 9 8 -38.9083 3.6054 15.5897 90. 84.71 90. 174.71 0. 0. - 5 9 9 -38.8485 3.5998 11.6597 90. 84.71 90. 174.71 0. 0. - 5 9 10 -38.9083 3.6054 7.7497 90. 84.71 90. 174.71 0. 0. - 5 9 11 -38.8485 3.5998 3.8197 90. 84.71 90. 174.71 0. 0. - 5 9 12 -38.9083 3.6054 -0.0903 90. 84.71 90. 174.71 0. 0. - 5 9 13 -38.8485 3.5998 -4.0203 90. 84.71 90. 174.71 0. 0. - 5 9 14 -38.9083 3.6054 -7.9303 90. 84.71 90. 174.71 0. 0. - 5 9 15 -38.8485 3.5998 -11.8603 90. 84.71 90. 174.71 0. 0. - 5 9 16 -38.9083 3.6054 -15.7703 90. 84.71 90. 174.71 0. 0. - 5 9 17 -38.8485 3.5998 -19.7003 90. 84.71 90. 174.71 0. 0. - 5 9 18 -38.9083 3.6054 -23.6103 90. 84.71 90. 174.71 0. 0. - 5 9 19 -38.8485 3.5998 -27.5403 90. 84.71 90. 174.71 0. 0. - 5 9 20 -38.9083 3.6054 -31.4503 90. 84.71 90. 174.71 0. 0. - 5 9 21 -38.8485 3.5998 -35.3803 90. 84.71 90. 174.71 0. 0. - 5 9 22 -38.9083 3.6054 -39.2903 90. 84.71 90. 174.71 0. 0. - 5 9 23 -38.8485 3.5998 -43.2003 90. 84.71 90. 174.71 0. 0. - 5 10 1 -39.0014 -3.6140 43.0197 90. 95.29 90. 185.29 0. 0. - 5 10 2 -39.0612 -3.6195 39.1097 90. 95.29 90. 185.29 0. 0. - 5 10 3 -39.0014 -3.6140 35.1797 90. 95.29 90. 185.29 0. 0. - 5 10 4 -39.0612 -3.6195 31.2697 90. 95.29 90. 185.29 0. 0. - 5 10 5 -39.0014 -3.6140 27.3397 90. 95.29 90. 185.29 0. 0. - 5 10 6 -39.0612 -3.6195 23.4297 90. 95.29 90. 185.29 0. 0. - 5 10 7 -39.0014 -3.6140 19.4997 90. 95.29 90. 185.29 0. 0. - 5 10 8 -39.0612 -3.6195 15.5897 90. 95.29 90. 185.29 0. 0. - 5 10 9 -39.0014 -3.6140 11.6597 90. 95.29 90. 185.29 0. 0. - 5 10 10 -39.0612 -3.6195 7.7497 90. 95.29 90. 185.29 0. 0. - 5 10 11 -39.0014 -3.6140 3.8197 90. 95.29 90. 185.29 0. 0. - 5 10 12 -39.0612 -3.6195 -0.0903 90. 95.29 90. 185.29 0. 0. - 5 10 13 -39.0014 -3.6140 -4.0203 90. 95.29 90. 185.29 0. 0. - 5 10 14 -39.0612 -3.6195 -7.9303 90. 95.29 90. 185.29 0. 0. - 5 10 15 -39.0014 -3.6140 -11.8603 90. 95.29 90. 185.29 0. 0. - 5 10 16 -39.0612 -3.6195 -15.7703 90. 95.29 90. 185.29 0. 0. - 5 10 17 -39.0014 -3.6140 -19.7003 90. 95.29 90. 185.29 0. 0. - 5 10 18 -39.0612 -3.6195 -23.6103 90. 95.29 90. 185.29 0. 0. - 5 10 19 -39.0014 -3.6140 -27.5403 90. 95.29 90. 185.29 0. 0. - 5 10 20 -39.0612 -3.6195 -31.4503 90. 95.29 90. 185.29 0. 0. - 5 10 21 -39.0014 -3.6140 -35.3803 90. 95.29 90. 185.29 0. 0. - 5 10 22 -39.0612 -3.6195 -39.2903 90. 95.29 90. 185.29 0. 0. - 5 10 23 -39.0014 -3.6140 -43.2003 90. 95.29 90. 185.29 0. 0. - 5 11 1 -37.5257 -10.6770 43.0197 90. 105.88 90. 195.88 0. 0. - 5 11 2 -37.5834 -10.6934 39.1097 90. 105.88 90. 195.88 0. 0. - 5 11 3 -37.5257 -10.6770 35.1797 90. 105.88 90. 195.88 0. 0. - 5 11 4 -37.5834 -10.6934 31.2697 90. 105.88 90. 195.88 0. 0. - 5 11 5 -37.5257 -10.6770 27.3397 90. 105.88 90. 195.88 0. 0. - 5 11 6 -37.5834 -10.6934 23.4297 90. 105.88 90. 195.88 0. 0. - 5 11 7 -37.5257 -10.6770 19.4997 90. 105.88 90. 195.88 0. 0. - 5 11 8 -37.5834 -10.6934 15.5897 90. 105.88 90. 195.88 0. 0. - 5 11 9 -37.5257 -10.6770 11.6597 90. 105.88 90. 195.88 0. 0. - 5 11 10 -37.5834 -10.6934 7.7497 90. 105.88 90. 195.88 0. 0. - 5 11 11 -37.5257 -10.6770 3.8197 90. 105.88 90. 195.88 0. 0. - 5 11 12 -37.5834 -10.6934 -0.0903 90. 105.88 90. 195.88 0. 0. - 5 11 13 -37.5257 -10.6770 -4.0203 90. 105.88 90. 195.88 0. 0. - 5 11 14 -37.5834 -10.6934 -7.9303 90. 105.88 90. 195.88 0. 0. - 5 11 15 -37.5257 -10.6770 -11.8603 90. 105.88 90. 195.88 0. 0. - 5 11 16 -37.5834 -10.6934 -15.7703 90. 105.88 90. 195.88 0. 0. - 5 11 17 -37.5257 -10.6770 -19.7003 90. 105.88 90. 195.88 0. 0. - 5 11 18 -37.5834 -10.6934 -23.6103 90. 105.88 90. 195.88 0. 0. - 5 11 19 -37.5257 -10.6770 -27.5403 90. 105.88 90. 195.88 0. 0. - 5 11 20 -37.5834 -10.6934 -31.4503 90. 105.88 90. 195.88 0. 0. - 5 11 21 -37.5257 -10.6770 -35.3803 90. 105.88 90. 195.88 0. 0. - 5 11 22 -37.5834 -10.6934 -39.2903 90. 105.88 90. 195.88 0. 0. - 5 11 23 -37.5257 -10.6770 -43.2003 90. 105.88 90. 195.88 0. 0. - 5 12 1 -35.0622 -17.4589 43.0197 90. 116.47 90. 206.47 0. 0. - 5 12 2 -35.1160 -17.4857 39.1097 90. 116.47 90. 206.47 0. 0. - 5 12 3 -35.0622 -17.4589 35.1797 90. 116.47 90. 206.47 0. 0. - 5 12 4 -35.1160 -17.4857 31.2697 90. 116.47 90. 206.47 0. 0. - 5 12 5 -35.0622 -17.4589 27.3397 90. 116.47 90. 206.47 0. 0. - 5 12 6 -35.1160 -17.4857 23.4297 90. 116.47 90. 206.47 0. 0. - 5 12 7 -35.0622 -17.4589 19.4997 90. 116.47 90. 206.47 0. 0. - 5 12 8 -35.1160 -17.4857 15.5897 90. 116.47 90. 206.47 0. 0. - 5 12 9 -35.0622 -17.4589 11.6597 90. 116.47 90. 206.47 0. 0. - 5 12 10 -35.1160 -17.4857 7.7497 90. 116.47 90. 206.47 0. 0. - 5 12 11 -35.0622 -17.4589 3.8197 90. 116.47 90. 206.47 0. 0. - 5 12 12 -35.1160 -17.4857 -0.0903 90. 116.47 90. 206.47 0. 0. - 5 12 13 -35.0622 -17.4589 -4.0203 90. 116.47 90. 206.47 0. 0. - 5 12 14 -35.1160 -17.4857 -7.9303 90. 116.47 90. 206.47 0. 0. - 5 12 15 -35.0622 -17.4589 -11.8603 90. 116.47 90. 206.47 0. 0. - 5 12 16 -35.1160 -17.4857 -15.7703 90. 116.47 90. 206.47 0. 0. - 5 12 17 -35.0622 -17.4589 -19.7003 90. 116.47 90. 206.47 0. 0. - 5 12 18 -35.1160 -17.4857 -23.6103 90. 116.47 90. 206.47 0. 0. - 5 12 19 -35.0622 -17.4589 -27.5403 90. 116.47 90. 206.47 0. 0. - 5 12 20 -35.1160 -17.4857 -31.4503 90. 116.47 90. 206.47 0. 0. - 5 12 21 -35.0622 -17.4589 -35.3803 90. 116.47 90. 206.47 0. 0. - 5 12 22 -35.1160 -17.4857 -39.2903 90. 116.47 90. 206.47 0. 0. - 5 12 23 -35.0622 -17.4589 -43.2003 90. 116.47 90. 206.47 0. 0. - 5 13 1 -31.1347 -23.5118 43.0197 90. 127.06 90. 217.06 0. 0. - 5 13 2 -31.1826 -23.5480 39.1097 90. 127.06 90. 217.06 0. 0. - 5 13 3 -31.1347 -23.5118 35.1797 90. 127.06 90. 217.06 0. 0. - 5 13 4 -31.1826 -23.5480 31.2697 90. 127.06 90. 217.06 0. 0. - 5 13 5 -31.1347 -23.5118 27.3397 90. 127.06 90. 217.06 0. 0. - 5 13 6 -31.1826 -23.5480 23.4297 90. 127.06 90. 217.06 0. 0. - 5 13 7 -31.1347 -23.5118 19.4997 90. 127.06 90. 217.06 0. 0. - 5 13 8 -31.1826 -23.5480 15.5897 90. 127.06 90. 217.06 0. 0. - 5 13 9 -31.1347 -23.5118 11.6597 90. 127.06 90. 217.06 0. 0. - 5 13 10 -31.1826 -23.5480 7.7497 90. 127.06 90. 217.06 0. 0. - 5 13 11 -31.1347 -23.5118 3.8197 90. 127.06 90. 217.06 0. 0. - 5 13 12 -31.1826 -23.5480 -0.0903 90. 127.06 90. 217.06 0. 0. - 5 13 13 -31.1347 -23.5118 -4.0203 90. 127.06 90. 217.06 0. 0. - 5 13 14 -31.1826 -23.5480 -7.9303 90. 127.06 90. 217.06 0. 0. - 5 13 15 -31.1347 -23.5118 -11.8603 90. 127.06 90. 217.06 0. 0. - 5 13 16 -31.1826 -23.5480 -15.7703 90. 127.06 90. 217.06 0. 0. - 5 13 17 -31.1347 -23.5118 -19.7003 90. 127.06 90. 217.06 0. 0. - 5 13 18 -31.1826 -23.5480 -23.6103 90. 127.06 90. 217.06 0. 0. - 5 13 19 -31.1347 -23.5118 -27.5403 90. 127.06 90. 217.06 0. 0. - 5 13 20 -31.1826 -23.5480 -31.4503 90. 127.06 90. 217.06 0. 0. - 5 13 21 -31.1347 -23.5118 -35.3803 90. 127.06 90. 217.06 0. 0. - 5 13 22 -31.1826 -23.5480 -39.2903 90. 127.06 90. 217.06 0. 0. - 5 13 23 -31.1347 -23.5118 -43.2003 90. 127.06 90. 217.06 0. 0. - 5 14 1 -26.3877 -28.9459 43.0197 90. 137.65 90. 227.65 0. 0. - 5 14 2 -26.4281 -28.9902 39.1097 90. 137.65 90. 227.65 0. 0. - 5 14 3 -26.3877 -28.9459 35.1797 90. 137.65 90. 227.65 0. 0. - 5 14 4 -26.4281 -28.9902 31.2697 90. 137.65 90. 227.65 0. 0. - 5 14 5 -26.3877 -28.9459 27.3397 90. 137.65 90. 227.65 0. 0. - 5 14 6 -26.4281 -28.9902 23.4297 90. 137.65 90. 227.65 0. 0. - 5 14 7 -26.3877 -28.9459 19.4997 90. 137.65 90. 227.65 0. 0. - 5 14 8 -26.4281 -28.9902 15.5897 90. 137.65 90. 227.65 0. 0. - 5 14 9 -26.3877 -28.9459 11.6597 90. 137.65 90. 227.65 0. 0. - 5 14 10 -26.4281 -28.9902 7.7497 90. 137.65 90. 227.65 0. 0. - 5 14 11 -26.3877 -28.9459 3.8197 90. 137.65 90. 227.65 0. 0. - 5 14 12 -26.4281 -28.9902 -0.0903 90. 137.65 90. 227.65 0. 0. - 5 14 13 -26.3877 -28.9459 -4.0203 90. 137.65 90. 227.65 0. 0. - 5 14 14 -26.4281 -28.9902 -7.9303 90. 137.65 90. 227.65 0. 0. - 5 14 15 -26.3877 -28.9459 -11.8603 90. 137.65 90. 227.65 0. 0. - 5 14 16 -26.4281 -28.9902 -15.7703 90. 137.65 90. 227.65 0. 0. - 5 14 17 -26.3877 -28.9459 -19.7003 90. 137.65 90. 227.65 0. 0. - 5 14 18 -26.4281 -28.9902 -23.6103 90. 137.65 90. 227.65 0. 0. - 5 14 19 -26.3877 -28.9459 -27.5403 90. 137.65 90. 227.65 0. 0. - 5 14 20 -26.4281 -28.9902 -31.4503 90. 137.65 90. 227.65 0. 0. - 5 14 21 -26.3877 -28.9459 -35.3803 90. 137.65 90. 227.65 0. 0. - 5 14 22 -26.4281 -28.9902 -39.2903 90. 137.65 90. 227.65 0. 0. - 5 14 23 -26.3877 -28.9459 -43.2003 90. 137.65 90. 227.65 0. 0. - 5 15 1 -20.5388 -33.1712 43.0197 90. 148.24 90. 238.24 0. 0. - 5 15 2 -20.5703 -33.2222 39.1097 90. 148.24 90. 238.24 0. 0. - 5 15 3 -20.5388 -33.1712 35.1797 90. 148.24 90. 238.24 0. 0. - 5 15 4 -20.5703 -33.2222 31.2697 90. 148.24 90. 238.24 0. 0. - 5 15 5 -20.5388 -33.1712 27.3397 90. 148.24 90. 238.24 0. 0. - 5 15 6 -20.5703 -33.2222 23.4297 90. 148.24 90. 238.24 0. 0. - 5 15 7 -20.5388 -33.1712 19.4997 90. 148.24 90. 238.24 0. 0. - 5 15 8 -20.5703 -33.2222 15.5897 90. 148.24 90. 238.24 0. 0. - 5 15 9 -20.5388 -33.1712 11.6597 90. 148.24 90. 238.24 0. 0. - 5 15 10 -20.5703 -33.2222 7.7497 90. 148.24 90. 238.24 0. 0. - 5 15 11 -20.5388 -33.1712 3.8197 90. 148.24 90. 238.24 0. 0. - 5 15 12 -20.5703 -33.2222 -0.0903 90. 148.24 90. 238.24 0. 0. - 5 15 13 -20.5388 -33.1712 -4.0203 90. 148.24 90. 238.24 0. 0. - 5 15 14 -20.5703 -33.2222 -7.9303 90. 148.24 90. 238.24 0. 0. - 5 15 15 -20.5388 -33.1712 -11.8603 90. 148.24 90. 238.24 0. 0. - 5 15 16 -20.5703 -33.2222 -15.7703 90. 148.24 90. 238.24 0. 0. - 5 15 17 -20.5388 -33.1712 -19.7003 90. 148.24 90. 238.24 0. 0. - 5 15 18 -20.5703 -33.2222 -23.6103 90. 148.24 90. 238.24 0. 0. - 5 15 19 -20.5388 -33.1712 -27.5403 90. 148.24 90. 238.24 0. 0. - 5 15 20 -20.5703 -33.2222 -31.4503 90. 148.24 90. 238.24 0. 0. - 5 15 21 -20.5388 -33.1712 -35.3803 90. 148.24 90. 238.24 0. 0. - 5 15 22 -20.5703 -33.2222 -39.2903 90. 148.24 90. 238.24 0. 0. - 5 15 23 -20.5388 -33.1712 -43.2003 90. 148.24 90. 238.24 0. 0. - 5 16 1 -14.1493 -36.5235 43.0197 90. 158.82 90. 248.82 0. 0. - 5 16 2 -14.1710 -36.5795 39.1097 90. 158.82 90. 248.82 0. 0. - 5 16 3 -14.1493 -36.5235 35.1797 90. 158.82 90. 248.82 0. 0. - 5 16 4 -14.1710 -36.5795 31.2697 90. 158.82 90. 248.82 0. 0. - 5 16 5 -14.1493 -36.5235 27.3397 90. 158.82 90. 248.82 0. 0. - 5 16 6 -14.1710 -36.5795 23.4297 90. 158.82 90. 248.82 0. 0. - 5 16 7 -14.1493 -36.5235 19.4997 90. 158.82 90. 248.82 0. 0. - 5 16 8 -14.1710 -36.5795 15.5897 90. 158.82 90. 248.82 0. 0. - 5 16 9 -14.1493 -36.5235 11.6597 90. 158.82 90. 248.82 0. 0. - 5 16 10 -14.1710 -36.5795 7.7497 90. 158.82 90. 248.82 0. 0. - 5 16 11 -14.1493 -36.5235 3.8197 90. 158.82 90. 248.82 0. 0. - 5 16 12 -14.1710 -36.5795 -0.0903 90. 158.82 90. 248.82 0. 0. - 5 16 13 -14.1493 -36.5235 -4.0203 90. 158.82 90. 248.82 0. 0. - 5 16 14 -14.1710 -36.5795 -7.9303 90. 158.82 90. 248.82 0. 0. - 5 16 15 -14.1493 -36.5235 -11.8603 90. 158.82 90. 248.82 0. 0. - 5 16 16 -14.1710 -36.5795 -15.7703 90. 158.82 90. 248.82 0. 0. - 5 16 17 -14.1493 -36.5235 -19.7003 90. 158.82 90. 248.82 0. 0. - 5 16 18 -14.1710 -36.5795 -23.6103 90. 158.82 90. 248.82 0. 0. - 5 16 19 -14.1493 -36.5235 -27.5403 90. 158.82 90. 248.82 0. 0. - 5 16 20 -14.1710 -36.5795 -31.4503 90. 158.82 90. 248.82 0. 0. - 5 16 21 -14.1493 -36.5235 -35.3803 90. 158.82 90. 248.82 0. 0. - 5 16 22 -14.1710 -36.5795 -39.2903 90. 158.82 90. 248.82 0. 0. - 5 16 23 -14.1493 -36.5235 -43.2003 90. 158.82 90. 248.82 0. 0. - 5 17 1 -7.1690 -38.3507 43.0197 90. 169.41 90. 259.41 0. 0. - 5 17 2 -7.1800 -38.4097 39.1097 90. 169.41 90. 259.41 0. 0. - 5 17 3 -7.1690 -38.3507 35.1797 90. 169.41 90. 259.41 0. 0. - 5 17 4 -7.1800 -38.4097 31.2697 90. 169.41 90. 259.41 0. 0. - 5 17 5 -7.1690 -38.3507 27.3397 90. 169.41 90. 259.41 0. 0. - 5 17 6 -7.1800 -38.4097 23.4297 90. 169.41 90. 259.41 0. 0. - 5 17 7 -7.1690 -38.3507 19.4997 90. 169.41 90. 259.41 0. 0. - 5 17 8 -7.1800 -38.4097 15.5897 90. 169.41 90. 259.41 0. 0. - 5 17 9 -7.1690 -38.3507 11.6597 90. 169.41 90. 259.41 0. 0. - 5 17 10 -7.1800 -38.4097 7.7497 90. 169.41 90. 259.41 0. 0. - 5 17 11 -7.1690 -38.3507 3.8197 90. 169.41 90. 259.41 0. 0. - 5 17 12 -7.1800 -38.4097 -0.0903 90. 169.41 90. 259.41 0. 0. - 5 17 13 -7.1690 -38.3507 -4.0203 90. 169.41 90. 259.41 0. 0. - 5 17 14 -7.1800 -38.4097 -7.9303 90. 169.41 90. 259.41 0. 0. - 5 17 15 -7.1690 -38.3507 -11.8603 90. 169.41 90. 259.41 0. 0. - 5 17 16 -7.1800 -38.4097 -15.7703 90. 169.41 90. 259.41 0. 0. - 5 17 17 -7.1690 -38.3507 -19.7003 90. 169.41 90. 259.41 0. 0. - 5 17 18 -7.1800 -38.4097 -23.6103 90. 169.41 90. 259.41 0. 0. - 5 17 19 -7.1690 -38.3507 -27.5403 90. 169.41 90. 259.41 0. 0. - 5 17 20 -7.1800 -38.4097 -31.4503 90. 169.41 90. 259.41 0. 0. - 5 17 21 -7.1690 -38.3507 -35.3803 90. 169.41 90. 259.41 0. 0. - 5 17 22 -7.1800 -38.4097 -39.2903 90. 169.41 90. 259.41 0. 0. - 5 17 23 -7.1690 -38.3507 -43.2003 90. 169.41 90. 259.41 0. 0. - 5 18 1 0.0000 -39.1685 43.0197 90. 180.00 90. 270.00 0. 0. - 5 18 2 0.0000 -39.2285 39.1097 90. 180.00 90. 270.00 0. 0. - 5 18 3 0.0000 -39.1685 35.1797 90. 180.00 90. 270.00 0. 0. - 5 18 4 0.0000 -39.2285 31.2697 90. 180.00 90. 270.00 0. 0. - 5 18 5 0.0000 -39.1685 27.3397 90. 180.00 90. 270.00 0. 0. - 5 18 6 0.0000 -39.2285 23.4297 90. 180.00 90. 270.00 0. 0. - 5 18 7 0.0000 -39.1685 19.4997 90. 180.00 90. 270.00 0. 0. - 5 18 8 0.0000 -39.2285 15.5897 90. 180.00 90. 270.00 0. 0. - 5 18 9 0.0000 -39.1685 11.6597 90. 180.00 90. 270.00 0. 0. - 5 18 10 0.0000 -39.2285 7.7497 90. 180.00 90. 270.00 0. 0. - 5 18 11 0.0000 -39.1685 3.8197 90. 180.00 90. 270.00 0. 0. - 5 18 12 0.0000 -39.2285 -0.0903 90. 180.00 90. 270.00 0. 0. - 5 18 13 0.0000 -39.1685 -4.0203 90. 180.00 90. 270.00 0. 0. - 5 18 14 0.0000 -39.2285 -7.9303 90. 180.00 90. 270.00 0. 0. - 5 18 15 0.0000 -39.1685 -11.8603 90. 180.00 90. 270.00 0. 0. - 5 18 16 0.0000 -39.2285 -15.7703 90. 180.00 90. 270.00 0. 0. - 5 18 17 0.0000 -39.1685 -19.7003 90. 180.00 90. 270.00 0. 0. - 5 18 18 0.0000 -39.2285 -23.6103 90. 180.00 90. 270.00 0. 0. - 5 18 19 0.0000 -39.1685 -27.5403 90. 180.00 90. 270.00 0. 0. - 5 18 20 0.0000 -39.2285 -31.4503 90. 180.00 90. 270.00 0. 0. - 5 18 21 0.0000 -39.1685 -35.3803 90. 180.00 90. 270.00 0. 0. - 5 18 22 0.0000 -39.2285 -39.2903 90. 180.00 90. 270.00 0. 0. - 5 18 23 0.0000 -39.1685 -43.2003 90. 180.00 90. 270.00 0. 0. - 5 19 1 7.1545 -38.2734 43.0197 90. 190.59 90. 280.59 0. 0. - 5 19 2 7.1656 -38.3324 39.1097 90. 190.59 90. 280.59 0. 0. - 5 19 3 7.1545 -38.2734 35.1797 90. 190.59 90. 280.59 0. 0. - 5 19 4 7.1656 -38.3324 31.2697 90. 190.59 90. 280.59 0. 0. - 5 19 5 7.1545 -38.2734 27.3397 90. 190.59 90. 280.59 0. 0. - 5 19 6 7.1656 -38.3324 23.4297 90. 190.59 90. 280.59 0. 0. - 5 19 7 7.1545 -38.2734 19.4997 90. 190.59 90. 280.59 0. 0. - 5 19 8 7.1656 -38.3324 15.5897 90. 190.59 90. 280.59 0. 0. - 5 19 9 7.1545 -38.2734 11.6597 90. 190.59 90. 280.59 0. 0. - 5 19 10 7.1656 -38.3324 7.7497 90. 190.59 90. 280.59 0. 0. - 5 19 11 7.1545 -38.2734 3.8197 90. 190.59 90. 280.59 0. 0. - 5 19 12 7.1656 -38.3324 -0.0903 90. 190.59 90. 280.59 0. 0. - 5 19 13 7.1545 -38.2734 -4.0203 90. 190.59 90. 280.59 0. 0. - 5 19 14 7.1656 -38.3324 -7.9303 90. 190.59 90. 280.59 0. 0. - 5 19 15 7.1545 -38.2734 -11.8603 90. 190.59 90. 280.59 0. 0. - 5 19 16 7.1656 -38.3324 -15.7703 90. 190.59 90. 280.59 0. 0. - 5 19 17 7.1545 -38.2734 -19.7003 90. 190.59 90. 280.59 0. 0. - 5 19 18 7.1656 -38.3324 -23.6103 90. 190.59 90. 280.59 0. 0. - 5 19 19 7.1545 -38.2734 -27.5403 90. 190.59 90. 280.59 0. 0. - 5 19 20 7.1656 -38.3324 -31.4503 90. 190.59 90. 280.59 0. 0. - 5 19 21 7.1545 -38.2734 -35.3803 90. 190.59 90. 280.59 0. 0. - 5 19 22 7.1656 -38.3324 -39.2903 90. 190.59 90. 280.59 0. 0. - 5 19 23 7.1545 -38.2734 -43.2003 90. 190.59 90. 280.59 0. 0. - 5 20 1 14.1493 -36.5235 43.0197 90. 201.18 90. 291.18 0. 0. - 5 20 2 14.1710 -36.5795 39.1097 90. 201.18 90. 291.18 0. 0. - 5 20 3 14.1493 -36.5235 35.1797 90. 201.18 90. 291.18 0. 0. - 5 20 4 14.1710 -36.5795 31.2697 90. 201.18 90. 291.18 0. 0. - 5 20 5 14.1493 -36.5235 27.3397 90. 201.18 90. 291.18 0. 0. - 5 20 6 14.1710 -36.5795 23.4297 90. 201.18 90. 291.18 0. 0. - 5 20 7 14.1493 -36.5235 19.4997 90. 201.18 90. 291.18 0. 0. - 5 20 8 14.1710 -36.5795 15.5897 90. 201.18 90. 291.18 0. 0. - 5 20 9 14.1493 -36.5235 11.6597 90. 201.18 90. 291.18 0. 0. - 5 20 10 14.1710 -36.5795 7.7497 90. 201.18 90. 291.18 0. 0. - 5 20 11 14.1493 -36.5235 3.8197 90. 201.18 90. 291.18 0. 0. - 5 20 12 14.1710 -36.5795 -0.0903 90. 201.18 90. 291.18 0. 0. - 5 20 13 14.1493 -36.5235 -4.0203 90. 201.18 90. 291.18 0. 0. - 5 20 14 14.1710 -36.5795 -7.9303 90. 201.18 90. 291.18 0. 0. - 5 20 15 14.1493 -36.5235 -11.8603 90. 201.18 90. 291.18 0. 0. - 5 20 16 14.1710 -36.5795 -15.7703 90. 201.18 90. 291.18 0. 0. - 5 20 17 14.1493 -36.5235 -19.7003 90. 201.18 90. 291.18 0. 0. - 5 20 18 14.1710 -36.5795 -23.6103 90. 201.18 90. 291.18 0. 0. - 5 20 19 14.1493 -36.5235 -27.5403 90. 201.18 90. 291.18 0. 0. - 5 20 20 14.1710 -36.5795 -31.4503 90. 201.18 90. 291.18 0. 0. - 5 20 21 14.1493 -36.5235 -35.3803 90. 201.18 90. 291.18 0. 0. - 5 20 22 14.1710 -36.5795 -39.2903 90. 201.18 90. 291.18 0. 0. - 5 20 23 14.1493 -36.5235 -43.2003 90. 201.18 90. 291.18 0. 0. - 5 21 1 20.5387 -33.1712 43.0197 90. 211.76 90. 301.76 0. 0. - 5 21 2 20.5703 -33.2222 39.1097 90. 211.76 90. 301.76 0. 0. - 5 21 3 20.5387 -33.1712 35.1797 90. 211.76 90. 301.76 0. 0. - 5 21 4 20.5703 -33.2222 31.2697 90. 211.76 90. 301.76 0. 0. - 5 21 5 20.5387 -33.1712 27.3397 90. 211.76 90. 301.76 0. 0. - 5 21 6 20.5703 -33.2222 23.4297 90. 211.76 90. 301.76 0. 0. - 5 21 7 20.5387 -33.1712 19.4997 90. 211.76 90. 301.76 0. 0. - 5 21 8 20.5703 -33.2222 15.5897 90. 211.76 90. 301.76 0. 0. - 5 21 9 20.5387 -33.1712 11.6597 90. 211.76 90. 301.76 0. 0. - 5 21 10 20.5703 -33.2222 7.7497 90. 211.76 90. 301.76 0. 0. - 5 21 11 20.5387 -33.1712 3.8197 90. 211.76 90. 301.76 0. 0. - 5 21 12 20.5703 -33.2222 -0.0903 90. 211.76 90. 301.76 0. 0. - 5 21 13 20.5387 -33.1712 -4.0203 90. 211.76 90. 301.76 0. 0. - 5 21 14 20.5703 -33.2222 -7.9303 90. 211.76 90. 301.76 0. 0. - 5 21 15 20.5387 -33.1712 -11.8603 90. 211.76 90. 301.76 0. 0. - 5 21 16 20.5703 -33.2222 -15.7703 90. 211.76 90. 301.76 0. 0. - 5 21 17 20.5387 -33.1712 -19.7003 90. 211.76 90. 301.76 0. 0. - 5 21 18 20.5703 -33.2222 -23.6103 90. 211.76 90. 301.76 0. 0. - 5 21 19 20.5387 -33.1712 -27.5403 90. 211.76 90. 301.76 0. 0. - 5 21 20 20.5703 -33.2222 -31.4503 90. 211.76 90. 301.76 0. 0. - 5 21 21 20.5387 -33.1712 -35.3803 90. 211.76 90. 301.76 0. 0. - 5 21 22 20.5703 -33.2222 -39.2903 90. 211.76 90. 301.76 0. 0. - 5 21 23 20.5387 -33.1712 -43.2003 90. 211.76 90. 301.76 0. 0. - 5 22 1 26.3876 -28.9458 43.0197 90. 222.35 90. 312.35 0. 0. - 5 22 2 26.4280 -28.9902 39.1097 90. 222.35 90. 312.35 0. 0. - 5 22 3 26.3876 -28.9458 35.1797 90. 222.35 90. 312.35 0. 0. - 5 22 4 26.4280 -28.9902 31.2697 90. 222.35 90. 312.35 0. 0. - 5 22 5 26.3876 -28.9458 27.3397 90. 222.35 90. 312.35 0. 0. - 5 22 6 26.4280 -28.9902 23.4297 90. 222.35 90. 312.35 0. 0. - 5 22 7 26.3876 -28.9458 19.4997 90. 222.35 90. 312.35 0. 0. - 5 22 8 26.4280 -28.9902 15.5897 90. 222.35 90. 312.35 0. 0. - 5 22 9 26.3876 -28.9458 11.6597 90. 222.35 90. 312.35 0. 0. - 5 22 10 26.4280 -28.9902 7.7497 90. 222.35 90. 312.35 0. 0. - 5 22 11 26.3876 -28.9458 3.8197 90. 222.35 90. 312.35 0. 0. - 5 22 12 26.4280 -28.9902 -0.0903 90. 222.35 90. 312.35 0. 0. - 5 22 13 26.3876 -28.9458 -4.0203 90. 222.35 90. 312.35 0. 0. - 5 22 14 26.4280 -28.9902 -7.9303 90. 222.35 90. 312.35 0. 0. - 5 22 15 26.3876 -28.9458 -11.8603 90. 222.35 90. 312.35 0. 0. - 5 22 16 26.4280 -28.9902 -15.7703 90. 222.35 90. 312.35 0. 0. - 5 22 17 26.3876 -28.9458 -19.7003 90. 222.35 90. 312.35 0. 0. - 5 22 18 26.4280 -28.9902 -23.6103 90. 222.35 90. 312.35 0. 0. - 5 22 19 26.3876 -28.9458 -27.5403 90. 222.35 90. 312.35 0. 0. - 5 22 20 26.4280 -28.9902 -31.4503 90. 222.35 90. 312.35 0. 0. - 5 22 21 26.3876 -28.9458 -35.3803 90. 222.35 90. 312.35 0. 0. - 5 22 22 26.4280 -28.9902 -39.2903 90. 222.35 90. 312.35 0. 0. - 5 22 23 26.3876 -28.9458 -43.2003 90. 222.35 90. 312.35 0. 0. - 5 23 1 31.1347 -23.5118 43.0197 90. 232.94 90. 322.94 0. 0. - 5 23 2 31.1825 -23.5480 39.1097 90. 232.94 90. 322.94 0. 0. - 5 23 3 31.1347 -23.5118 35.1797 90. 232.94 90. 322.94 0. 0. - 5 23 4 31.1825 -23.5480 31.2697 90. 232.94 90. 322.94 0. 0. - 5 23 5 31.1347 -23.5118 27.3397 90. 232.94 90. 322.94 0. 0. - 5 23 6 31.1825 -23.5480 23.4297 90. 232.94 90. 322.94 0. 0. - 5 23 7 31.1347 -23.5118 19.4997 90. 232.94 90. 322.94 0. 0. - 5 23 8 31.1825 -23.5480 15.5897 90. 232.94 90. 322.94 0. 0. - 5 23 9 31.1347 -23.5118 11.6597 90. 232.94 90. 322.94 0. 0. - 5 23 10 31.1825 -23.5480 7.7497 90. 232.94 90. 322.94 0. 0. - 5 23 11 31.1347 -23.5118 3.8197 90. 232.94 90. 322.94 0. 0. - 5 23 12 31.1825 -23.5480 -0.0903 90. 232.94 90. 322.94 0. 0. - 5 23 13 31.1347 -23.5118 -4.0203 90. 232.94 90. 322.94 0. 0. - 5 23 14 31.1825 -23.5480 -7.9303 90. 232.94 90. 322.94 0. 0. - 5 23 15 31.1347 -23.5118 -11.8603 90. 232.94 90. 322.94 0. 0. - 5 23 16 31.1825 -23.5480 -15.7703 90. 232.94 90. 322.94 0. 0. - 5 23 17 31.1347 -23.5118 -19.7003 90. 232.94 90. 322.94 0. 0. - 5 23 18 31.1825 -23.5480 -23.6103 90. 232.94 90. 322.94 0. 0. - 5 23 19 31.1347 -23.5118 -27.5403 90. 232.94 90. 322.94 0. 0. - 5 23 20 31.1825 -23.5480 -31.4503 90. 232.94 90. 322.94 0. 0. - 5 23 21 31.1347 -23.5118 -35.3803 90. 232.94 90. 322.94 0. 0. - 5 23 22 31.1825 -23.5480 -39.2903 90. 232.94 90. 322.94 0. 0. - 5 23 23 31.1347 -23.5118 -43.2003 90. 232.94 90. 322.94 0. 0. - 5 24 1 35.0622 -17.4589 43.0197 90. 243.53 90. 333.53 0. 0. - 5 24 2 35.1159 -17.4856 39.1097 90. 243.53 90. 333.53 0. 0. - 5 24 3 35.0622 -17.4589 35.1797 90. 243.53 90. 333.53 0. 0. - 5 24 4 35.1159 -17.4856 31.2697 90. 243.53 90. 333.53 0. 0. - 5 24 5 35.0622 -17.4589 27.3397 90. 243.53 90. 333.53 0. 0. - 5 24 6 35.1159 -17.4856 23.4297 90. 243.53 90. 333.53 0. 0. - 5 24 7 35.0622 -17.4589 19.4997 90. 243.53 90. 333.53 0. 0. - 5 24 8 35.1159 -17.4856 15.5897 90. 243.53 90. 333.53 0. 0. - 5 24 9 35.0622 -17.4589 11.6597 90. 243.53 90. 333.53 0. 0. - 5 24 10 35.1159 -17.4856 7.7497 90. 243.53 90. 333.53 0. 0. - 5 24 11 35.0622 -17.4589 3.8197 90. 243.53 90. 333.53 0. 0. - 5 24 12 35.1159 -17.4856 -0.0903 90. 243.53 90. 333.53 0. 0. - 5 24 13 35.0622 -17.4589 -4.0203 90. 243.53 90. 333.53 0. 0. - 5 24 14 35.1159 -17.4856 -7.9303 90. 243.53 90. 333.53 0. 0. - 5 24 15 35.0622 -17.4589 -11.8603 90. 243.53 90. 333.53 0. 0. - 5 24 16 35.1159 -17.4856 -15.7703 90. 243.53 90. 333.53 0. 0. - 5 24 17 35.0622 -17.4589 -19.7003 90. 243.53 90. 333.53 0. 0. - 5 24 18 35.1159 -17.4856 -23.6103 90. 243.53 90. 333.53 0. 0. - 5 24 19 35.0622 -17.4589 -27.5403 90. 243.53 90. 333.53 0. 0. - 5 24 20 35.1159 -17.4856 -31.4503 90. 243.53 90. 333.53 0. 0. - 5 24 21 35.0622 -17.4589 -35.3803 90. 243.53 90. 333.53 0. 0. - 5 24 22 35.1159 -17.4856 -39.2903 90. 243.53 90. 333.53 0. 0. - 5 24 23 35.0622 -17.4589 -43.2003 90. 243.53 90. 333.53 0. 0. - 5 25 1 37.5257 -10.6770 43.0197 90. 254.12 90. 344.12 0. 0. - 5 25 2 37.5834 -10.6934 39.1097 90. 254.12 90. 344.12 0. 0. - 5 25 3 37.5257 -10.6770 35.1797 90. 254.12 90. 344.12 0. 0. - 5 25 4 37.5834 -10.6934 31.2697 90. 254.12 90. 344.12 0. 0. - 5 25 5 37.5257 -10.6770 27.3397 90. 254.12 90. 344.12 0. 0. - 5 25 6 37.5834 -10.6934 23.4297 90. 254.12 90. 344.12 0. 0. - 5 25 7 37.5257 -10.6770 19.4997 90. 254.12 90. 344.12 0. 0. - 5 25 8 37.5834 -10.6934 15.5897 90. 254.12 90. 344.12 0. 0. - 5 25 9 37.5257 -10.6770 11.6597 90. 254.12 90. 344.12 0. 0. - 5 25 10 37.5834 -10.6934 7.7497 90. 254.12 90. 344.12 0. 0. - 5 25 11 37.5257 -10.6770 3.8197 90. 254.12 90. 344.12 0. 0. - 5 25 12 37.5834 -10.6934 -0.0903 90. 254.12 90. 344.12 0. 0. - 5 25 13 37.5257 -10.6770 -4.0203 90. 254.12 90. 344.12 0. 0. - 5 25 14 37.5834 -10.6934 -7.9303 90. 254.12 90. 344.12 0. 0. - 5 25 15 37.5257 -10.6770 -11.8603 90. 254.12 90. 344.12 0. 0. - 5 25 16 37.5834 -10.6934 -15.7703 90. 254.12 90. 344.12 0. 0. - 5 25 17 37.5257 -10.6770 -19.7003 90. 254.12 90. 344.12 0. 0. - 5 25 18 37.5834 -10.6934 -23.6103 90. 254.12 90. 344.12 0. 0. - 5 25 19 37.5257 -10.6770 -27.5403 90. 254.12 90. 344.12 0. 0. - 5 25 20 37.5834 -10.6934 -31.4503 90. 254.12 90. 344.12 0. 0. - 5 25 21 37.5257 -10.6770 -35.3803 90. 254.12 90. 344.12 0. 0. - 5 25 22 37.5834 -10.6934 -39.2903 90. 254.12 90. 344.12 0. 0. - 5 25 23 37.5257 -10.6770 -43.2003 90. 254.12 90. 344.12 0. 0. - 5 26 1 38.9833 -3.6123 43.0197 90. 264.71 90. 354.71 0. 0. - 5 26 2 39.0430 -3.6179 39.1097 90. 264.71 90. 354.71 0. 0. - 5 26 3 38.9833 -3.6123 35.1797 90. 264.71 90. 354.71 0. 0. - 5 26 4 39.0430 -3.6179 31.2697 90. 264.71 90. 354.71 0. 0. - 5 26 5 38.9833 -3.6123 27.3397 90. 264.71 90. 354.71 0. 0. - 5 26 6 39.0430 -3.6179 23.4297 90. 264.71 90. 354.71 0. 0. - 5 26 7 38.9833 -3.6123 19.4997 90. 264.71 90. 354.71 0. 0. - 5 26 8 39.0430 -3.6179 15.5897 90. 264.71 90. 354.71 0. 0. - 5 26 9 38.9833 -3.6123 11.6597 90. 264.71 90. 354.71 0. 0. - 5 26 10 39.0430 -3.6179 7.7497 90. 264.71 90. 354.71 0. 0. - 5 26 11 38.9833 -3.6123 3.8197 90. 264.71 90. 354.71 0. 0. - 5 26 12 39.0430 -3.6179 -0.0903 90. 264.71 90. 354.71 0. 0. - 5 26 13 38.9833 -3.6123 -4.0203 90. 264.71 90. 354.71 0. 0. - 5 26 14 39.0430 -3.6179 -7.9303 90. 264.71 90. 354.71 0. 0. - 5 26 15 38.9833 -3.6123 -11.8603 90. 264.71 90. 354.71 0. 0. - 5 26 16 39.0430 -3.6179 -15.7703 90. 264.71 90. 354.71 0. 0. - 5 26 17 38.9833 -3.6123 -19.7003 90. 264.71 90. 354.71 0. 0. - 5 26 18 39.0430 -3.6179 -23.6103 90. 264.71 90. 354.71 0. 0. - 5 26 19 38.9833 -3.6123 -27.5403 90. 264.71 90. 354.71 0. 0. - 5 26 20 39.0430 -3.6179 -31.4503 90. 264.71 90. 354.71 0. 0. - 5 26 21 38.9833 -3.6123 -35.3803 90. 264.71 90. 354.71 0. 0. - 5 26 22 39.0430 -3.6179 -39.2903 90. 264.71 90. 354.71 0. 0. - 5 26 23 38.9833 -3.6123 -43.2003 90. 264.71 90. 354.71 0. 0. - 5 27 1 38.8485 3.5998 43.0197 90. 275.29 90. 5.29 0. 0. - 5 27 2 38.9083 3.6054 39.1097 90. 275.29 90. 5.29 0. 0. - 5 27 3 38.8485 3.5998 35.1797 90. 275.29 90. 5.29 0. 0. - 5 27 4 38.9083 3.6054 31.2697 90. 275.29 90. 5.29 0. 0. - 5 27 5 38.8485 3.5998 27.3397 90. 275.29 90. 5.29 0. 0. - 5 27 6 38.9083 3.6054 23.4297 90. 275.29 90. 5.29 0. 0. - 5 27 7 38.8485 3.5998 19.4997 90. 275.29 90. 5.29 0. 0. - 5 27 8 38.9083 3.6054 15.5897 90. 275.29 90. 5.29 0. 0. - 5 27 9 38.8485 3.5998 11.6597 90. 275.29 90. 5.29 0. 0. - 5 27 10 38.9083 3.6054 7.7497 90. 275.29 90. 5.29 0. 0. - 5 27 11 38.8485 3.5998 3.8197 90. 275.29 90. 5.29 0. 0. - 5 27 12 38.9083 3.6054 -0.0903 90. 275.29 90. 5.29 0. 0. - 5 27 13 38.8485 3.5998 -4.0203 90. 275.29 90. 5.29 0. 0. - 5 27 14 38.9083 3.6054 -7.9303 90. 275.29 90. 5.29 0. 0. - 5 27 15 38.8485 3.5998 -11.8603 90. 275.29 90. 5.29 0. 0. - 5 27 16 38.9083 3.6054 -15.7703 90. 275.29 90. 5.29 0. 0. - 5 27 17 38.8485 3.5998 -19.7003 90. 275.29 90. 5.29 0. 0. - 5 27 18 38.9083 3.6054 -23.6103 90. 275.29 90. 5.29 0. 0. - 5 27 19 38.8485 3.5998 -27.5403 90. 275.29 90. 5.29 0. 0. - 5 27 20 38.9083 3.6054 -31.4503 90. 275.29 90. 5.29 0. 0. - 5 27 21 38.8485 3.5998 -35.3803 90. 275.29 90. 5.29 0. 0. - 5 27 22 38.9083 3.6054 -39.2903 90. 275.29 90. 5.29 0. 0. - 5 27 23 38.8485 3.5998 -43.2003 90. 275.29 90. 5.29 0. 0. - 5 28 1 37.6733 10.7190 43.0197 90. 285.88 90. 15.88 0. 0. - 5 28 2 37.7310 10.7354 39.1097 90. 285.88 90. 15.88 0. 0. - 5 28 3 37.6733 10.7190 35.1797 90. 285.88 90. 15.88 0. 0. - 5 28 4 37.7310 10.7354 31.2697 90. 285.88 90. 15.88 0. 0. - 5 28 5 37.6733 10.7190 27.3397 90. 285.88 90. 15.88 0. 0. - 5 28 6 37.7310 10.7354 23.4297 90. 285.88 90. 15.88 0. 0. - 5 28 7 37.6733 10.7190 19.4997 90. 285.88 90. 15.88 0. 0. - 5 28 8 37.7310 10.7354 15.5897 90. 285.88 90. 15.88 0. 0. - 5 28 9 37.6733 10.7190 11.6597 90. 285.88 90. 15.88 0. 0. - 5 28 10 37.7310 10.7354 7.7497 90. 285.88 90. 15.88 0. 0. - 5 28 11 37.6733 10.7190 3.8197 90. 285.88 90. 15.88 0. 0. - 5 28 12 37.7310 10.7354 -0.0903 90. 285.88 90. 15.88 0. 0. - 5 28 13 37.6733 10.7190 -4.0203 90. 285.88 90. 15.88 0. 0. - 5 28 14 37.7310 10.7354 -7.9303 90. 285.88 90. 15.88 0. 0. - 5 28 15 37.6733 10.7190 -11.8603 90. 285.88 90. 15.88 0. 0. - 5 28 16 37.7310 10.7354 -15.7703 90. 285.88 90. 15.88 0. 0. - 5 28 17 37.6733 10.7190 -19.7003 90. 285.88 90. 15.88 0. 0. - 5 28 18 37.7310 10.7354 -23.6103 90. 285.88 90. 15.88 0. 0. - 5 28 19 37.6733 10.7190 -27.5403 90. 285.88 90. 15.88 0. 0. - 5 28 20 37.7310 10.7354 -31.4503 90. 285.88 90. 15.88 0. 0. - 5 28 21 37.6733 10.7190 -35.3803 90. 285.88 90. 15.88 0. 0. - 5 28 22 37.7310 10.7354 -39.2903 90. 285.88 90. 15.88 0. 0. - 5 28 23 37.6733 10.7190 -43.2003 90. 285.88 90. 15.88 0. 0. - 5 29 1 34.9248 17.3905 43.0197 90. 296.47 90. 26.47 0. 0. - 5 29 2 34.9785 17.4172 39.1097 90. 296.47 90. 26.47 0. 0. - 5 29 3 34.9248 17.3905 35.1797 90. 296.47 90. 26.47 0. 0. - 5 29 4 34.9785 17.4172 31.2697 90. 296.47 90. 26.47 0. 0. - 5 29 5 34.9248 17.3905 27.3397 90. 296.47 90. 26.47 0. 0. - 5 29 6 34.9785 17.4172 23.4297 90. 296.47 90. 26.47 0. 0. - 5 29 7 34.9248 17.3905 19.4997 90. 296.47 90. 26.47 0. 0. - 5 29 8 34.9785 17.4172 15.5897 90. 296.47 90. 26.47 0. 0. - 5 29 9 34.9248 17.3905 11.6597 90. 296.47 90. 26.47 0. 0. - 5 29 10 34.9785 17.4172 7.7497 90. 296.47 90. 26.47 0. 0. - 5 29 11 34.9248 17.3905 3.8197 90. 296.47 90. 26.47 0. 0. - 5 29 12 34.9785 17.4172 -0.0903 90. 296.47 90. 26.47 0. 0. - 5 29 13 34.9248 17.3905 -4.0203 90. 296.47 90. 26.47 0. 0. - 5 29 14 34.9785 17.4172 -7.9303 90. 296.47 90. 26.47 0. 0. - 5 29 15 34.9248 17.3905 -11.8603 90. 296.47 90. 26.47 0. 0. - 5 29 16 34.9785 17.4172 -15.7703 90. 296.47 90. 26.47 0. 0. - 5 29 17 34.9248 17.3905 -19.7003 90. 296.47 90. 26.47 0. 0. - 5 29 18 34.9785 17.4172 -23.6103 90. 296.47 90. 26.47 0. 0. - 5 29 19 34.9248 17.3905 -27.5403 90. 296.47 90. 26.47 0. 0. - 5 29 20 34.9785 17.4172 -31.4503 90. 296.47 90. 26.47 0. 0. - 5 29 21 34.9248 17.3905 -35.3803 90. 296.47 90. 26.47 0. 0. - 5 29 22 34.9785 17.4172 -39.2903 90. 296.47 90. 26.47 0. 0. - 5 29 23 34.9248 17.3905 -43.2003 90. 296.47 90. 26.47 0. 0. - 5 30 1 31.2572 23.6043 43.0197 90. 307.06 90. 37.06 0. 0. - 5 30 2 31.3051 23.6405 39.1097 90. 307.06 90. 37.06 0. 0. - 5 30 3 31.2572 23.6043 35.1797 90. 307.06 90. 37.06 0. 0. - 5 30 4 31.3051 23.6405 31.2697 90. 307.06 90. 37.06 0. 0. - 5 30 5 31.2572 23.6043 27.3397 90. 307.06 90. 37.06 0. 0. - 5 30 6 31.3051 23.6405 23.4297 90. 307.06 90. 37.06 0. 0. - 5 30 7 31.2572 23.6043 19.4997 90. 307.06 90. 37.06 0. 0. - 5 30 8 31.3051 23.6405 15.5897 90. 307.06 90. 37.06 0. 0. - 5 30 9 31.2572 23.6043 11.6597 90. 307.06 90. 37.06 0. 0. - 5 30 10 31.3051 23.6405 7.7497 90. 307.06 90. 37.06 0. 0. - 5 30 11 31.2572 23.6043 3.8197 90. 307.06 90. 37.06 0. 0. - 5 30 12 31.3051 23.6405 -0.0903 90. 307.06 90. 37.06 0. 0. - 5 30 13 31.2572 23.6043 -4.0203 90. 307.06 90. 37.06 0. 0. - 5 30 14 31.3051 23.6405 -7.9303 90. 307.06 90. 37.06 0. 0. - 5 30 15 31.2572 23.6043 -11.8603 90. 307.06 90. 37.06 0. 0. - 5 30 16 31.3051 23.6405 -15.7703 90. 307.06 90. 37.06 0. 0. - 5 30 17 31.2572 23.6043 -19.7003 90. 307.06 90. 37.06 0. 0. - 5 30 18 31.3051 23.6405 -23.6103 90. 307.06 90. 37.06 0. 0. - 5 30 19 31.2572 23.6043 -27.5403 90. 307.06 90. 37.06 0. 0. - 5 30 20 31.3051 23.6405 -31.4503 90. 307.06 90. 37.06 0. 0. - 5 30 21 31.2572 23.6043 -35.3803 90. 307.06 90. 37.06 0. 0. - 5 30 22 31.3051 23.6405 -39.2903 90. 307.06 90. 37.06 0. 0. - 5 30 23 31.2572 23.6043 -43.2003 90. 307.06 90. 37.06 0. 0. - 5 31 1 26.2843 28.8324 43.0197 90. 317.65 90. 47.65 0. 0. - 5 31 2 26.3247 28.8768 39.1097 90. 317.65 90. 47.65 0. 0. - 5 31 3 26.2843 28.8324 35.1797 90. 317.65 90. 47.65 0. 0. - 5 31 4 26.3247 28.8768 31.2697 90. 317.65 90. 47.65 0. 0. - 5 31 5 26.2843 28.8324 27.3397 90. 317.65 90. 47.65 0. 0. - 5 31 6 26.3247 28.8768 23.4297 90. 317.65 90. 47.65 0. 0. - 5 31 7 26.2843 28.8324 19.4997 90. 317.65 90. 47.65 0. 0. - 5 31 8 26.3247 28.8768 15.5897 90. 317.65 90. 47.65 0. 0. - 5 31 9 26.2843 28.8324 11.6597 90. 317.65 90. 47.65 0. 0. - 5 31 10 26.3247 28.8768 7.7497 90. 317.65 90. 47.65 0. 0. - 5 31 11 26.2843 28.8324 3.8197 90. 317.65 90. 47.65 0. 0. - 5 31 12 26.3247 28.8768 -0.0903 90. 317.65 90. 47.65 0. 0. - 5 31 13 26.2843 28.8324 -4.0203 90. 317.65 90. 47.65 0. 0. - 5 31 14 26.3247 28.8768 -7.9303 90. 317.65 90. 47.65 0. 0. - 5 31 15 26.2843 28.8324 -11.8603 90. 317.65 90. 47.65 0. 0. - 5 31 16 26.3247 28.8768 -15.7703 90. 317.65 90. 47.65 0. 0. - 5 31 17 26.2843 28.8324 -19.7003 90. 317.65 90. 47.65 0. 0. - 5 31 18 26.3247 28.8768 -23.6103 90. 317.65 90. 47.65 0. 0. - 5 31 19 26.2843 28.8324 -27.5403 90. 317.65 90. 47.65 0. 0. - 5 31 20 26.3247 28.8768 -31.4503 90. 317.65 90. 47.65 0. 0. - 5 31 21 26.2843 28.8324 -35.3803 90. 317.65 90. 47.65 0. 0. - 5 31 22 26.3247 28.8768 -39.2903 90. 317.65 90. 47.65 0. 0. - 5 31 23 26.2843 28.8324 -43.2003 90. 317.65 90. 47.65 0. 0. - 5 32 1 20.6196 33.3017 43.0197 90. 328.24 90. 58.24 0. 0. - 5 32 2 20.6511 33.3527 39.1097 90. 328.24 90. 58.24 0. 0. - 5 32 3 20.6196 33.3017 35.1797 90. 328.24 90. 58.24 0. 0. - 5 32 4 20.6511 33.3527 31.2697 90. 328.24 90. 58.24 0. 0. - 5 32 5 20.6196 33.3017 27.3397 90. 328.24 90. 58.24 0. 0. - 5 32 6 20.6511 33.3527 23.4297 90. 328.24 90. 58.24 0. 0. - 5 32 7 20.6196 33.3017 19.4997 90. 328.24 90. 58.24 0. 0. - 5 32 8 20.6511 33.3527 15.5897 90. 328.24 90. 58.24 0. 0. - 5 32 9 20.6196 33.3017 11.6597 90. 328.24 90. 58.24 0. 0. - 5 32 10 20.6511 33.3527 7.7497 90. 328.24 90. 58.24 0. 0. - 5 32 11 20.6196 33.3017 3.8197 90. 328.24 90. 58.24 0. 0. - 5 32 12 20.6511 33.3527 -0.0903 90. 328.24 90. 58.24 0. 0. - 5 32 13 20.6196 33.3017 -4.0203 90. 328.24 90. 58.24 0. 0. - 5 32 14 20.6511 33.3527 -7.9303 90. 328.24 90. 58.24 0. 0. - 5 32 15 20.6196 33.3017 -11.8603 90. 328.24 90. 58.24 0. 0. - 5 32 16 20.6511 33.3527 -15.7703 90. 328.24 90. 58.24 0. 0. - 5 32 17 20.6196 33.3017 -19.7003 90. 328.24 90. 58.24 0. 0. - 5 32 18 20.6511 33.3527 -23.6103 90. 328.24 90. 58.24 0. 0. - 5 32 19 20.6196 33.3017 -27.5403 90. 328.24 90. 58.24 0. 0. - 5 32 20 20.6511 33.3527 -31.4503 90. 328.24 90. 58.24 0. 0. - 5 32 21 20.6196 33.3017 -35.3803 90. 328.24 90. 58.24 0. 0. - 5 32 22 20.6511 33.3527 -39.2903 90. 328.24 90. 58.24 0. 0. - 5 32 23 20.6196 33.3017 -43.2003 90. 328.24 90. 58.24 0. 0. - 5 33 1 14.0939 36.3804 43.0197 90. 338.82 90. 68.82 0. 0. - 5 33 2 14.1155 36.4364 39.1097 90. 338.82 90. 68.82 0. 0. - 5 33 3 14.0939 36.3804 35.1797 90. 338.82 90. 68.82 0. 0. - 5 33 4 14.1155 36.4364 31.2697 90. 338.82 90. 68.82 0. 0. - 5 33 5 14.0939 36.3804 27.3397 90. 338.82 90. 68.82 0. 0. - 5 33 6 14.1155 36.4364 23.4297 90. 338.82 90. 68.82 0. 0. - 5 33 7 14.0939 36.3804 19.4997 90. 338.82 90. 68.82 0. 0. - 5 33 8 14.1155 36.4364 15.5897 90. 338.82 90. 68.82 0. 0. - 5 33 9 14.0939 36.3804 11.6597 90. 338.82 90. 68.82 0. 0. - 5 33 10 14.1155 36.4364 7.7497 90. 338.82 90. 68.82 0. 0. - 5 33 11 14.0939 36.3804 3.8197 90. 338.82 90. 68.82 0. 0. - 5 33 12 14.1155 36.4364 -0.0903 90. 338.82 90. 68.82 0. 0. - 5 33 13 14.0939 36.3804 -4.0203 90. 338.82 90. 68.82 0. 0. - 5 33 14 14.1155 36.4364 -7.9303 90. 338.82 90. 68.82 0. 0. - 5 33 15 14.0939 36.3804 -11.8603 90. 338.82 90. 68.82 0. 0. - 5 33 16 14.1155 36.4364 -15.7703 90. 338.82 90. 68.82 0. 0. - 5 33 17 14.0939 36.3804 -19.7003 90. 338.82 90. 68.82 0. 0. - 5 33 18 14.1155 36.4364 -23.6103 90. 338.82 90. 68.82 0. 0. - 5 33 19 14.0939 36.3804 -27.5403 90. 338.82 90. 68.82 0. 0. - 5 33 20 14.1155 36.4364 -31.4503 90. 338.82 90. 68.82 0. 0. - 5 33 21 14.0939 36.3804 -35.3803 90. 338.82 90. 68.82 0. 0. - 5 33 22 14.1155 36.4364 -39.2903 90. 338.82 90. 68.82 0. 0. - 5 33 23 14.0939 36.3804 -43.2003 90. 338.82 90. 68.82 0. 0. - 5 34 1 7.1972 38.5016 43.0197 90. 349.41 90. 79.41 0. 0. - 5 34 2 7.2082 38.5606 39.1097 90. 349.41 90. 79.41 0. 0. - 5 34 3 7.1972 38.5016 35.1797 90. 349.41 90. 79.41 0. 0. - 5 34 4 7.2082 38.5606 31.2697 90. 349.41 90. 79.41 0. 0. - 5 34 5 7.1972 38.5016 27.3397 90. 349.41 90. 79.41 0. 0. - 5 34 6 7.2082 38.5606 23.4297 90. 349.41 90. 79.41 0. 0. - 5 34 7 7.1972 38.5016 19.4997 90. 349.41 90. 79.41 0. 0. - 5 34 8 7.2082 38.5606 15.5897 90. 349.41 90. 79.41 0. 0. - 5 34 9 7.1972 38.5016 11.6597 90. 349.41 90. 79.41 0. 0. - 5 34 10 7.2082 38.5606 7.7497 90. 349.41 90. 79.41 0. 0. - 5 34 11 7.1972 38.5016 3.8197 90. 349.41 90. 79.41 0. 0. - 5 34 12 7.2082 38.5606 -0.0903 90. 349.41 90. 79.41 0. 0. - 5 34 13 7.1972 38.5016 -4.0203 90. 349.41 90. 79.41 0. 0. - 5 34 14 7.2082 38.5606 -7.9303 90. 349.41 90. 79.41 0. 0. - 5 34 15 7.1972 38.5016 -11.8603 90. 349.41 90. 79.41 0. 0. - 5 34 16 7.2082 38.5606 -15.7703 90. 349.41 90. 79.41 0. 0. - 5 34 17 7.1972 38.5016 -19.7003 90. 349.41 90. 79.41 0. 0. - 5 34 18 7.2082 38.5606 -23.6103 90. 349.41 90. 79.41 0. 0. - 5 34 19 7.1972 38.5016 -27.5403 90. 349.41 90. 79.41 0. 0. - 5 34 20 7.2082 38.5606 -31.4503 90. 349.41 90. 79.41 0. 0. - 5 34 21 7.1972 38.5016 -35.3803 90. 349.41 90. 79.41 0. 0. - 5 34 22 7.2082 38.5606 -39.2903 90. 349.41 90. 79.41 0. 0. - 5 34 23 7.1972 38.5016 -43.2003 90. 349.41 90. 79.41 0. 0. - 6 1 1 -14.1293 41.1572 48.8800 90. 18.95 90. 108.95 0. 0. - 6 1 2 -14.1488 41.2140 44.9700 90. 18.95 90. 108.95 0. 0. - 6 1 3 -14.1293 41.1572 41.0600 90. 18.95 90. 108.95 0. 0. - 6 1 4 -14.1488 41.2140 37.1500 90. 18.95 90. 108.95 0. 0. - 6 1 5 -14.1293 41.1572 33.2400 90. 18.95 90. 108.95 0. 0. - 6 1 6 -14.1488 41.2140 29.3300 90. 18.95 90. 108.95 0. 0. - 6 1 7 -14.1293 41.1572 25.4200 90. 18.95 90. 108.95 0. 0. - 6 1 8 -14.1488 41.2140 21.5100 90. 18.95 90. 108.95 0. 0. - 6 1 9 -14.1293 41.1572 17.6000 90. 18.95 90. 108.95 0. 0. - 6 1 10 -14.1488 41.2140 13.6900 90. 18.95 90. 108.95 0. 0. - 6 1 11 -14.1293 41.1572 9.7800 90. 18.95 90. 108.95 0. 0. - 6 1 12 -14.1488 41.2140 5.8700 90. 18.95 90. 108.95 0. 0. - 6 1 13 -14.1293 41.1572 1.9600 90. 18.95 90. 108.95 0. 0. - 6 1 14 -14.1488 41.2140 -1.9500 90. 18.95 90. 108.95 0. 0. - 6 1 15 -14.1293 41.1572 -5.8600 90. 18.95 90. 108.95 0. 0. - 6 1 16 -14.1488 41.2140 -9.7700 90. 18.95 90. 108.95 0. 0. - 6 1 17 -14.1293 41.1572 -13.6800 90. 18.95 90. 108.95 0. 0. - 6 1 18 -14.1488 41.2140 -17.5900 90. 18.95 90. 108.95 0. 0. - 6 1 19 -14.1293 41.1572 -21.5000 90. 18.95 90. 108.95 0. 0. - 6 1 20 -14.1488 41.2140 -25.4100 90. 18.95 90. 108.95 0. 0. - 6 1 21 -14.1293 41.1572 -29.3200 90. 18.95 90. 108.95 0. 0. - 6 1 22 -14.1488 41.2140 -33.2300 90. 18.95 90. 108.95 0. 0. - 6 1 23 -14.1293 41.1572 -37.1400 90. 18.95 90. 108.95 0. 0. - 6 1 24 -14.1488 41.2140 -41.0500 90. 18.95 90. 108.95 0. 0. - 6 1 25 -14.1293 41.1572 -44.9600 90. 18.95 90. 108.95 0. 0. - 6 1 26 -14.1488 41.2140 -48.8700 90. 18.95 90. 108.95 0. 0. - 6 2 1 -20.7835 38.4046 48.8800 90. 28.42 90. 118.42 0. 0. - 6 2 2 -20.8121 38.4574 44.9700 90. 28.42 90. 118.42 0. 0. - 6 2 3 -20.7835 38.4046 41.0600 90. 28.42 90. 118.42 0. 0. - 6 2 4 -20.8121 38.4574 37.1500 90. 28.42 90. 118.42 0. 0. - 6 2 5 -20.7835 38.4046 33.2400 90. 28.42 90. 118.42 0. 0. - 6 2 6 -20.8121 38.4574 29.3300 90. 28.42 90. 118.42 0. 0. - 6 2 7 -20.7835 38.4046 25.4200 90. 28.42 90. 118.42 0. 0. - 6 2 8 -20.8121 38.4574 21.5100 90. 28.42 90. 118.42 0. 0. - 6 2 9 -20.7835 38.4046 17.6000 90. 28.42 90. 118.42 0. 0. - 6 2 10 -20.8121 38.4574 13.6900 90. 28.42 90. 118.42 0. 0. - 6 2 11 -20.7835 38.4046 9.7800 90. 28.42 90. 118.42 0. 0. - 6 2 12 -20.8121 38.4574 5.8700 90. 28.42 90. 118.42 0. 0. - 6 2 13 -20.7835 38.4046 1.9600 90. 28.42 90. 118.42 0. 0. - 6 2 14 -20.8121 38.4574 -1.9500 90. 28.42 90. 118.42 0. 0. - 6 2 15 -20.7835 38.4046 -5.8600 90. 28.42 90. 118.42 0. 0. - 6 2 16 -20.8121 38.4574 -9.7700 90. 28.42 90. 118.42 0. 0. - 6 2 17 -20.7835 38.4046 -13.6800 90. 28.42 90. 118.42 0. 0. - 6 2 18 -20.8121 38.4574 -17.5900 90. 28.42 90. 118.42 0. 0. - 6 2 19 -20.7835 38.4046 -21.5000 90. 28.42 90. 118.42 0. 0. - 6 2 20 -20.8121 38.4574 -25.4100 90. 28.42 90. 118.42 0. 0. - 6 2 21 -20.7835 38.4046 -29.3200 90. 28.42 90. 118.42 0. 0. - 6 2 22 -20.8121 38.4574 -33.2300 90. 28.42 90. 118.42 0. 0. - 6 2 23 -20.7835 38.4046 -37.1400 90. 28.42 90. 118.42 0. 0. - 6 2 24 -20.8121 38.4574 -41.0500 90. 28.42 90. 118.42 0. 0. - 6 2 25 -20.7835 38.4046 -44.9600 90. 28.42 90. 118.42 0. 0. - 6 2 26 -20.8121 38.4574 -48.8700 90. 28.42 90. 118.42 0. 0. - 6 3 1 -26.7275 34.3394 48.8800 90. 37.89 90. 127.89 0. 0. - 6 3 2 -26.7643 34.3868 44.9700 90. 37.89 90. 127.89 0. 0. - 6 3 3 -26.7275 34.3394 41.0600 90. 37.89 90. 127.89 0. 0. - 6 3 4 -26.7643 34.3868 37.1500 90. 37.89 90. 127.89 0. 0. - 6 3 5 -26.7275 34.3394 33.2400 90. 37.89 90. 127.89 0. 0. - 6 3 6 -26.7643 34.3868 29.3300 90. 37.89 90. 127.89 0. 0. - 6 3 7 -26.7275 34.3394 25.4200 90. 37.89 90. 127.89 0. 0. - 6 3 8 -26.7643 34.3868 21.5100 90. 37.89 90. 127.89 0. 0. - 6 3 9 -26.7275 34.3394 17.6000 90. 37.89 90. 127.89 0. 0. - 6 3 10 -26.7643 34.3868 13.6900 90. 37.89 90. 127.89 0. 0. - 6 3 11 -26.7275 34.3394 9.7800 90. 37.89 90. 127.89 0. 0. - 6 3 12 -26.7643 34.3868 5.8700 90. 37.89 90. 127.89 0. 0. - 6 3 13 -26.7275 34.3394 1.9600 90. 37.89 90. 127.89 0. 0. - 6 3 14 -26.7643 34.3868 -1.9500 90. 37.89 90. 127.89 0. 0. - 6 3 15 -26.7275 34.3394 -5.8600 90. 37.89 90. 127.89 0. 0. - 6 3 16 -26.7643 34.3868 -9.7700 90. 37.89 90. 127.89 0. 0. - 6 3 17 -26.7275 34.3394 -13.6800 90. 37.89 90. 127.89 0. 0. - 6 3 18 -26.7643 34.3868 -17.5900 90. 37.89 90. 127.89 0. 0. - 6 3 19 -26.7275 34.3394 -21.5000 90. 37.89 90. 127.89 0. 0. - 6 3 20 -26.7643 34.3868 -25.4100 90. 37.89 90. 127.89 0. 0. - 6 3 21 -26.7275 34.3394 -29.3200 90. 37.89 90. 127.89 0. 0. - 6 3 22 -26.7643 34.3868 -33.2300 90. 37.89 90. 127.89 0. 0. - 6 3 23 -26.7275 34.3394 -37.1400 90. 37.89 90. 127.89 0. 0. - 6 3 24 -26.7643 34.3868 -41.0500 90. 37.89 90. 127.89 0. 0. - 6 3 25 -26.7275 34.3394 -44.9600 90. 37.89 90. 127.89 0. 0. - 6 3 26 -26.7643 34.3868 -48.8700 90. 37.89 90. 127.89 0. 0. - 6 4 1 -32.1273 29.5753 48.8800 90. 47.37 90. 137.37 0. 0. - 6 4 2 -32.1715 29.6159 44.9700 90. 47.37 90. 137.37 0. 0. - 6 4 3 -32.1273 29.5753 41.0600 90. 47.37 90. 137.37 0. 0. - 6 4 4 -32.1715 29.6159 37.1500 90. 47.37 90. 137.37 0. 0. - 6 4 5 -32.1273 29.5753 33.2400 90. 47.37 90. 137.37 0. 0. - 6 4 6 -32.1715 29.6159 29.3300 90. 47.37 90. 137.37 0. 0. - 6 4 7 -32.1273 29.5753 25.4200 90. 47.37 90. 137.37 0. 0. - 6 4 8 -32.1715 29.6159 21.5100 90. 47.37 90. 137.37 0. 0. - 6 4 9 -32.1273 29.5753 17.6000 90. 47.37 90. 137.37 0. 0. - 6 4 10 -32.1715 29.6159 13.6900 90. 47.37 90. 137.37 0. 0. - 6 4 11 -32.1273 29.5753 9.7800 90. 47.37 90. 137.37 0. 0. - 6 4 12 -32.1715 29.6159 5.8700 90. 47.37 90. 137.37 0. 0. - 6 4 13 -32.1273 29.5753 1.9600 90. 47.37 90. 137.37 0. 0. - 6 4 14 -32.1715 29.6159 -1.9500 90. 47.37 90. 137.37 0. 0. - 6 4 15 -32.1273 29.5753 -5.8600 90. 47.37 90. 137.37 0. 0. - 6 4 16 -32.1715 29.6159 -9.7700 90. 47.37 90. 137.37 0. 0. - 6 4 17 -32.1273 29.5753 -13.6800 90. 47.37 90. 137.37 0. 0. - 6 4 18 -32.1715 29.6159 -17.5900 90. 47.37 90. 137.37 0. 0. - 6 4 19 -32.1273 29.5753 -21.5000 90. 47.37 90. 137.37 0. 0. - 6 4 20 -32.1715 29.6159 -25.4100 90. 47.37 90. 137.37 0. 0. - 6 4 21 -32.1273 29.5753 -29.3200 90. 47.37 90. 137.37 0. 0. - 6 4 22 -32.1715 29.6159 -33.2300 90. 47.37 90. 137.37 0. 0. - 6 4 23 -32.1273 29.5753 -37.1400 90. 47.37 90. 137.37 0. 0. - 6 4 24 -32.1715 29.6159 -41.0500 90. 47.37 90. 137.37 0. 0. - 6 4 25 -32.1273 29.5753 -44.9600 90. 47.37 90. 137.37 0. 0. - 6 4 26 -32.1715 29.6159 -48.8700 90. 47.37 90. 137.37 0. 0. - 6 5 1 -36.4293 23.8005 48.8800 90. 56.84 90. 146.84 0. 0. - 6 5 2 -36.4795 23.8333 44.9700 90. 56.84 90. 146.84 0. 0. - 6 5 3 -36.4293 23.8005 41.0600 90. 56.84 90. 146.84 0. 0. - 6 5 4 -36.4795 23.8333 37.1500 90. 56.84 90. 146.84 0. 0. - 6 5 5 -36.4293 23.8005 33.2400 90. 56.84 90. 146.84 0. 0. - 6 5 6 -36.4795 23.8333 29.3300 90. 56.84 90. 146.84 0. 0. - 6 5 7 -36.4293 23.8005 25.4200 90. 56.84 90. 146.84 0. 0. - 6 5 8 -36.4795 23.8333 21.5100 90. 56.84 90. 146.84 0. 0. - 6 5 9 -36.4293 23.8005 17.6000 90. 56.84 90. 146.84 0. 0. - 6 5 10 -36.4795 23.8333 13.6900 90. 56.84 90. 146.84 0. 0. - 6 5 11 -36.4293 23.8005 9.7800 90. 56.84 90. 146.84 0. 0. - 6 5 12 -36.4795 23.8333 5.8700 90. 56.84 90. 146.84 0. 0. - 6 5 13 -36.4293 23.8005 1.9600 90. 56.84 90. 146.84 0. 0. - 6 5 14 -36.4795 23.8333 -1.9500 90. 56.84 90. 146.84 0. 0. - 6 5 15 -36.4293 23.8005 -5.8600 90. 56.84 90. 146.84 0. 0. - 6 5 16 -36.4795 23.8333 -9.7700 90. 56.84 90. 146.84 0. 0. - 6 5 17 -36.4293 23.8005 -13.6800 90. 56.84 90. 146.84 0. 0. - 6 5 18 -36.4795 23.8333 -17.5900 90. 56.84 90. 146.84 0. 0. - 6 5 19 -36.4293 23.8005 -21.5000 90. 56.84 90. 146.84 0. 0. - 6 5 20 -36.4795 23.8333 -25.4100 90. 56.84 90. 146.84 0. 0. - 6 5 21 -36.4293 23.8005 -29.3200 90. 56.84 90. 146.84 0. 0. - 6 5 22 -36.4795 23.8333 -33.2300 90. 56.84 90. 146.84 0. 0. - 6 5 23 -36.4293 23.8005 -37.1400 90. 56.84 90. 146.84 0. 0. - 6 5 24 -36.4795 23.8333 -41.0500 90. 56.84 90. 146.84 0. 0. - 6 5 25 -36.4293 23.8005 -44.9600 90. 56.84 90. 146.84 0. 0. - 6 5 26 -36.4795 23.8333 -48.8700 90. 56.84 90. 146.84 0. 0. - 6 6 1 -39.9897 17.5411 48.8800 90. 66.32 90. 156.32 0. 0. - 6 6 2 -40.0447 17.5652 44.9700 90. 66.32 90. 156.32 0. 0. - 6 6 3 -39.9897 17.5411 41.0600 90. 66.32 90. 156.32 0. 0. - 6 6 4 -40.0447 17.5652 37.1500 90. 66.32 90. 156.32 0. 0. - 6 6 5 -39.9897 17.5411 33.2400 90. 66.32 90. 156.32 0. 0. - 6 6 6 -40.0447 17.5652 29.3300 90. 66.32 90. 156.32 0. 0. - 6 6 7 -39.9897 17.5411 25.4200 90. 66.32 90. 156.32 0. 0. - 6 6 8 -40.0447 17.5652 21.5100 90. 66.32 90. 156.32 0. 0. - 6 6 9 -39.9897 17.5411 17.6000 90. 66.32 90. 156.32 0. 0. - 6 6 10 -40.0447 17.5652 13.6900 90. 66.32 90. 156.32 0. 0. - 6 6 11 -39.9897 17.5411 9.7800 90. 66.32 90. 156.32 0. 0. - 6 6 12 -40.0447 17.5652 5.8700 90. 66.32 90. 156.32 0. 0. - 6 6 13 -39.9897 17.5411 1.9600 90. 66.32 90. 156.32 0. 0. - 6 6 14 -40.0447 17.5652 -1.9500 90. 66.32 90. 156.32 0. 0. - 6 6 15 -39.9897 17.5411 -5.8600 90. 66.32 90. 156.32 0. 0. - 6 6 16 -40.0447 17.5652 -9.7700 90. 66.32 90. 156.32 0. 0. - 6 6 17 -39.9897 17.5411 -13.6800 90. 66.32 90. 156.32 0. 0. - 6 6 18 -40.0447 17.5652 -17.5900 90. 66.32 90. 156.32 0. 0. - 6 6 19 -39.9897 17.5411 -21.5000 90. 66.32 90. 156.32 0. 0. - 6 6 20 -40.0447 17.5652 -25.4100 90. 66.32 90. 156.32 0. 0. - 6 6 21 -39.9897 17.5411 -29.3200 90. 66.32 90. 156.32 0. 0. - 6 6 22 -40.0447 17.5652 -33.2300 90. 66.32 90. 156.32 0. 0. - 6 6 23 -39.9897 17.5411 -37.1400 90. 66.32 90. 156.32 0. 0. - 6 6 24 -40.0447 17.5652 -41.0500 90. 66.32 90. 156.32 0. 0. - 6 6 25 -39.9897 17.5411 -44.9600 90. 66.32 90. 156.32 0. 0. - 6 6 26 -40.0447 17.5652 -48.8700 90. 66.32 90. 156.32 0. 0. - 6 7 1 -42.1834 10.6823 48.8800 90. 75.79 90. 165.79 0. 0. - 6 7 2 -42.2416 10.6970 44.9700 90. 75.79 90. 165.79 0. 0. - 6 7 3 -42.1834 10.6823 41.0600 90. 75.79 90. 165.79 0. 0. - 6 7 4 -42.2416 10.6970 37.1500 90. 75.79 90. 165.79 0. 0. - 6 7 5 -42.1834 10.6823 33.2400 90. 75.79 90. 165.79 0. 0. - 6 7 6 -42.2416 10.6970 29.3300 90. 75.79 90. 165.79 0. 0. - 6 7 7 -42.1834 10.6823 25.4200 90. 75.79 90. 165.79 0. 0. - 6 7 8 -42.2416 10.6970 21.5100 90. 75.79 90. 165.79 0. 0. - 6 7 9 -42.1834 10.6823 17.6000 90. 75.79 90. 165.79 0. 0. - 6 7 10 -42.2416 10.6970 13.6900 90. 75.79 90. 165.79 0. 0. - 6 7 11 -42.1834 10.6823 9.7800 90. 75.79 90. 165.79 0. 0. - 6 7 12 -42.2416 10.6970 5.8700 90. 75.79 90. 165.79 0. 0. - 6 7 13 -42.1834 10.6823 1.9600 90. 75.79 90. 165.79 0. 0. - 6 7 14 -42.2416 10.6970 -1.9500 90. 75.79 90. 165.79 0. 0. - 6 7 15 -42.1834 10.6823 -5.8600 90. 75.79 90. 165.79 0. 0. - 6 7 16 -42.2416 10.6970 -9.7700 90. 75.79 90. 165.79 0. 0. - 6 7 17 -42.1834 10.6823 -13.6800 90. 75.79 90. 165.79 0. 0. - 6 7 18 -42.2416 10.6970 -17.5900 90. 75.79 90. 165.79 0. 0. - 6 7 19 -42.1834 10.6823 -21.5000 90. 75.79 90. 165.79 0. 0. - 6 7 20 -42.2416 10.6970 -25.4100 90. 75.79 90. 165.79 0. 0. - 6 7 21 -42.1834 10.6823 -29.3200 90. 75.79 90. 165.79 0. 0. - 6 7 22 -42.2416 10.6970 -33.2300 90. 75.79 90. 165.79 0. 0. - 6 7 23 -42.1834 10.6823 -37.1400 90. 75.79 90. 165.79 0. 0. - 6 7 24 -42.2416 10.6970 -41.0500 90. 75.79 90. 165.79 0. 0. - 6 7 25 -42.1834 10.6823 -44.9600 90. 75.79 90. 165.79 0. 0. - 6 7 26 -42.2416 10.6970 -48.8700 90. 75.79 90. 165.79 0. 0. - 6 8 1 -43.5185 3.6060 48.8800 90. 85.26 90. 175.26 0. 0. - 6 8 2 -43.5783 3.6110 44.9700 90. 85.26 90. 175.26 0. 0. - 6 8 3 -43.5185 3.6060 41.0600 90. 85.26 90. 175.26 0. 0. - 6 8 4 -43.5783 3.6110 37.1500 90. 85.26 90. 175.26 0. 0. - 6 8 5 -43.5185 3.6060 33.2400 90. 85.26 90. 175.26 0. 0. - 6 8 6 -43.5783 3.6110 29.3300 90. 85.26 90. 175.26 0. 0. - 6 8 7 -43.5185 3.6060 25.4200 90. 85.26 90. 175.26 0. 0. - 6 8 8 -43.5783 3.6110 21.5100 90. 85.26 90. 175.26 0. 0. - 6 8 9 -43.5185 3.6060 17.6000 90. 85.26 90. 175.26 0. 0. - 6 8 10 -43.5783 3.6110 13.6900 90. 85.26 90. 175.26 0. 0. - 6 8 11 -43.5185 3.6060 9.7800 90. 85.26 90. 175.26 0. 0. - 6 8 12 -43.5783 3.6110 5.8700 90. 85.26 90. 175.26 0. 0. - 6 8 13 -43.5185 3.6060 1.9600 90. 85.26 90. 175.26 0. 0. - 6 8 14 -43.5783 3.6110 -1.9500 90. 85.26 90. 175.26 0. 0. - 6 8 15 -43.5185 3.6060 -5.8600 90. 85.26 90. 175.26 0. 0. - 6 8 16 -43.5783 3.6110 -9.7700 90. 85.26 90. 175.26 0. 0. - 6 8 17 -43.5185 3.6060 -13.6800 90. 85.26 90. 175.26 0. 0. - 6 8 18 -43.5783 3.6110 -17.5900 90. 85.26 90. 175.26 0. 0. - 6 8 19 -43.5185 3.6060 -21.5000 90. 85.26 90. 175.26 0. 0. - 6 8 20 -43.5783 3.6110 -25.4100 90. 85.26 90. 175.26 0. 0. - 6 8 21 -43.5185 3.6060 -29.3200 90. 85.26 90. 175.26 0. 0. - 6 8 22 -43.5783 3.6110 -33.2300 90. 85.26 90. 175.26 0. 0. - 6 8 23 -43.5185 3.6060 -37.1400 90. 85.26 90. 175.26 0. 0. - 6 8 24 -43.5783 3.6110 -41.0500 90. 85.26 90. 175.26 0. 0. - 6 8 25 -43.5185 3.6060 -44.9600 90. 85.26 90. 175.26 0. 0. - 6 8 26 -43.5783 3.6110 -48.8700 90. 85.26 90. 175.26 0. 0. - 6 9 1 -43.3664 -3.5934 48.8800 90. 94.74 90. 184.74 0. 0. - 6 9 2 -43.4262 -3.5984 44.9700 90. 94.74 90. 184.74 0. 0. - 6 9 3 -43.3664 -3.5934 41.0600 90. 94.74 90. 184.74 0. 0. - 6 9 4 -43.4262 -3.5984 37.1500 90. 94.74 90. 184.74 0. 0. - 6 9 5 -43.3664 -3.5934 33.2400 90. 94.74 90. 184.74 0. 0. - 6 9 6 -43.4262 -3.5984 29.3300 90. 94.74 90. 184.74 0. 0. - 6 9 7 -43.3664 -3.5934 25.4200 90. 94.74 90. 184.74 0. 0. - 6 9 8 -43.4262 -3.5984 21.5100 90. 94.74 90. 184.74 0. 0. - 6 9 9 -43.3664 -3.5934 17.6000 90. 94.74 90. 184.74 0. 0. - 6 9 10 -43.4262 -3.5984 13.6900 90. 94.74 90. 184.74 0. 0. - 6 9 11 -43.3664 -3.5934 9.7800 90. 94.74 90. 184.74 0. 0. - 6 9 12 -43.4262 -3.5984 5.8700 90. 94.74 90. 184.74 0. 0. - 6 9 13 -43.3664 -3.5934 1.9600 90. 94.74 90. 184.74 0. 0. - 6 9 14 -43.4262 -3.5984 -1.9500 90. 94.74 90. 184.74 0. 0. - 6 9 15 -43.3664 -3.5934 -5.8600 90. 94.74 90. 184.74 0. 0. - 6 9 16 -43.4262 -3.5984 -9.7700 90. 94.74 90. 184.74 0. 0. - 6 9 17 -43.3664 -3.5934 -13.6800 90. 94.74 90. 184.74 0. 0. - 6 9 18 -43.4262 -3.5984 -17.5900 90. 94.74 90. 184.74 0. 0. - 6 9 19 -43.3664 -3.5934 -21.5000 90. 94.74 90. 184.74 0. 0. - 6 9 20 -43.4262 -3.5984 -25.4100 90. 94.74 90. 184.74 0. 0. - 6 9 21 -43.3664 -3.5934 -29.3200 90. 94.74 90. 184.74 0. 0. - 6 9 22 -43.4262 -3.5984 -33.2300 90. 94.74 90. 184.74 0. 0. - 6 9 23 -43.3664 -3.5934 -37.1400 90. 94.74 90. 184.74 0. 0. - 6 9 24 -43.4262 -3.5984 -41.0500 90. 94.74 90. 184.74 0. 0. - 6 9 25 -43.3664 -3.5934 -44.9600 90. 94.74 90. 184.74 0. 0. - 6 9 26 -43.4262 -3.5984 -48.8700 90. 94.74 90. 184.74 0. 0. - 6 10 1 -42.3315 -10.7198 48.8800 90. 104.21 90. 194.21 0. 0. - 6 10 2 -42.3897 -10.7345 44.9700 90. 104.21 90. 194.21 0. 0. - 6 10 3 -42.3315 -10.7198 41.0600 90. 104.21 90. 194.21 0. 0. - 6 10 4 -42.3897 -10.7345 37.1500 90. 104.21 90. 194.21 0. 0. - 6 10 5 -42.3315 -10.7198 33.2400 90. 104.21 90. 194.21 0. 0. - 6 10 6 -42.3897 -10.7345 29.3300 90. 104.21 90. 194.21 0. 0. - 6 10 7 -42.3315 -10.7198 25.4200 90. 104.21 90. 194.21 0. 0. - 6 10 8 -42.3897 -10.7345 21.5100 90. 104.21 90. 194.21 0. 0. - 6 10 9 -42.3315 -10.7198 17.6000 90. 104.21 90. 194.21 0. 0. - 6 10 10 -42.3897 -10.7345 13.6900 90. 104.21 90. 194.21 0. 0. - 6 10 11 -42.3315 -10.7198 9.7800 90. 104.21 90. 194.21 0. 0. - 6 10 12 -42.3897 -10.7345 5.8700 90. 104.21 90. 194.21 0. 0. - 6 10 13 -42.3315 -10.7198 1.9600 90. 104.21 90. 194.21 0. 0. - 6 10 14 -42.3897 -10.7345 -1.9500 90. 104.21 90. 194.21 0. 0. - 6 10 15 -42.3315 -10.7198 -5.8600 90. 104.21 90. 194.21 0. 0. - 6 10 16 -42.3897 -10.7345 -9.7700 90. 104.21 90. 194.21 0. 0. - 6 10 17 -42.3315 -10.7198 -13.6800 90. 104.21 90. 194.21 0. 0. - 6 10 18 -42.3897 -10.7345 -17.5900 90. 104.21 90. 194.21 0. 0. - 6 10 19 -42.3315 -10.7198 -21.5000 90. 104.21 90. 194.21 0. 0. - 6 10 20 -42.3897 -10.7345 -25.4100 90. 104.21 90. 194.21 0. 0. - 6 10 21 -42.3315 -10.7198 -29.3200 90. 104.21 90. 194.21 0. 0. - 6 10 22 -42.3897 -10.7345 -33.2300 90. 104.21 90. 194.21 0. 0. - 6 10 23 -42.3315 -10.7198 -37.1400 90. 104.21 90. 194.21 0. 0. - 6 10 24 -42.3897 -10.7345 -41.0500 90. 104.21 90. 194.21 0. 0. - 6 10 25 -42.3315 -10.7198 -44.9600 90. 104.21 90. 194.21 0. 0. - 6 10 26 -42.3897 -10.7345 -48.8700 90. 104.21 90. 194.21 0. 0. - 6 11 1 -39.8498 -17.4798 48.8800 90. 113.68 90. 203.68 0. 0. - 6 11 2 -39.9048 -17.5039 44.9700 90. 113.68 90. 203.68 0. 0. - 6 11 3 -39.8498 -17.4798 41.0600 90. 113.68 90. 203.68 0. 0. - 6 11 4 -39.9048 -17.5039 37.1500 90. 113.68 90. 203.68 0. 0. - 6 11 5 -39.8498 -17.4798 33.2400 90. 113.68 90. 203.68 0. 0. - 6 11 6 -39.9048 -17.5039 29.3300 90. 113.68 90. 203.68 0. 0. - 6 11 7 -39.8498 -17.4798 25.4200 90. 113.68 90. 203.68 0. 0. - 6 11 8 -39.9048 -17.5039 21.5100 90. 113.68 90. 203.68 0. 0. - 6 11 9 -39.8498 -17.4798 17.6000 90. 113.68 90. 203.68 0. 0. - 6 11 10 -39.9048 -17.5039 13.6900 90. 113.68 90. 203.68 0. 0. - 6 11 11 -39.8498 -17.4798 9.7800 90. 113.68 90. 203.68 0. 0. - 6 11 12 -39.9048 -17.5039 5.8700 90. 113.68 90. 203.68 0. 0. - 6 11 13 -39.8498 -17.4798 1.9600 90. 113.68 90. 203.68 0. 0. - 6 11 14 -39.9048 -17.5039 -1.9500 90. 113.68 90. 203.68 0. 0. - 6 11 15 -39.8498 -17.4798 -5.8600 90. 113.68 90. 203.68 0. 0. - 6 11 16 -39.9048 -17.5039 -9.7700 90. 113.68 90. 203.68 0. 0. - 6 11 17 -39.8498 -17.4798 -13.6800 90. 113.68 90. 203.68 0. 0. - 6 11 18 -39.9048 -17.5039 -17.5900 90. 113.68 90. 203.68 0. 0. - 6 11 19 -39.8498 -17.4798 -21.5000 90. 113.68 90. 203.68 0. 0. - 6 11 20 -39.9048 -17.5039 -25.4100 90. 113.68 90. 203.68 0. 0. - 6 11 21 -39.8498 -17.4798 -29.3200 90. 113.68 90. 203.68 0. 0. - 6 11 22 -39.9048 -17.5039 -33.2300 90. 113.68 90. 203.68 0. 0. - 6 11 23 -39.8498 -17.4798 -37.1400 90. 113.68 90. 203.68 0. 0. - 6 11 24 -39.9048 -17.5039 -41.0500 90. 113.68 90. 203.68 0. 0. - 6 11 25 -39.8498 -17.4798 -44.9600 90. 113.68 90. 203.68 0. 0. - 6 11 26 -39.9048 -17.5039 -48.8700 90. 113.68 90. 203.68 0. 0. - 6 12 1 -36.5572 -23.8840 48.8800 90. 123.16 90. 213.16 0. 0. - 6 12 2 -36.6074 -23.9168 44.9700 90. 123.16 90. 213.16 0. 0. - 6 12 3 -36.5572 -23.8840 41.0600 90. 123.16 90. 213.16 0. 0. - 6 12 4 -36.6074 -23.9168 37.1500 90. 123.16 90. 213.16 0. 0. - 6 12 5 -36.5572 -23.8840 33.2400 90. 123.16 90. 213.16 0. 0. - 6 12 6 -36.6074 -23.9168 29.3300 90. 123.16 90. 213.16 0. 0. - 6 12 7 -36.5572 -23.8840 25.4200 90. 123.16 90. 213.16 0. 0. - 6 12 8 -36.6074 -23.9168 21.5100 90. 123.16 90. 213.16 0. 0. - 6 12 9 -36.5572 -23.8840 17.6000 90. 123.16 90. 213.16 0. 0. - 6 12 10 -36.6074 -23.9168 13.6900 90. 123.16 90. 213.16 0. 0. - 6 12 11 -36.5572 -23.8840 9.7800 90. 123.16 90. 213.16 0. 0. - 6 12 12 -36.6074 -23.9168 5.8700 90. 123.16 90. 213.16 0. 0. - 6 12 13 -36.5572 -23.8840 1.9600 90. 123.16 90. 213.16 0. 0. - 6 12 14 -36.6074 -23.9168 -1.9500 90. 123.16 90. 213.16 0. 0. - 6 12 15 -36.5572 -23.8840 -5.8600 90. 123.16 90. 213.16 0. 0. - 6 12 16 -36.6074 -23.9168 -9.7700 90. 123.16 90. 213.16 0. 0. - 6 12 17 -36.5572 -23.8840 -13.6800 90. 123.16 90. 213.16 0. 0. - 6 12 18 -36.6074 -23.9168 -17.5900 90. 123.16 90. 213.16 0. 0. - 6 12 19 -36.5572 -23.8840 -21.5000 90. 123.16 90. 213.16 0. 0. - 6 12 20 -36.6074 -23.9168 -25.4100 90. 123.16 90. 213.16 0. 0. - 6 12 21 -36.5572 -23.8840 -29.3200 90. 123.16 90. 213.16 0. 0. - 6 12 22 -36.6074 -23.9168 -33.2300 90. 123.16 90. 213.16 0. 0. - 6 12 23 -36.5572 -23.8840 -37.1400 90. 123.16 90. 213.16 0. 0. - 6 12 24 -36.6074 -23.9168 -41.0500 90. 123.16 90. 213.16 0. 0. - 6 12 25 -36.5572 -23.8840 -44.9600 90. 123.16 90. 213.16 0. 0. - 6 12 26 -36.6074 -23.9168 -48.8700 90. 123.16 90. 213.16 0. 0. - 6 13 1 -32.0150 -29.4719 48.8800 90. 132.63 90. 222.63 0. 0. - 6 13 2 -32.0592 -29.5125 44.9700 90. 132.63 90. 222.63 0. 0. - 6 13 3 -32.0150 -29.4719 41.0600 90. 132.63 90. 222.63 0. 0. - 6 13 4 -32.0592 -29.5125 37.1500 90. 132.63 90. 222.63 0. 0. - 6 13 5 -32.0150 -29.4719 33.2400 90. 132.63 90. 222.63 0. 0. - 6 13 6 -32.0592 -29.5125 29.3300 90. 132.63 90. 222.63 0. 0. - 6 13 7 -32.0150 -29.4719 25.4200 90. 132.63 90. 222.63 0. 0. - 6 13 8 -32.0592 -29.5125 21.5100 90. 132.63 90. 222.63 0. 0. - 6 13 9 -32.0150 -29.4719 17.6000 90. 132.63 90. 222.63 0. 0. - 6 13 10 -32.0592 -29.5125 13.6900 90. 132.63 90. 222.63 0. 0. - 6 13 11 -32.0150 -29.4719 9.7800 90. 132.63 90. 222.63 0. 0. - 6 13 12 -32.0592 -29.5125 5.8700 90. 132.63 90. 222.63 0. 0. - 6 13 13 -32.0150 -29.4719 1.9600 90. 132.63 90. 222.63 0. 0. - 6 13 14 -32.0592 -29.5125 -1.9500 90. 132.63 90. 222.63 0. 0. - 6 13 15 -32.0150 -29.4719 -5.8600 90. 132.63 90. 222.63 0. 0. - 6 13 16 -32.0592 -29.5125 -9.7700 90. 132.63 90. 222.63 0. 0. - 6 13 17 -32.0150 -29.4719 -13.6800 90. 132.63 90. 222.63 0. 0. - 6 13 18 -32.0592 -29.5125 -17.5900 90. 132.63 90. 222.63 0. 0. - 6 13 19 -32.0150 -29.4719 -21.5000 90. 132.63 90. 222.63 0. 0. - 6 13 20 -32.0592 -29.5125 -25.4100 90. 132.63 90. 222.63 0. 0. - 6 13 21 -32.0150 -29.4719 -29.3200 90. 132.63 90. 222.63 0. 0. - 6 13 22 -32.0592 -29.5125 -33.2300 90. 132.63 90. 222.63 0. 0. - 6 13 23 -32.0150 -29.4719 -37.1400 90. 132.63 90. 222.63 0. 0. - 6 13 24 -32.0592 -29.5125 -41.0500 90. 132.63 90. 222.63 0. 0. - 6 13 25 -32.0150 -29.4719 -44.9600 90. 132.63 90. 222.63 0. 0. - 6 13 26 -32.0592 -29.5125 -48.8700 90. 132.63 90. 222.63 0. 0. - 6 14 1 -26.8212 -34.4599 48.8800 90. 142.11 90. 232.11 0. 0. - 6 14 2 -26.8581 -34.5073 44.9700 90. 142.11 90. 232.11 0. 0. - 6 14 3 -26.8212 -34.4599 41.0600 90. 142.11 90. 232.11 0. 0. - 6 14 4 -26.8581 -34.5073 37.1500 90. 142.11 90. 232.11 0. 0. - 6 14 5 -26.8212 -34.4599 33.2400 90. 142.11 90. 232.11 0. 0. - 6 14 6 -26.8581 -34.5073 29.3300 90. 142.11 90. 232.11 0. 0. - 6 14 7 -26.8212 -34.4599 25.4200 90. 142.11 90. 232.11 0. 0. - 6 14 8 -26.8581 -34.5073 21.5100 90. 142.11 90. 232.11 0. 0. - 6 14 9 -26.8212 -34.4599 17.6000 90. 142.11 90. 232.11 0. 0. - 6 14 10 -26.8581 -34.5073 13.6900 90. 142.11 90. 232.11 0. 0. - 6 14 11 -26.8212 -34.4599 9.7800 90. 142.11 90. 232.11 0. 0. - 6 14 12 -26.8581 -34.5073 5.8700 90. 142.11 90. 232.11 0. 0. - 6 14 13 -26.8212 -34.4599 1.9600 90. 142.11 90. 232.11 0. 0. - 6 14 14 -26.8581 -34.5073 -1.9500 90. 142.11 90. 232.11 0. 0. - 6 14 15 -26.8212 -34.4599 -5.8600 90. 142.11 90. 232.11 0. 0. - 6 14 16 -26.8581 -34.5073 -9.7700 90. 142.11 90. 232.11 0. 0. - 6 14 17 -26.8212 -34.4599 -13.6800 90. 142.11 90. 232.11 0. 0. - 6 14 18 -26.8581 -34.5073 -17.5900 90. 142.11 90. 232.11 0. 0. - 6 14 19 -26.8212 -34.4599 -21.5000 90. 142.11 90. 232.11 0. 0. - 6 14 20 -26.8581 -34.5073 -25.4100 90. 142.11 90. 232.11 0. 0. - 6 14 21 -26.8212 -34.4599 -29.3200 90. 142.11 90. 232.11 0. 0. - 6 14 22 -26.8581 -34.5073 -33.2300 90. 142.11 90. 232.11 0. 0. - 6 14 23 -26.8212 -34.4599 -37.1400 90. 142.11 90. 232.11 0. 0. - 6 14 24 -26.8581 -34.5073 -41.0500 90. 142.11 90. 232.11 0. 0. - 6 14 25 -26.8212 -34.4599 -44.9600 90. 142.11 90. 232.11 0. 0. - 6 14 26 -26.8581 -34.5073 -48.8700 90. 142.11 90. 232.11 0. 0. - 6 15 1 -20.7109 -38.2703 48.8800 90. 151.58 90. 241.58 0. 0. - 6 15 2 -20.7394 -38.3231 44.9700 90. 151.58 90. 241.58 0. 0. - 6 15 3 -20.7109 -38.2703 41.0600 90. 151.58 90. 241.58 0. 0. - 6 15 4 -20.7394 -38.3231 37.1500 90. 151.58 90. 241.58 0. 0. - 6 15 5 -20.7109 -38.2703 33.2400 90. 151.58 90. 241.58 0. 0. - 6 15 6 -20.7394 -38.3231 29.3300 90. 151.58 90. 241.58 0. 0. - 6 15 7 -20.7109 -38.2703 25.4200 90. 151.58 90. 241.58 0. 0. - 6 15 8 -20.7394 -38.3231 21.5100 90. 151.58 90. 241.58 0. 0. - 6 15 9 -20.7109 -38.2703 17.6000 90. 151.58 90. 241.58 0. 0. - 6 15 10 -20.7394 -38.3231 13.6900 90. 151.58 90. 241.58 0. 0. - 6 15 11 -20.7109 -38.2703 9.7800 90. 151.58 90. 241.58 0. 0. - 6 15 12 -20.7394 -38.3231 5.8700 90. 151.58 90. 241.58 0. 0. - 6 15 13 -20.7109 -38.2703 1.9600 90. 151.58 90. 241.58 0. 0. - 6 15 14 -20.7394 -38.3231 -1.9500 90. 151.58 90. 241.58 0. 0. - 6 15 15 -20.7109 -38.2703 -5.8600 90. 151.58 90. 241.58 0. 0. - 6 15 16 -20.7394 -38.3231 -9.7700 90. 151.58 90. 241.58 0. 0. - 6 15 17 -20.7109 -38.2703 -13.6800 90. 151.58 90. 241.58 0. 0. - 6 15 18 -20.7394 -38.3231 -17.5900 90. 151.58 90. 241.58 0. 0. - 6 15 19 -20.7109 -38.2703 -21.5000 90. 151.58 90. 241.58 0. 0. - 6 15 20 -20.7394 -38.3231 -25.4100 90. 151.58 90. 241.58 0. 0. - 6 15 21 -20.7109 -38.2703 -29.3200 90. 151.58 90. 241.58 0. 0. - 6 15 22 -20.7394 -38.3231 -33.2300 90. 151.58 90. 241.58 0. 0. - 6 15 23 -20.7109 -38.2703 -37.1400 90. 151.58 90. 241.58 0. 0. - 6 15 24 -20.7394 -38.3231 -41.0500 90. 151.58 90. 241.58 0. 0. - 6 15 25 -20.7109 -38.2703 -44.9600 90. 151.58 90. 241.58 0. 0. - 6 15 26 -20.7394 -38.3231 -48.8700 90. 151.58 90. 241.58 0. 0. - 6 16 1 -14.1789 -41.3016 48.8800 90. 161.05 90. 251.05 0. 0. - 6 16 2 -14.1984 -41.3584 44.9700 90. 161.05 90. 251.05 0. 0. - 6 16 3 -14.1789 -41.3016 41.0600 90. 161.05 90. 251.05 0. 0. - 6 16 4 -14.1984 -41.3584 37.1500 90. 161.05 90. 251.05 0. 0. - 6 16 5 -14.1789 -41.3016 33.2400 90. 161.05 90. 251.05 0. 0. - 6 16 6 -14.1984 -41.3584 29.3300 90. 161.05 90. 251.05 0. 0. - 6 16 7 -14.1789 -41.3016 25.4200 90. 161.05 90. 251.05 0. 0. - 6 16 8 -14.1984 -41.3584 21.5100 90. 161.05 90. 251.05 0. 0. - 6 16 9 -14.1789 -41.3016 17.6000 90. 161.05 90. 251.05 0. 0. - 6 16 10 -14.1984 -41.3584 13.6900 90. 161.05 90. 251.05 0. 0. - 6 16 11 -14.1789 -41.3016 9.7800 90. 161.05 90. 251.05 0. 0. - 6 16 12 -14.1984 -41.3584 5.8700 90. 161.05 90. 251.05 0. 0. - 6 16 13 -14.1789 -41.3016 1.9600 90. 161.05 90. 251.05 0. 0. - 6 16 14 -14.1984 -41.3584 -1.9500 90. 161.05 90. 251.05 0. 0. - 6 16 15 -14.1789 -41.3016 -5.8600 90. 161.05 90. 251.05 0. 0. - 6 16 16 -14.1984 -41.3584 -9.7700 90. 161.05 90. 251.05 0. 0. - 6 16 17 -14.1789 -41.3016 -13.6800 90. 161.05 90. 251.05 0. 0. - 6 16 18 -14.1984 -41.3584 -17.5900 90. 161.05 90. 251.05 0. 0. - 6 16 19 -14.1789 -41.3016 -21.5000 90. 161.05 90. 251.05 0. 0. - 6 16 20 -14.1984 -41.3584 -25.4100 90. 161.05 90. 251.05 0. 0. - 6 16 21 -14.1789 -41.3016 -29.3200 90. 161.05 90. 251.05 0. 0. - 6 16 22 -14.1984 -41.3584 -33.2300 90. 161.05 90. 251.05 0. 0. - 6 16 23 -14.1789 -41.3016 -37.1400 90. 161.05 90. 251.05 0. 0. - 6 16 24 -14.1984 -41.3584 -41.0500 90. 161.05 90. 251.05 0. 0. - 6 16 25 -14.1789 -41.3016 -44.9600 90. 161.05 90. 251.05 0. 0. - 6 16 26 -14.1984 -41.3584 -48.8700 90. 161.05 90. 251.05 0. 0. - 6 17 1 -7.1623 -42.9215 48.8800 90. 170.53 90. 260.53 0. 0. - 6 17 2 -7.1722 -42.9807 44.9700 90. 170.53 90. 260.53 0. 0. - 6 17 3 -7.1623 -42.9215 41.0600 90. 170.53 90. 260.53 0. 0. - 6 17 4 -7.1722 -42.9807 37.1500 90. 170.53 90. 260.53 0. 0. - 6 17 5 -7.1623 -42.9215 33.2400 90. 170.53 90. 260.53 0. 0. - 6 17 6 -7.1722 -42.9807 29.3300 90. 170.53 90. 260.53 0. 0. - 6 17 7 -7.1623 -42.9215 25.4200 90. 170.53 90. 260.53 0. 0. - 6 17 8 -7.1722 -42.9807 21.5100 90. 170.53 90. 260.53 0. 0. - 6 17 9 -7.1623 -42.9215 17.6000 90. 170.53 90. 260.53 0. 0. - 6 17 10 -7.1722 -42.9807 13.6900 90. 170.53 90. 260.53 0. 0. - 6 17 11 -7.1623 -42.9215 9.7800 90. 170.53 90. 260.53 0. 0. - 6 17 12 -7.1722 -42.9807 5.8700 90. 170.53 90. 260.53 0. 0. - 6 17 13 -7.1623 -42.9215 1.9600 90. 170.53 90. 260.53 0. 0. - 6 17 14 -7.1722 -42.9807 -1.9500 90. 170.53 90. 260.53 0. 0. - 6 17 15 -7.1623 -42.9215 -5.8600 90. 170.53 90. 260.53 0. 0. - 6 17 16 -7.1722 -42.9807 -9.7700 90. 170.53 90. 260.53 0. 0. - 6 17 17 -7.1623 -42.9215 -13.6800 90. 170.53 90. 260.53 0. 0. - 6 17 18 -7.1722 -42.9807 -17.5900 90. 170.53 90. 260.53 0. 0. - 6 17 19 -7.1623 -42.9215 -21.5000 90. 170.53 90. 260.53 0. 0. - 6 17 20 -7.1722 -42.9807 -25.4100 90. 170.53 90. 260.53 0. 0. - 6 17 21 -7.1623 -42.9215 -29.3200 90. 170.53 90. 260.53 0. 0. - 6 17 22 -7.1722 -42.9807 -33.2300 90. 170.53 90. 260.53 0. 0. - 6 17 23 -7.1623 -42.9215 -37.1400 90. 170.53 90. 260.53 0. 0. - 6 17 24 -7.1722 -42.9807 -41.0500 90. 170.53 90. 260.53 0. 0. - 6 17 25 -7.1623 -42.9215 -44.9600 90. 170.53 90. 260.53 0. 0. - 6 17 26 -7.1722 -42.9807 -48.8700 90. 170.53 90. 260.53 0. 0. - 6 18 1 0.0000 -43.6677 48.8800 90. 180.00 90. 270.00 0. 0. - 6 18 2 0.0000 -43.7277 44.9700 90. 180.00 90. 270.00 0. 0. - 6 18 3 0.0000 -43.6677 41.0600 90. 180.00 90. 270.00 0. 0. - 6 18 4 0.0000 -43.7277 37.1500 90. 180.00 90. 270.00 0. 0. - 6 18 5 0.0000 -43.6677 33.2400 90. 180.00 90. 270.00 0. 0. - 6 18 6 0.0000 -43.7277 29.3300 90. 180.00 90. 270.00 0. 0. - 6 18 7 0.0000 -43.6677 25.4200 90. 180.00 90. 270.00 0. 0. - 6 18 8 0.0000 -43.7277 21.5100 90. 180.00 90. 270.00 0. 0. - 6 18 9 0.0000 -43.6677 17.6000 90. 180.00 90. 270.00 0. 0. - 6 18 10 0.0000 -43.7277 13.6900 90. 180.00 90. 270.00 0. 0. - 6 18 11 0.0000 -43.6677 9.7800 90. 180.00 90. 270.00 0. 0. - 6 18 12 0.0000 -43.7277 5.8700 90. 180.00 90. 270.00 0. 0. - 6 18 13 0.0000 -43.6677 1.9600 90. 180.00 90. 270.00 0. 0. - 6 18 14 0.0000 -43.7277 -1.9500 90. 180.00 90. 270.00 0. 0. - 6 18 15 0.0000 -43.6677 -5.8600 90. 180.00 90. 270.00 0. 0. - 6 18 16 0.0000 -43.7277 -9.7700 90. 180.00 90. 270.00 0. 0. - 6 18 17 0.0000 -43.6677 -13.6800 90. 180.00 90. 270.00 0. 0. - 6 18 18 0.0000 -43.7277 -17.5900 90. 180.00 90. 270.00 0. 0. - 6 18 19 0.0000 -43.6677 -21.5000 90. 180.00 90. 270.00 0. 0. - 6 18 20 0.0000 -43.7277 -25.4100 90. 180.00 90. 270.00 0. 0. - 6 18 21 0.0000 -43.6677 -29.3200 90. 180.00 90. 270.00 0. 0. - 6 18 22 0.0000 -43.7277 -33.2300 90. 180.00 90. 270.00 0. 0. - 6 18 23 0.0000 -43.6677 -37.1400 90. 180.00 90. 270.00 0. 0. - 6 18 24 0.0000 -43.7277 -41.0500 90. 180.00 90. 270.00 0. 0. - 6 18 25 0.0000 -43.6677 -44.9600 90. 180.00 90. 270.00 0. 0. - 6 18 26 0.0000 -43.7277 -48.8700 90. 180.00 90. 270.00 0. 0. - 6 19 1 7.1623 -42.9215 48.8800 90. 189.47 90. 279.47 0. 0. - 6 19 2 7.1722 -42.9807 44.9700 90. 189.47 90. 279.47 0. 0. - 6 19 3 7.1623 -42.9215 41.0600 90. 189.47 90. 279.47 0. 0. - 6 19 4 7.1722 -42.9807 37.1500 90. 189.47 90. 279.47 0. 0. - 6 19 5 7.1623 -42.9215 33.2400 90. 189.47 90. 279.47 0. 0. - 6 19 6 7.1722 -42.9807 29.3300 90. 189.47 90. 279.47 0. 0. - 6 19 7 7.1623 -42.9215 25.4200 90. 189.47 90. 279.47 0. 0. - 6 19 8 7.1722 -42.9807 21.5100 90. 189.47 90. 279.47 0. 0. - 6 19 9 7.1623 -42.9215 17.6000 90. 189.47 90. 279.47 0. 0. - 6 19 10 7.1722 -42.9807 13.6900 90. 189.47 90. 279.47 0. 0. - 6 19 11 7.1623 -42.9215 9.7800 90. 189.47 90. 279.47 0. 0. - 6 19 12 7.1722 -42.9807 5.8700 90. 189.47 90. 279.47 0. 0. - 6 19 13 7.1623 -42.9215 1.9600 90. 189.47 90. 279.47 0. 0. - 6 19 14 7.1722 -42.9807 -1.9500 90. 189.47 90. 279.47 0. 0. - 6 19 15 7.1623 -42.9215 -5.8600 90. 189.47 90. 279.47 0. 0. - 6 19 16 7.1722 -42.9807 -9.7700 90. 189.47 90. 279.47 0. 0. - 6 19 17 7.1623 -42.9215 -13.6800 90. 189.47 90. 279.47 0. 0. - 6 19 18 7.1722 -42.9807 -17.5900 90. 189.47 90. 279.47 0. 0. - 6 19 19 7.1623 -42.9215 -21.5000 90. 189.47 90. 279.47 0. 0. - 6 19 20 7.1722 -42.9807 -25.4100 90. 189.47 90. 279.47 0. 0. - 6 19 21 7.1623 -42.9215 -29.3200 90. 189.47 90. 279.47 0. 0. - 6 19 22 7.1722 -42.9807 -33.2300 90. 189.47 90. 279.47 0. 0. - 6 19 23 7.1623 -42.9215 -37.1400 90. 189.47 90. 279.47 0. 0. - 6 19 24 7.1722 -42.9807 -41.0500 90. 189.47 90. 279.47 0. 0. - 6 19 25 7.1623 -42.9215 -44.9600 90. 189.47 90. 279.47 0. 0. - 6 19 26 7.1722 -42.9807 -48.8700 90. 189.47 90. 279.47 0. 0. - 6 20 1 14.1789 -41.3016 48.8800 90. 198.95 90. 288.95 0. 0. - 6 20 2 14.1983 -41.3584 44.9700 90. 198.95 90. 288.95 0. 0. - 6 20 3 14.1789 -41.3016 41.0600 90. 198.95 90. 288.95 0. 0. - 6 20 4 14.1983 -41.3584 37.1500 90. 198.95 90. 288.95 0. 0. - 6 20 5 14.1789 -41.3016 33.2400 90. 198.95 90. 288.95 0. 0. - 6 20 6 14.1983 -41.3584 29.3300 90. 198.95 90. 288.95 0. 0. - 6 20 7 14.1789 -41.3016 25.4200 90. 198.95 90. 288.95 0. 0. - 6 20 8 14.1983 -41.3584 21.5100 90. 198.95 90. 288.95 0. 0. - 6 20 9 14.1789 -41.3016 17.6000 90. 198.95 90. 288.95 0. 0. - 6 20 10 14.1983 -41.3584 13.6900 90. 198.95 90. 288.95 0. 0. - 6 20 11 14.1789 -41.3016 9.7800 90. 198.95 90. 288.95 0. 0. - 6 20 12 14.1983 -41.3584 5.8700 90. 198.95 90. 288.95 0. 0. - 6 20 13 14.1789 -41.3016 1.9600 90. 198.95 90. 288.95 0. 0. - 6 20 14 14.1983 -41.3584 -1.9500 90. 198.95 90. 288.95 0. 0. - 6 20 15 14.1789 -41.3016 -5.8600 90. 198.95 90. 288.95 0. 0. - 6 20 16 14.1983 -41.3584 -9.7700 90. 198.95 90. 288.95 0. 0. - 6 20 17 14.1789 -41.3016 -13.6800 90. 198.95 90. 288.95 0. 0. - 6 20 18 14.1983 -41.3584 -17.5900 90. 198.95 90. 288.95 0. 0. - 6 20 19 14.1789 -41.3016 -21.5000 90. 198.95 90. 288.95 0. 0. - 6 20 20 14.1983 -41.3584 -25.4100 90. 198.95 90. 288.95 0. 0. - 6 20 21 14.1789 -41.3016 -29.3200 90. 198.95 90. 288.95 0. 0. - 6 20 22 14.1983 -41.3584 -33.2300 90. 198.95 90. 288.95 0. 0. - 6 20 23 14.1789 -41.3016 -37.1400 90. 198.95 90. 288.95 0. 0. - 6 20 24 14.1983 -41.3584 -41.0500 90. 198.95 90. 288.95 0. 0. - 6 20 25 14.1789 -41.3016 -44.9600 90. 198.95 90. 288.95 0. 0. - 6 20 26 14.1983 -41.3584 -48.8700 90. 198.95 90. 288.95 0. 0. - 6 21 1 20.7108 -38.2703 48.8800 90. 208.42 90. 298.42 0. 0. - 6 21 2 20.7394 -38.3231 44.9700 90. 208.42 90. 298.42 0. 0. - 6 21 3 20.7108 -38.2703 41.0600 90. 208.42 90. 298.42 0. 0. - 6 21 4 20.7394 -38.3231 37.1500 90. 208.42 90. 298.42 0. 0. - 6 21 5 20.7108 -38.2703 33.2400 90. 208.42 90. 298.42 0. 0. - 6 21 6 20.7394 -38.3231 29.3300 90. 208.42 90. 298.42 0. 0. - 6 21 7 20.7108 -38.2703 25.4200 90. 208.42 90. 298.42 0. 0. - 6 21 8 20.7394 -38.3231 21.5100 90. 208.42 90. 298.42 0. 0. - 6 21 9 20.7108 -38.2703 17.6000 90. 208.42 90. 298.42 0. 0. - 6 21 10 20.7394 -38.3231 13.6900 90. 208.42 90. 298.42 0. 0. - 6 21 11 20.7108 -38.2703 9.7800 90. 208.42 90. 298.42 0. 0. - 6 21 12 20.7394 -38.3231 5.8700 90. 208.42 90. 298.42 0. 0. - 6 21 13 20.7108 -38.2703 1.9600 90. 208.42 90. 298.42 0. 0. - 6 21 14 20.7394 -38.3231 -1.9500 90. 208.42 90. 298.42 0. 0. - 6 21 15 20.7108 -38.2703 -5.8600 90. 208.42 90. 298.42 0. 0. - 6 21 16 20.7394 -38.3231 -9.7700 90. 208.42 90. 298.42 0. 0. - 6 21 17 20.7108 -38.2703 -13.6800 90. 208.42 90. 298.42 0. 0. - 6 21 18 20.7394 -38.3231 -17.5900 90. 208.42 90. 298.42 0. 0. - 6 21 19 20.7108 -38.2703 -21.5000 90. 208.42 90. 298.42 0. 0. - 6 21 20 20.7394 -38.3231 -25.4100 90. 208.42 90. 298.42 0. 0. - 6 21 21 20.7108 -38.2703 -29.3200 90. 208.42 90. 298.42 0. 0. - 6 21 22 20.7394 -38.3231 -33.2300 90. 208.42 90. 298.42 0. 0. - 6 21 23 20.7108 -38.2703 -37.1400 90. 208.42 90. 298.42 0. 0. - 6 21 24 20.7394 -38.3231 -41.0500 90. 208.42 90. 298.42 0. 0. - 6 21 25 20.7108 -38.2703 -44.9600 90. 208.42 90. 298.42 0. 0. - 6 21 26 20.7394 -38.3231 -48.8700 90. 208.42 90. 298.42 0. 0. - 6 22 1 26.8213 -34.4599 48.8800 90. 217.89 90. 307.89 0. 0. - 6 22 2 26.8581 -34.5073 44.9700 90. 217.89 90. 307.89 0. 0. - 6 22 3 26.8213 -34.4599 41.0600 90. 217.89 90. 307.89 0. 0. - 6 22 4 26.8581 -34.5073 37.1500 90. 217.89 90. 307.89 0. 0. - 6 22 5 26.8213 -34.4599 33.2400 90. 217.89 90. 307.89 0. 0. - 6 22 6 26.8581 -34.5073 29.3300 90. 217.89 90. 307.89 0. 0. - 6 22 7 26.8213 -34.4599 25.4200 90. 217.89 90. 307.89 0. 0. - 6 22 8 26.8581 -34.5073 21.5100 90. 217.89 90. 307.89 0. 0. - 6 22 9 26.8213 -34.4599 17.6000 90. 217.89 90. 307.89 0. 0. - 6 22 10 26.8581 -34.5073 13.6900 90. 217.89 90. 307.89 0. 0. - 6 22 11 26.8213 -34.4599 9.7800 90. 217.89 90. 307.89 0. 0. - 6 22 12 26.8581 -34.5073 5.8700 90. 217.89 90. 307.89 0. 0. - 6 22 13 26.8213 -34.4599 1.9600 90. 217.89 90. 307.89 0. 0. - 6 22 14 26.8581 -34.5073 -1.9500 90. 217.89 90. 307.89 0. 0. - 6 22 15 26.8213 -34.4599 -5.8600 90. 217.89 90. 307.89 0. 0. - 6 22 16 26.8581 -34.5073 -9.7700 90. 217.89 90. 307.89 0. 0. - 6 22 17 26.8213 -34.4599 -13.6800 90. 217.89 90. 307.89 0. 0. - 6 22 18 26.8581 -34.5073 -17.5900 90. 217.89 90. 307.89 0. 0. - 6 22 19 26.8213 -34.4599 -21.5000 90. 217.89 90. 307.89 0. 0. - 6 22 20 26.8581 -34.5073 -25.4100 90. 217.89 90. 307.89 0. 0. - 6 22 21 26.8213 -34.4599 -29.3200 90. 217.89 90. 307.89 0. 0. - 6 22 22 26.8581 -34.5073 -33.2300 90. 217.89 90. 307.89 0. 0. - 6 22 23 26.8213 -34.4599 -37.1400 90. 217.89 90. 307.89 0. 0. - 6 22 24 26.8581 -34.5073 -41.0500 90. 217.89 90. 307.89 0. 0. - 6 22 25 26.8213 -34.4599 -44.9600 90. 217.89 90. 307.89 0. 0. - 6 22 26 26.8581 -34.5073 -48.8700 90. 217.89 90. 307.89 0. 0. - 6 23 1 32.0150 -29.4719 48.8800 90. 227.37 90. 317.37 0. 0. - 6 23 2 32.0592 -29.5125 44.9700 90. 227.37 90. 317.37 0. 0. - 6 23 3 32.0150 -29.4719 41.0600 90. 227.37 90. 317.37 0. 0. - 6 23 4 32.0592 -29.5125 37.1500 90. 227.37 90. 317.37 0. 0. - 6 23 5 32.0150 -29.4719 33.2400 90. 227.37 90. 317.37 0. 0. - 6 23 6 32.0592 -29.5125 29.3300 90. 227.37 90. 317.37 0. 0. - 6 23 7 32.0150 -29.4719 25.4200 90. 227.37 90. 317.37 0. 0. - 6 23 8 32.0592 -29.5125 21.5100 90. 227.37 90. 317.37 0. 0. - 6 23 9 32.0150 -29.4719 17.6000 90. 227.37 90. 317.37 0. 0. - 6 23 10 32.0592 -29.5125 13.6900 90. 227.37 90. 317.37 0. 0. - 6 23 11 32.0150 -29.4719 9.7800 90. 227.37 90. 317.37 0. 0. - 6 23 12 32.0592 -29.5125 5.8700 90. 227.37 90. 317.37 0. 0. - 6 23 13 32.0150 -29.4719 1.9600 90. 227.37 90. 317.37 0. 0. - 6 23 14 32.0592 -29.5125 -1.9500 90. 227.37 90. 317.37 0. 0. - 6 23 15 32.0150 -29.4719 -5.8600 90. 227.37 90. 317.37 0. 0. - 6 23 16 32.0592 -29.5125 -9.7700 90. 227.37 90. 317.37 0. 0. - 6 23 17 32.0150 -29.4719 -13.6800 90. 227.37 90. 317.37 0. 0. - 6 23 18 32.0592 -29.5125 -17.5900 90. 227.37 90. 317.37 0. 0. - 6 23 19 32.0150 -29.4719 -21.5000 90. 227.37 90. 317.37 0. 0. - 6 23 20 32.0592 -29.5125 -25.4100 90. 227.37 90. 317.37 0. 0. - 6 23 21 32.0150 -29.4719 -29.3200 90. 227.37 90. 317.37 0. 0. - 6 23 22 32.0592 -29.5125 -33.2300 90. 227.37 90. 317.37 0. 0. - 6 23 23 32.0150 -29.4719 -37.1400 90. 227.37 90. 317.37 0. 0. - 6 23 24 32.0592 -29.5125 -41.0500 90. 227.37 90. 317.37 0. 0. - 6 23 25 32.0150 -29.4719 -44.9600 90. 227.37 90. 317.37 0. 0. - 6 23 26 32.0592 -29.5125 -48.8700 90. 227.37 90. 317.37 0. 0. - 6 24 1 36.5571 -23.8840 48.8800 90. 236.84 90. 326.84 0. 0. - 6 24 2 36.6073 -23.9168 44.9700 90. 236.84 90. 326.84 0. 0. - 6 24 3 36.5571 -23.8840 41.0600 90. 236.84 90. 326.84 0. 0. - 6 24 4 36.6073 -23.9168 37.1500 90. 236.84 90. 326.84 0. 0. - 6 24 5 36.5571 -23.8840 33.2400 90. 236.84 90. 326.84 0. 0. - 6 24 6 36.6073 -23.9168 29.3300 90. 236.84 90. 326.84 0. 0. - 6 24 7 36.5571 -23.8840 25.4200 90. 236.84 90. 326.84 0. 0. - 6 24 8 36.6073 -23.9168 21.5100 90. 236.84 90. 326.84 0. 0. - 6 24 9 36.5571 -23.8840 17.6000 90. 236.84 90. 326.84 0. 0. - 6 24 10 36.6073 -23.9168 13.6900 90. 236.84 90. 326.84 0. 0. - 6 24 11 36.5571 -23.8840 9.7800 90. 236.84 90. 326.84 0. 0. - 6 24 12 36.6073 -23.9168 5.8700 90. 236.84 90. 326.84 0. 0. - 6 24 13 36.5571 -23.8840 1.9600 90. 236.84 90. 326.84 0. 0. - 6 24 14 36.6073 -23.9168 -1.9500 90. 236.84 90. 326.84 0. 0. - 6 24 15 36.5571 -23.8840 -5.8600 90. 236.84 90. 326.84 0. 0. - 6 24 16 36.6073 -23.9168 -9.7700 90. 236.84 90. 326.84 0. 0. - 6 24 17 36.5571 -23.8840 -13.6800 90. 236.84 90. 326.84 0. 0. - 6 24 18 36.6073 -23.9168 -17.5900 90. 236.84 90. 326.84 0. 0. - 6 24 19 36.5571 -23.8840 -21.5000 90. 236.84 90. 326.84 0. 0. - 6 24 20 36.6073 -23.9168 -25.4100 90. 236.84 90. 326.84 0. 0. - 6 24 21 36.5571 -23.8840 -29.3200 90. 236.84 90. 326.84 0. 0. - 6 24 22 36.6073 -23.9168 -33.2300 90. 236.84 90. 326.84 0. 0. - 6 24 23 36.5571 -23.8840 -37.1400 90. 236.84 90. 326.84 0. 0. - 6 24 24 36.6073 -23.9168 -41.0500 90. 236.84 90. 326.84 0. 0. - 6 24 25 36.5571 -23.8840 -44.9600 90. 236.84 90. 326.84 0. 0. - 6 24 26 36.6073 -23.9168 -48.8700 90. 236.84 90. 326.84 0. 0. - 6 25 1 39.8498 -17.4798 48.8800 90. 246.32 90. 336.32 0. 0. - 6 25 2 39.9048 -17.5039 44.9700 90. 246.32 90. 336.32 0. 0. - 6 25 3 39.8498 -17.4798 41.0600 90. 246.32 90. 336.32 0. 0. - 6 25 4 39.9048 -17.5039 37.1500 90. 246.32 90. 336.32 0. 0. - 6 25 5 39.8498 -17.4798 33.2400 90. 246.32 90. 336.32 0. 0. - 6 25 6 39.9048 -17.5039 29.3300 90. 246.32 90. 336.32 0. 0. - 6 25 7 39.8498 -17.4798 25.4200 90. 246.32 90. 336.32 0. 0. - 6 25 8 39.9048 -17.5039 21.5100 90. 246.32 90. 336.32 0. 0. - 6 25 9 39.8498 -17.4798 17.6000 90. 246.32 90. 336.32 0. 0. - 6 25 10 39.9048 -17.5039 13.6900 90. 246.32 90. 336.32 0. 0. - 6 25 11 39.8498 -17.4798 9.7800 90. 246.32 90. 336.32 0. 0. - 6 25 12 39.9048 -17.5039 5.8700 90. 246.32 90. 336.32 0. 0. - 6 25 13 39.8498 -17.4798 1.9600 90. 246.32 90. 336.32 0. 0. - 6 25 14 39.9048 -17.5039 -1.9500 90. 246.32 90. 336.32 0. 0. - 6 25 15 39.8498 -17.4798 -5.8600 90. 246.32 90. 336.32 0. 0. - 6 25 16 39.9048 -17.5039 -9.7700 90. 246.32 90. 336.32 0. 0. - 6 25 17 39.8498 -17.4798 -13.6800 90. 246.32 90. 336.32 0. 0. - 6 25 18 39.9048 -17.5039 -17.5900 90. 246.32 90. 336.32 0. 0. - 6 25 19 39.8498 -17.4798 -21.5000 90. 246.32 90. 336.32 0. 0. - 6 25 20 39.9048 -17.5039 -25.4100 90. 246.32 90. 336.32 0. 0. - 6 25 21 39.8498 -17.4798 -29.3200 90. 246.32 90. 336.32 0. 0. - 6 25 22 39.9048 -17.5039 -33.2300 90. 246.32 90. 336.32 0. 0. - 6 25 23 39.8498 -17.4798 -37.1400 90. 246.32 90. 336.32 0. 0. - 6 25 24 39.9048 -17.5039 -41.0500 90. 246.32 90. 336.32 0. 0. - 6 25 25 39.8498 -17.4798 -44.9600 90. 246.32 90. 336.32 0. 0. - 6 25 26 39.9048 -17.5039 -48.8700 90. 246.32 90. 336.32 0. 0. - 6 26 1 42.3315 -10.7198 48.8800 90. 255.79 90. 345.79 0. 0. - 6 26 2 42.3897 -10.7345 44.9700 90. 255.79 90. 345.79 0. 0. - 6 26 3 42.3315 -10.7198 41.0600 90. 255.79 90. 345.79 0. 0. - 6 26 4 42.3897 -10.7345 37.1500 90. 255.79 90. 345.79 0. 0. - 6 26 5 42.3315 -10.7198 33.2400 90. 255.79 90. 345.79 0. 0. - 6 26 6 42.3897 -10.7345 29.3300 90. 255.79 90. 345.79 0. 0. - 6 26 7 42.3315 -10.7198 25.4200 90. 255.79 90. 345.79 0. 0. - 6 26 8 42.3897 -10.7345 21.5100 90. 255.79 90. 345.79 0. 0. - 6 26 9 42.3315 -10.7198 17.6000 90. 255.79 90. 345.79 0. 0. - 6 26 10 42.3897 -10.7345 13.6900 90. 255.79 90. 345.79 0. 0. - 6 26 11 42.3315 -10.7198 9.7800 90. 255.79 90. 345.79 0. 0. - 6 26 12 42.3897 -10.7345 5.8700 90. 255.79 90. 345.79 0. 0. - 6 26 13 42.3315 -10.7198 1.9600 90. 255.79 90. 345.79 0. 0. - 6 26 14 42.3897 -10.7345 -1.9500 90. 255.79 90. 345.79 0. 0. - 6 26 15 42.3315 -10.7198 -5.8600 90. 255.79 90. 345.79 0. 0. - 6 26 16 42.3897 -10.7345 -9.7700 90. 255.79 90. 345.79 0. 0. - 6 26 17 42.3315 -10.7198 -13.6800 90. 255.79 90. 345.79 0. 0. - 6 26 18 42.3897 -10.7345 -17.5900 90. 255.79 90. 345.79 0. 0. - 6 26 19 42.3315 -10.7198 -21.5000 90. 255.79 90. 345.79 0. 0. - 6 26 20 42.3897 -10.7345 -25.4100 90. 255.79 90. 345.79 0. 0. - 6 26 21 42.3315 -10.7198 -29.3200 90. 255.79 90. 345.79 0. 0. - 6 26 22 42.3897 -10.7345 -33.2300 90. 255.79 90. 345.79 0. 0. - 6 26 23 42.3315 -10.7198 -37.1400 90. 255.79 90. 345.79 0. 0. - 6 26 24 42.3897 -10.7345 -41.0500 90. 255.79 90. 345.79 0. 0. - 6 26 25 42.3315 -10.7198 -44.9600 90. 255.79 90. 345.79 0. 0. - 6 26 26 42.3897 -10.7345 -48.8700 90. 255.79 90. 345.79 0. 0. - 6 27 1 43.3664 -3.5934 48.8800 90. 265.26 90. 355.26 0. 0. - 6 27 2 43.4262 -3.5984 44.9700 90. 265.26 90. 355.26 0. 0. - 6 27 3 43.3664 -3.5934 41.0600 90. 265.26 90. 355.26 0. 0. - 6 27 4 43.4262 -3.5984 37.1500 90. 265.26 90. 355.26 0. 0. - 6 27 5 43.3664 -3.5934 33.2400 90. 265.26 90. 355.26 0. 0. - 6 27 6 43.4262 -3.5984 29.3300 90. 265.26 90. 355.26 0. 0. - 6 27 7 43.3664 -3.5934 25.4200 90. 265.26 90. 355.26 0. 0. - 6 27 8 43.4262 -3.5984 21.5100 90. 265.26 90. 355.26 0. 0. - 6 27 9 43.3664 -3.5934 17.6000 90. 265.26 90. 355.26 0. 0. - 6 27 10 43.4262 -3.5984 13.6900 90. 265.26 90. 355.26 0. 0. - 6 27 11 43.3664 -3.5934 9.7800 90. 265.26 90. 355.26 0. 0. - 6 27 12 43.4262 -3.5984 5.8700 90. 265.26 90. 355.26 0. 0. - 6 27 13 43.3664 -3.5934 1.9600 90. 265.26 90. 355.26 0. 0. - 6 27 14 43.4262 -3.5984 -1.9500 90. 265.26 90. 355.26 0. 0. - 6 27 15 43.3664 -3.5934 -5.8600 90. 265.26 90. 355.26 0. 0. - 6 27 16 43.4262 -3.5984 -9.7700 90. 265.26 90. 355.26 0. 0. - 6 27 17 43.3664 -3.5934 -13.6800 90. 265.26 90. 355.26 0. 0. - 6 27 18 43.4262 -3.5984 -17.5900 90. 265.26 90. 355.26 0. 0. - 6 27 19 43.3664 -3.5934 -21.5000 90. 265.26 90. 355.26 0. 0. - 6 27 20 43.4262 -3.5984 -25.4100 90. 265.26 90. 355.26 0. 0. - 6 27 21 43.3664 -3.5934 -29.3200 90. 265.26 90. 355.26 0. 0. - 6 27 22 43.4262 -3.5984 -33.2300 90. 265.26 90. 355.26 0. 0. - 6 27 23 43.3664 -3.5934 -37.1400 90. 265.26 90. 355.26 0. 0. - 6 27 24 43.4262 -3.5984 -41.0500 90. 265.26 90. 355.26 0. 0. - 6 27 25 43.3664 -3.5934 -44.9600 90. 265.26 90. 355.26 0. 0. - 6 27 26 43.4262 -3.5984 -48.8700 90. 265.26 90. 355.26 0. 0. - 6 28 1 43.5185 3.6060 48.8800 90. 274.74 90. 4.74 0. 0. - 6 28 2 43.5783 3.6110 44.9700 90. 274.74 90. 4.74 0. 0. - 6 28 3 43.5185 3.6060 41.0600 90. 274.74 90. 4.74 0. 0. - 6 28 4 43.5783 3.6110 37.1500 90. 274.74 90. 4.74 0. 0. - 6 28 5 43.5185 3.6060 33.2400 90. 274.74 90. 4.74 0. 0. - 6 28 6 43.5783 3.6110 29.3300 90. 274.74 90. 4.74 0. 0. - 6 28 7 43.5185 3.6060 25.4200 90. 274.74 90. 4.74 0. 0. - 6 28 8 43.5783 3.6110 21.5100 90. 274.74 90. 4.74 0. 0. - 6 28 9 43.5185 3.6060 17.6000 90. 274.74 90. 4.74 0. 0. - 6 28 10 43.5783 3.6110 13.6900 90. 274.74 90. 4.74 0. 0. - 6 28 11 43.5185 3.6060 9.7800 90. 274.74 90. 4.74 0. 0. - 6 28 12 43.5783 3.6110 5.8700 90. 274.74 90. 4.74 0. 0. - 6 28 13 43.5185 3.6060 1.9600 90. 274.74 90. 4.74 0. 0. - 6 28 14 43.5783 3.6110 -1.9500 90. 274.74 90. 4.74 0. 0. - 6 28 15 43.5185 3.6060 -5.8600 90. 274.74 90. 4.74 0. 0. - 6 28 16 43.5783 3.6110 -9.7700 90. 274.74 90. 4.74 0. 0. - 6 28 17 43.5185 3.6060 -13.6800 90. 274.74 90. 4.74 0. 0. - 6 28 18 43.5783 3.6110 -17.5900 90. 274.74 90. 4.74 0. 0. - 6 28 19 43.5185 3.6060 -21.5000 90. 274.74 90. 4.74 0. 0. - 6 28 20 43.5783 3.6110 -25.4100 90. 274.74 90. 4.74 0. 0. - 6 28 21 43.5185 3.6060 -29.3200 90. 274.74 90. 4.74 0. 0. - 6 28 22 43.5783 3.6110 -33.2300 90. 274.74 90. 4.74 0. 0. - 6 28 23 43.5185 3.6060 -37.1400 90. 274.74 90. 4.74 0. 0. - 6 28 24 43.5783 3.6110 -41.0500 90. 274.74 90. 4.74 0. 0. - 6 28 25 43.5185 3.6060 -44.9600 90. 274.74 90. 4.74 0. 0. - 6 28 26 43.5783 3.6110 -48.8700 90. 274.74 90. 4.74 0. 0. - 6 29 1 42.1834 10.6823 48.8800 90. 284.21 90. 14.21 0. 0. - 6 29 2 42.2416 10.6970 44.9700 90. 284.21 90. 14.21 0. 0. - 6 29 3 42.1834 10.6823 41.0600 90. 284.21 90. 14.21 0. 0. - 6 29 4 42.2416 10.6970 37.1500 90. 284.21 90. 14.21 0. 0. - 6 29 5 42.1834 10.6823 33.2400 90. 284.21 90. 14.21 0. 0. - 6 29 6 42.2416 10.6970 29.3300 90. 284.21 90. 14.21 0. 0. - 6 29 7 42.1834 10.6823 25.4200 90. 284.21 90. 14.21 0. 0. - 6 29 8 42.2416 10.6970 21.5100 90. 284.21 90. 14.21 0. 0. - 6 29 9 42.1834 10.6823 17.6000 90. 284.21 90. 14.21 0. 0. - 6 29 10 42.2416 10.6970 13.6900 90. 284.21 90. 14.21 0. 0. - 6 29 11 42.1834 10.6823 9.7800 90. 284.21 90. 14.21 0. 0. - 6 29 12 42.2416 10.6970 5.8700 90. 284.21 90. 14.21 0. 0. - 6 29 13 42.1834 10.6823 1.9600 90. 284.21 90. 14.21 0. 0. - 6 29 14 42.2416 10.6970 -1.9500 90. 284.21 90. 14.21 0. 0. - 6 29 15 42.1834 10.6823 -5.8600 90. 284.21 90. 14.21 0. 0. - 6 29 16 42.2416 10.6970 -9.7700 90. 284.21 90. 14.21 0. 0. - 6 29 17 42.1834 10.6823 -13.6800 90. 284.21 90. 14.21 0. 0. - 6 29 18 42.2416 10.6970 -17.5900 90. 284.21 90. 14.21 0. 0. - 6 29 19 42.1834 10.6823 -21.5000 90. 284.21 90. 14.21 0. 0. - 6 29 20 42.2416 10.6970 -25.4100 90. 284.21 90. 14.21 0. 0. - 6 29 21 42.1834 10.6823 -29.3200 90. 284.21 90. 14.21 0. 0. - 6 29 22 42.2416 10.6970 -33.2300 90. 284.21 90. 14.21 0. 0. - 6 29 23 42.1834 10.6823 -37.1400 90. 284.21 90. 14.21 0. 0. - 6 29 24 42.2416 10.6970 -41.0500 90. 284.21 90. 14.21 0. 0. - 6 29 25 42.1834 10.6823 -44.9600 90. 284.21 90. 14.21 0. 0. - 6 29 26 42.2416 10.6970 -48.8700 90. 284.21 90. 14.21 0. 0. - 6 30 1 39.9897 17.5411 48.8800 90. 293.68 90. 23.68 0. 0. - 6 30 2 40.0447 17.5652 44.9700 90. 293.68 90. 23.68 0. 0. - 6 30 3 39.9897 17.5411 41.0600 90. 293.68 90. 23.68 0. 0. - 6 30 4 40.0447 17.5652 37.1500 90. 293.68 90. 23.68 0. 0. - 6 30 5 39.9897 17.5411 33.2400 90. 293.68 90. 23.68 0. 0. - 6 30 6 40.0447 17.5652 29.3300 90. 293.68 90. 23.68 0. 0. - 6 30 7 39.9897 17.5411 25.4200 90. 293.68 90. 23.68 0. 0. - 6 30 8 40.0447 17.5652 21.5100 90. 293.68 90. 23.68 0. 0. - 6 30 9 39.9897 17.5411 17.6000 90. 293.68 90. 23.68 0. 0. - 6 30 10 40.0447 17.5652 13.6900 90. 293.68 90. 23.68 0. 0. - 6 30 11 39.9897 17.5411 9.7800 90. 293.68 90. 23.68 0. 0. - 6 30 12 40.0447 17.5652 5.8700 90. 293.68 90. 23.68 0. 0. - 6 30 13 39.9897 17.5411 1.9600 90. 293.68 90. 23.68 0. 0. - 6 30 14 40.0447 17.5652 -1.9500 90. 293.68 90. 23.68 0. 0. - 6 30 15 39.9897 17.5411 -5.8600 90. 293.68 90. 23.68 0. 0. - 6 30 16 40.0447 17.5652 -9.7700 90. 293.68 90. 23.68 0. 0. - 6 30 17 39.9897 17.5411 -13.6800 90. 293.68 90. 23.68 0. 0. - 6 30 18 40.0447 17.5652 -17.5900 90. 293.68 90. 23.68 0. 0. - 6 30 19 39.9897 17.5411 -21.5000 90. 293.68 90. 23.68 0. 0. - 6 30 20 40.0447 17.5652 -25.4100 90. 293.68 90. 23.68 0. 0. - 6 30 21 39.9897 17.5411 -29.3200 90. 293.68 90. 23.68 0. 0. - 6 30 22 40.0447 17.5652 -33.2300 90. 293.68 90. 23.68 0. 0. - 6 30 23 39.9897 17.5411 -37.1400 90. 293.68 90. 23.68 0. 0. - 6 30 24 40.0447 17.5652 -41.0500 90. 293.68 90. 23.68 0. 0. - 6 30 25 39.9897 17.5411 -44.9600 90. 293.68 90. 23.68 0. 0. - 6 30 26 40.0447 17.5652 -48.8700 90. 293.68 90. 23.68 0. 0. - 6 31 1 36.4293 23.8005 48.8800 90. 303.16 90. 33.16 0. 0. - 6 31 2 36.4795 23.8333 44.9700 90. 303.16 90. 33.16 0. 0. - 6 31 3 36.4293 23.8005 41.0600 90. 303.16 90. 33.16 0. 0. - 6 31 4 36.4795 23.8333 37.1500 90. 303.16 90. 33.16 0. 0. - 6 31 5 36.4293 23.8005 33.2400 90. 303.16 90. 33.16 0. 0. - 6 31 6 36.4795 23.8333 29.3300 90. 303.16 90. 33.16 0. 0. - 6 31 7 36.4293 23.8005 25.4200 90. 303.16 90. 33.16 0. 0. - 6 31 8 36.4795 23.8333 21.5100 90. 303.16 90. 33.16 0. 0. - 6 31 9 36.4293 23.8005 17.6000 90. 303.16 90. 33.16 0. 0. - 6 31 10 36.4795 23.8333 13.6900 90. 303.16 90. 33.16 0. 0. - 6 31 11 36.4293 23.8005 9.7800 90. 303.16 90. 33.16 0. 0. - 6 31 12 36.4795 23.8333 5.8700 90. 303.16 90. 33.16 0. 0. - 6 31 13 36.4293 23.8005 1.9600 90. 303.16 90. 33.16 0. 0. - 6 31 14 36.4795 23.8333 -1.9500 90. 303.16 90. 33.16 0. 0. - 6 31 15 36.4293 23.8005 -5.8600 90. 303.16 90. 33.16 0. 0. - 6 31 16 36.4795 23.8333 -9.7700 90. 303.16 90. 33.16 0. 0. - 6 31 17 36.4293 23.8005 -13.6800 90. 303.16 90. 33.16 0. 0. - 6 31 18 36.4795 23.8333 -17.5900 90. 303.16 90. 33.16 0. 0. - 6 31 19 36.4293 23.8005 -21.5000 90. 303.16 90. 33.16 0. 0. - 6 31 20 36.4795 23.8333 -25.4100 90. 303.16 90. 33.16 0. 0. - 6 31 21 36.4293 23.8005 -29.3200 90. 303.16 90. 33.16 0. 0. - 6 31 22 36.4795 23.8333 -33.2300 90. 303.16 90. 33.16 0. 0. - 6 31 23 36.4293 23.8005 -37.1400 90. 303.16 90. 33.16 0. 0. - 6 31 24 36.4795 23.8333 -41.0500 90. 303.16 90. 33.16 0. 0. - 6 31 25 36.4293 23.8005 -44.9600 90. 303.16 90. 33.16 0. 0. - 6 31 26 36.4795 23.8333 -48.8700 90. 303.16 90. 33.16 0. 0. - 6 32 1 32.1273 29.5753 48.8800 90. 312.63 90. 42.63 0. 0. - 6 32 2 32.1715 29.6159 44.9700 90. 312.63 90. 42.63 0. 0. - 6 32 3 32.1273 29.5753 41.0600 90. 312.63 90. 42.63 0. 0. - 6 32 4 32.1715 29.6159 37.1500 90. 312.63 90. 42.63 0. 0. - 6 32 5 32.1273 29.5753 33.2400 90. 312.63 90. 42.63 0. 0. - 6 32 6 32.1715 29.6159 29.3300 90. 312.63 90. 42.63 0. 0. - 6 32 7 32.1273 29.5753 25.4200 90. 312.63 90. 42.63 0. 0. - 6 32 8 32.1715 29.6159 21.5100 90. 312.63 90. 42.63 0. 0. - 6 32 9 32.1273 29.5753 17.6000 90. 312.63 90. 42.63 0. 0. - 6 32 10 32.1715 29.6159 13.6900 90. 312.63 90. 42.63 0. 0. - 6 32 11 32.1273 29.5753 9.7800 90. 312.63 90. 42.63 0. 0. - 6 32 12 32.1715 29.6159 5.8700 90. 312.63 90. 42.63 0. 0. - 6 32 13 32.1273 29.5753 1.9600 90. 312.63 90. 42.63 0. 0. - 6 32 14 32.1715 29.6159 -1.9500 90. 312.63 90. 42.63 0. 0. - 6 32 15 32.1273 29.5753 -5.8600 90. 312.63 90. 42.63 0. 0. - 6 32 16 32.1715 29.6159 -9.7700 90. 312.63 90. 42.63 0. 0. - 6 32 17 32.1273 29.5753 -13.6800 90. 312.63 90. 42.63 0. 0. - 6 32 18 32.1715 29.6159 -17.5900 90. 312.63 90. 42.63 0. 0. - 6 32 19 32.1273 29.5753 -21.5000 90. 312.63 90. 42.63 0. 0. - 6 32 20 32.1715 29.6159 -25.4100 90. 312.63 90. 42.63 0. 0. - 6 32 21 32.1273 29.5753 -29.3200 90. 312.63 90. 42.63 0. 0. - 6 32 22 32.1715 29.6159 -33.2300 90. 312.63 90. 42.63 0. 0. - 6 32 23 32.1273 29.5753 -37.1400 90. 312.63 90. 42.63 0. 0. - 6 32 24 32.1715 29.6159 -41.0500 90. 312.63 90. 42.63 0. 0. - 6 32 25 32.1273 29.5753 -44.9600 90. 312.63 90. 42.63 0. 0. - 6 32 26 32.1715 29.6159 -48.8700 90. 312.63 90. 42.63 0. 0. - 6 33 1 26.7275 34.3394 48.8800 90. 322.11 90. 52.11 0. 0. - 6 33 2 26.7643 34.3868 44.9700 90. 322.11 90. 52.11 0. 0. - 6 33 3 26.7275 34.3394 41.0600 90. 322.11 90. 52.11 0. 0. - 6 33 4 26.7643 34.3868 37.1500 90. 322.11 90. 52.11 0. 0. - 6 33 5 26.7275 34.3394 33.2400 90. 322.11 90. 52.11 0. 0. - 6 33 6 26.7643 34.3868 29.3300 90. 322.11 90. 52.11 0. 0. - 6 33 7 26.7275 34.3394 25.4200 90. 322.11 90. 52.11 0. 0. - 6 33 8 26.7643 34.3868 21.5100 90. 322.11 90. 52.11 0. 0. - 6 33 9 26.7275 34.3394 17.6000 90. 322.11 90. 52.11 0. 0. - 6 33 10 26.7643 34.3868 13.6900 90. 322.11 90. 52.11 0. 0. - 6 33 11 26.7275 34.3394 9.7800 90. 322.11 90. 52.11 0. 0. - 6 33 12 26.7643 34.3868 5.8700 90. 322.11 90. 52.11 0. 0. - 6 33 13 26.7275 34.3394 1.9600 90. 322.11 90. 52.11 0. 0. - 6 33 14 26.7643 34.3868 -1.9500 90. 322.11 90. 52.11 0. 0. - 6 33 15 26.7275 34.3394 -5.8600 90. 322.11 90. 52.11 0. 0. - 6 33 16 26.7643 34.3868 -9.7700 90. 322.11 90. 52.11 0. 0. - 6 33 17 26.7275 34.3394 -13.6800 90. 322.11 90. 52.11 0. 0. - 6 33 18 26.7643 34.3868 -17.5900 90. 322.11 90. 52.11 0. 0. - 6 33 19 26.7275 34.3394 -21.5000 90. 322.11 90. 52.11 0. 0. - 6 33 20 26.7643 34.3868 -25.4100 90. 322.11 90. 52.11 0. 0. - 6 33 21 26.7275 34.3394 -29.3200 90. 322.11 90. 52.11 0. 0. - 6 33 22 26.7643 34.3868 -33.2300 90. 322.11 90. 52.11 0. 0. - 6 33 23 26.7275 34.3394 -37.1400 90. 322.11 90. 52.11 0. 0. - 6 33 24 26.7643 34.3868 -41.0500 90. 322.11 90. 52.11 0. 0. - 6 33 25 26.7275 34.3394 -44.9600 90. 322.11 90. 52.11 0. 0. - 6 33 26 26.7643 34.3868 -48.8700 90. 322.11 90. 52.11 0. 0. - 6 34 1 20.7835 38.4046 48.8800 90. 331.58 90. 61.58 0. 0. - 6 34 2 20.8121 38.4574 44.9700 90. 331.58 90. 61.58 0. 0. - 6 34 3 20.7835 38.4046 41.0600 90. 331.58 90. 61.58 0. 0. - 6 34 4 20.8121 38.4574 37.1500 90. 331.58 90. 61.58 0. 0. - 6 34 5 20.7835 38.4046 33.2400 90. 331.58 90. 61.58 0. 0. - 6 34 6 20.8121 38.4574 29.3300 90. 331.58 90. 61.58 0. 0. - 6 34 7 20.7835 38.4046 25.4200 90. 331.58 90. 61.58 0. 0. - 6 34 8 20.8121 38.4574 21.5100 90. 331.58 90. 61.58 0. 0. - 6 34 9 20.7835 38.4046 17.6000 90. 331.58 90. 61.58 0. 0. - 6 34 10 20.8121 38.4574 13.6900 90. 331.58 90. 61.58 0. 0. - 6 34 11 20.7835 38.4046 9.7800 90. 331.58 90. 61.58 0. 0. - 6 34 12 20.8121 38.4574 5.8700 90. 331.58 90. 61.58 0. 0. - 6 34 13 20.7835 38.4046 1.9600 90. 331.58 90. 61.58 0. 0. - 6 34 14 20.8121 38.4574 -1.9500 90. 331.58 90. 61.58 0. 0. - 6 34 15 20.7835 38.4046 -5.8600 90. 331.58 90. 61.58 0. 0. - 6 34 16 20.8121 38.4574 -9.7700 90. 331.58 90. 61.58 0. 0. - 6 34 17 20.7835 38.4046 -13.6800 90. 331.58 90. 61.58 0. 0. - 6 34 18 20.8121 38.4574 -17.5900 90. 331.58 90. 61.58 0. 0. - 6 34 19 20.7835 38.4046 -21.5000 90. 331.58 90. 61.58 0. 0. - 6 34 20 20.8121 38.4574 -25.4100 90. 331.58 90. 61.58 0. 0. - 6 34 21 20.7835 38.4046 -29.3200 90. 331.58 90. 61.58 0. 0. - 6 34 22 20.8121 38.4574 -33.2300 90. 331.58 90. 61.58 0. 0. - 6 34 23 20.7835 38.4046 -37.1400 90. 331.58 90. 61.58 0. 0. - 6 34 24 20.8121 38.4574 -41.0500 90. 331.58 90. 61.58 0. 0. - 6 34 25 20.7835 38.4046 -44.9600 90. 331.58 90. 61.58 0. 0. - 6 34 26 20.8121 38.4574 -48.8700 90. 331.58 90. 61.58 0. 0. - 6 35 1 14.1293 41.1572 48.8800 90. 341.05 90. 71.05 0. 0. - 6 35 2 14.1488 41.2140 44.9700 90. 341.05 90. 71.05 0. 0. - 6 35 3 14.1293 41.1572 41.0600 90. 341.05 90. 71.05 0. 0. - 6 35 4 14.1488 41.2140 37.1500 90. 341.05 90. 71.05 0. 0. - 6 35 5 14.1293 41.1572 33.2400 90. 341.05 90. 71.05 0. 0. - 6 35 6 14.1488 41.2140 29.3300 90. 341.05 90. 71.05 0. 0. - 6 35 7 14.1293 41.1572 25.4200 90. 341.05 90. 71.05 0. 0. - 6 35 8 14.1488 41.2140 21.5100 90. 341.05 90. 71.05 0. 0. - 6 35 9 14.1293 41.1572 17.6000 90. 341.05 90. 71.05 0. 0. - 6 35 10 14.1488 41.2140 13.6900 90. 341.05 90. 71.05 0. 0. - 6 35 11 14.1293 41.1572 9.7800 90. 341.05 90. 71.05 0. 0. - 6 35 12 14.1488 41.2140 5.8700 90. 341.05 90. 71.05 0. 0. - 6 35 13 14.1293 41.1572 1.9600 90. 341.05 90. 71.05 0. 0. - 6 35 14 14.1488 41.2140 -1.9500 90. 341.05 90. 71.05 0. 0. - 6 35 15 14.1293 41.1572 -5.8600 90. 341.05 90. 71.05 0. 0. - 6 35 16 14.1488 41.2140 -9.7700 90. 341.05 90. 71.05 0. 0. - 6 35 17 14.1293 41.1572 -13.6800 90. 341.05 90. 71.05 0. 0. - 6 35 18 14.1488 41.2140 -17.5900 90. 341.05 90. 71.05 0. 0. - 6 35 19 14.1293 41.1572 -21.5000 90. 341.05 90. 71.05 0. 0. - 6 35 20 14.1488 41.2140 -25.4100 90. 341.05 90. 71.05 0. 0. - 6 35 21 14.1293 41.1572 -29.3200 90. 341.05 90. 71.05 0. 0. - 6 35 22 14.1488 41.2140 -33.2300 90. 341.05 90. 71.05 0. 0. - 6 35 23 14.1293 41.1572 -37.1400 90. 341.05 90. 71.05 0. 0. - 6 35 24 14.1488 41.2140 -41.0500 90. 341.05 90. 71.05 0. 0. - 6 35 25 14.1293 41.1572 -44.9600 90. 341.05 90. 71.05 0. 0. - 6 35 26 14.1488 41.2140 -48.8700 90. 341.05 90. 71.05 0. 0. - 6 36 1 7.1875 43.0721 48.8800 90. 350.53 90. 80.53 0. 0. - 6 36 2 7.1973 43.1313 44.9700 90. 350.53 90. 80.53 0. 0. - 6 36 3 7.1875 43.0721 41.0600 90. 350.53 90. 80.53 0. 0. - 6 36 4 7.1973 43.1313 37.1500 90. 350.53 90. 80.53 0. 0. - 6 36 5 7.1875 43.0721 33.2400 90. 350.53 90. 80.53 0. 0. - 6 36 6 7.1973 43.1313 29.3300 90. 350.53 90. 80.53 0. 0. - 6 36 7 7.1875 43.0721 25.4200 90. 350.53 90. 80.53 0. 0. - 6 36 8 7.1973 43.1313 21.5100 90. 350.53 90. 80.53 0. 0. - 6 36 9 7.1875 43.0721 17.6000 90. 350.53 90. 80.53 0. 0. - 6 36 10 7.1973 43.1313 13.6900 90. 350.53 90. 80.53 0. 0. - 6 36 11 7.1875 43.0721 9.7800 90. 350.53 90. 80.53 0. 0. - 6 36 12 7.1973 43.1313 5.8700 90. 350.53 90. 80.53 0. 0. - 6 36 13 7.1875 43.0721 1.9600 90. 350.53 90. 80.53 0. 0. - 6 36 14 7.1973 43.1313 -1.9500 90. 350.53 90. 80.53 0. 0. - 6 36 15 7.1875 43.0721 -5.8600 90. 350.53 90. 80.53 0. 0. - 6 36 16 7.1973 43.1313 -9.7700 90. 350.53 90. 80.53 0. 0. - 6 36 17 7.1875 43.0721 -13.6800 90. 350.53 90. 80.53 0. 0. - 6 36 18 7.1973 43.1313 -17.5900 90. 350.53 90. 80.53 0. 0. - 6 36 19 7.1875 43.0721 -21.5000 90. 350.53 90. 80.53 0. 0. - 6 36 20 7.1973 43.1313 -25.4100 90. 350.53 90. 80.53 0. 0. - 6 36 21 7.1875 43.0721 -29.3200 90. 350.53 90. 80.53 0. 0. - 6 36 22 7.1973 43.1313 -33.2300 90. 350.53 90. 80.53 0. 0. - 6 36 23 7.1875 43.0721 -37.1400 90. 350.53 90. 80.53 0. 0. - 6 36 24 7.1973 43.1313 -41.0500 90. 350.53 90. 80.53 0. 0. - 6 36 25 7.1875 43.0721 -44.9600 90. 350.53 90. 80.53 0. 0. - 6 36 26 7.1973 43.1313 -48.8700 90. 350.53 90. 80.53 0. 0. - 6 37 1 0.0000 43.5150 48.8800 90. 0.00 90. 90.00 0. 0. - 6 37 2 0.0000 43.5750 44.9700 90. 0.00 90. 90.00 0. 0. - 6 37 3 0.0000 43.5150 41.0600 90. 0.00 90. 90.00 0. 0. - 6 37 4 0.0000 43.5750 37.1500 90. 0.00 90. 90.00 0. 0. - 6 37 5 0.0000 43.5150 33.2400 90. 0.00 90. 90.00 0. 0. - 6 37 6 0.0000 43.5750 29.3300 90. 0.00 90. 90.00 0. 0. - 6 37 7 0.0000 43.5150 25.4200 90. 0.00 90. 90.00 0. 0. - 6 37 8 0.0000 43.5750 21.5100 90. 0.00 90. 90.00 0. 0. - 6 37 9 0.0000 43.5150 17.6000 90. 0.00 90. 90.00 0. 0. - 6 37 10 0.0000 43.5750 13.6900 90. 0.00 90. 90.00 0. 0. - 6 37 11 0.0000 43.5150 9.7800 90. 0.00 90. 90.00 0. 0. - 6 37 12 0.0000 43.5750 5.8700 90. 0.00 90. 90.00 0. 0. - 6 37 13 0.0000 43.5150 1.9600 90. 0.00 90. 90.00 0. 0. - 6 37 14 0.0000 43.5750 -1.9500 90. 0.00 90. 90.00 0. 0. - 6 37 15 0.0000 43.5150 -5.8600 90. 0.00 90. 90.00 0. 0. - 6 37 16 0.0000 43.5750 -9.7700 90. 0.00 90. 90.00 0. 0. - 6 37 17 0.0000 43.5150 -13.6800 90. 0.00 90. 90.00 0. 0. - 6 37 18 0.0000 43.5750 -17.5900 90. 0.00 90. 90.00 0. 0. - 6 37 19 0.0000 43.5150 -21.5000 90. 0.00 90. 90.00 0. 0. - 6 37 20 0.0000 43.5750 -25.4100 90. 0.00 90. 90.00 0. 0. - 6 37 21 0.0000 43.5150 -29.3200 90. 0.00 90. 90.00 0. 0. - 6 37 22 0.0000 43.5750 -33.2300 90. 0.00 90. 90.00 0. 0. - 6 37 23 0.0000 43.5150 -37.1400 90. 0.00 90. 90.00 0. 0. - 6 37 24 0.0000 43.5750 -41.0500 90. 0.00 90. 90.00 0. 0. - 6 37 25 0.0000 43.5150 -44.9600 90. 0.00 90. 90.00 0. 0. - 6 37 26 0.0000 43.5750 -48.8700 90. 0.00 90. 90.00 0. 0. - 6 38 1 -7.1875 43.0721 48.8800 90. 9.47 90. 99.47 0. 0. - 6 38 2 -7.1973 43.1313 44.9700 90. 9.47 90. 99.47 0. 0. - 6 38 3 -7.1875 43.0721 41.0600 90. 9.47 90. 99.47 0. 0. - 6 38 4 -7.1973 43.1313 37.1500 90. 9.47 90. 99.47 0. 0. - 6 38 5 -7.1875 43.0721 33.2400 90. 9.47 90. 99.47 0. 0. - 6 38 6 -7.1973 43.1313 29.3300 90. 9.47 90. 99.47 0. 0. - 6 38 7 -7.1875 43.0721 25.4200 90. 9.47 90. 99.47 0. 0. - 6 38 8 -7.1973 43.1313 21.5100 90. 9.47 90. 99.47 0. 0. - 6 38 9 -7.1875 43.0721 17.6000 90. 9.47 90. 99.47 0. 0. - 6 38 10 -7.1973 43.1313 13.6900 90. 9.47 90. 99.47 0. 0. - 6 38 11 -7.1875 43.0721 9.7800 90. 9.47 90. 99.47 0. 0. - 6 38 12 -7.1973 43.1313 5.8700 90. 9.47 90. 99.47 0. 0. - 6 38 13 -7.1875 43.0721 1.9600 90. 9.47 90. 99.47 0. 0. - 6 38 14 -7.1973 43.1313 -1.9500 90. 9.47 90. 99.47 0. 0. - 6 38 15 -7.1875 43.0721 -5.8600 90. 9.47 90. 99.47 0. 0. - 6 38 16 -7.1973 43.1313 -9.7700 90. 9.47 90. 99.47 0. 0. - 6 38 17 -7.1875 43.0721 -13.6800 90. 9.47 90. 99.47 0. 0. - 6 38 18 -7.1973 43.1313 -17.5900 90. 9.47 90. 99.47 0. 0. - 6 38 19 -7.1875 43.0721 -21.5000 90. 9.47 90. 99.47 0. 0. - 6 38 20 -7.1973 43.1313 -25.4100 90. 9.47 90. 99.47 0. 0. - 6 38 21 -7.1875 43.0721 -29.3200 90. 9.47 90. 99.47 0. 0. - 6 38 22 -7.1973 43.1313 -33.2300 90. 9.47 90. 99.47 0. 0. - 6 38 23 -7.1875 43.0721 -37.1400 90. 9.47 90. 99.47 0. 0. - 6 38 24 -7.1973 43.1313 -41.0500 90. 9.47 90. 99.47 0. 0. - 6 38 25 -7.1875 43.0721 -44.9600 90. 9.47 90. 99.47 0. 0. - 6 38 26 -7.1973 43.1313 -48.8700 90. 9.47 90. 99.47 0. 0. diff --git a/Euclid/ITSgeometry_5asymm.euc b/Euclid/ITSgeometry_5asymm.euc deleted file mode 100644 index c795654c4aa..00000000000 --- a/Euclid/ITSgeometry_5asymm.euc +++ /dev/null @@ -1,2092 +0,0 @@ -! -! Tracking Medium -! -TMED 1 'SI ' 1 'SI ' -TMED 2 'SPD SI CHIP ' 2 'SPD SI CHIP ' -TMED 3 'SPD SI BUS ' 3 'SPD SI BUS ' -TMED 4 'C (M55J) ' 4 'C (M55J) ' -TMED 5 'AIR ' 5 'AIR ' -TMED 6 'GEN AIR ' 6 'GEN AIR ' -TMED 7 'SDD SI CHIP ' 7 'SDD SI CHIP ' -TMED 9 'SDD C (M55J) ' 9 'SDD C (M55J) ' -TMED 10 'SDD AIR ' 10 'SDD AIR ' -TMED 11 'AL ' 11 'AL ' -TMED 12 'WATER ' 12 'WATER ' -TMED 14 'COPPER ' 14 'COPPER ' -TMED 15 'CERAMICS ' 15 'CERAMICS ' -TMED 20 'SSD C (M55J) ' 20 'SSD C (M55J) ' -TMED 21 'SSD AIR ' 21 'SSD AIR ' -TMED 25 'G10FR4 ' 25 'G10FR4 ' -TMED 52 'SPD SI CHIP ' 52 'SPD SI CHIP ' -TMED 54 'SPD C (M55J) ' 54 'SPD C (M55J) ' -TMED 55 'SPD AIR ' 55 'SPD AIR ' -TMED 56 'SPD KAPTON (POLYCH2)' 56 'SPD KAPTON (POLYCH2)' -TMED 61 'EPOXY ' 61 'EPOXY ' -TMED 62 'SILICON ' 62 'SILICON ' -TMED 63 'KAPTON-H (POLYCH2 ' 63 'KAPTON-H (POLYCH2 ' -TMED 64 'ALUMINUM ' 64 'ALUMINUM ' -TMED 65 'INOX ' 65 'INOX ' -TMED 68 'ROHACELL (Z,A ?) ' 68 'ROHACELL (Z,A ?) ' -TMED 69 'SDD C AL (M55J) ' 69 'SDD C AL (M55J) ' -TMED 70 'SDD KAPTON (POLYCH2)' 70 'SDD KAPTON (POLYCH2)' -TMED 71 'ITS SANDW A (Z,A ?) ' 71 'ITS SANDW A (Z,A ?) ' -TMED 72 'ITS SANDW B (Z,A ?) ' 72 'ITS SANDW B (Z,A ?) ' -TMED 73 'ITS SANDW C (Z,A ?) ' 73 'ITS SANDW C (Z,A ?) ' -TMED 74 'HEAT COND GLUE (Z,A)' 74 'HEAT COND GLUE (Z,A)' -TMED 75 'ELASTO SIL ' 75 'ELASTO SIL ' -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 'SPD BUS(AL+KPT+EPOX)' -! -! Reperes ITS12 -! -ROTM 104 90.0 252.0 90.0 342.0 0.0 0.0 -ROTM 66 90.0 57.26 90.0 147.26 0.0 0.0 -ROTM 62 90.0 325.0 90.0 55.0 0.0 0.0 -ROTM 63 90.0 310.0 90.0 40.0 0.0 0.0 -ROTM 32 90.0 40.0 90.0 130.0 0.0 0.0 -ROTM 64 90.0 107.63 90.0 197.63 0.0 0.0 -ROTM 70 90.0 229.63 90.0 319.63 0.0 0.0 -ROTM 74 90.0 319.0 90.0 49.0 0.0 0.0 -ROTM 75 90.0 49.0 90.0 139.0 0.0 0.0 -ROTM 77 90.0 116.63 90.0 206.63 0.0 0.0 -ROTM 79 90.0 238.63 90.0 328.63 0.0 0.0 -ROTM 80 90.0 328.0 90.0 58.0 0.0 0.0 -ROTM 41 90.0 58.0 90.0 148.0 0.0 0.0 -ROTM 81 90.0 247.63 90.0 337.63 0.0 0.0 -ROTM 82 90.0 125.63 90.0 215.63 0.0 0.0 -ROTM 83 90.0 337.0 90.0 67.0 0.0 0.0 -ROTM 43 90.0 66.91 90.0 156.91 0.0 0.0 -ROTM 84 90.0 318.3 90.0 48.3 0.0 0.0 -ROTM 1 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 85 90.0 275.41 90.0 5.41 0.0 0.0 -ROTM 86 90.0 186.0 90.0 276.0 0.0 0.0 -ROTM 87 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 39 90.0 72.0 90.0 162.0 0.0 0.0 -ROTM 11 90.0 342.0 90.0 72.0 0.0 0.0 -ROTM 3 90.0 73.5 90.0 163.5 0.0 0.0 -ROTM 88 90.0 57.41 90.0 147.41 0.0 0.0 -ROTM 89 90.0 333.0 90.0 63.0 0.0 0.0 -ROTM 90 90.0 351.0 90.0 81.0 0.0 0.0 -ROTM 92 90.0 27.0 90.0 117.0 0.0 0.0 -ROTM 93 90.0 18.0 90.0 108.0 0.0 0.0 -ROTM 94 90.0 9.0 90.0 99.0 0.0 0.0 -ROTM 95 90.0 327.0 90.0 57.0 0.0 0.0 -ROTM 67 90.0 130.01 90.0 220.01 0.0 0.0 -ROTM 96 90.0 40.63 90.0 130.63 0.0 0.0 -ROTM 68 90.0 287.63 90.0 17.63 0.0 0.0 -ROTM 97 90.0 228.4 90.0 318.4 0.0 0.0 -ROTM 69 90.0 139.0 90.0 229.0 0.0 0.0 -ROTM 98 90.0 49.63 90.0 139.63 0.0 0.0 -ROTM 99 90.0 296.63 90.0 26.63 0.0 0.0 -ROTM 100 90.0 237.4 90.0 327.4 0.0 0.0 -ROTM 71 90.0 147.99 90.0 237.99 0.0 0.0 -ROTM 101 90.0 58.63 90.0 148.63 0.0 0.0 -ROTM 72 90.0 305.63 90.0 35.63 0.0 0.0 -ROTM 102 90.0 246.4 90.0 336.4 0.0 0.0 -ROTM 73 90.0 157.0 90.0 247.0 0.0 0.0 -ROTM 103 90.0 67.3 90.0 157.3 0.0 0.0 -ROTM 105 90.0 5.41 90.0 95.41 0.0 0.0 -ROTM 78 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 76 90.0 162.0 90.0 252.0 0.0 0.0 -ROTM 2 90.0 37.5 90.0 127.5 0.0 0.0 -ROTM 4 90.0 109.5 90.0 199.5 0.0 0.0 -ROTM 5 90.0 181.5 90.0 271.5 0.0 0.0 -ROTM 6 90.0 217.5 90.0 307.5 0.0 0.0 -ROTM 7 90.0 253.5 90.0 343.5 0.0 0.0 -ROTM 8 90.0 289.5 90.0 19.5 0.0 0.0 -ROTM 9 90.0 325.5 90.0 55.5 0.0 0.0 -ROTM 10 90.0 1.5 90.0 91.5 0.0 0.0 -ROTM 12 90.0 277.0 90.0 7.0 0.0 0.0 -ROTM 13 90.0 97.0 90.0 187.0 0.0 0.0 -ROTM 14 90.0 1.5 90.0 91.5 180.0 0.0 -ROTM 15 90.0 37.5 90.0 127.5 180.0 0.0 -ROTM 16 90.0 73.5 90.0 163.5 180.0 0.0 -ROTM 17 90.0 109.5 90.0 199.5 180.0 0.0 -ROTM 18 90.0 145.5 90.0 235.5 180.0 0.0 -ROTM 19 90.0 181.5 90.0 271.5 180.0 0.0 -ROTM 20 90.0 217.5 90.0 307.5 180.0 0.0 -ROTM 21 90.0 253.5 90.0 343.5 180.0 0.0 -ROTM 22 90.0 289.5 90.0 19.5 180.0 0.0 -ROTM 23 90.0 325.5 90.0 55.5 180.0 0.0 -ROTM 24 90.0 186.99 90.0 276.99 0.0 0.0 -ROTM 25 90.0 199.5 90.0 289.5 0.0 0.0 -ROTM 26 90.0 208.5 90.0 298.5 0.0 0.0 -ROTM 27 90.0 298.5 90.0 28.5 0.0 0.0 -ROTM 28 90.0 307.5 90.0 37.5 0.0 0.0 -ROTM 29 90.0 226.5 90.0 316.5 0.0 0.0 -ROTM 30 90.0 316.5 90.0 46.5 0.0 0.0 -ROTM 31 90.0 235.5 90.0 325.5 0.0 0.0 -ROTM 33 90.0 244.49 90.0 334.49 0.0 0.0 -ROTM 34 90.0 334.5 90.0 64.5 0.0 0.0 -ROTM 35 90.0 343.5 90.0 73.5 0.0 0.0 -ROTM 36 90.0 262.49 90.0 352.49 0.0 0.0 -ROTM 37 90.0 352.5 90.0 82.5 0.0 0.0 -ROTM 38 90.0 271.49 90.0 1.49 0.0 0.0 -ROTM 40 90.0 280.5 90.0 10.5 0.0 0.0 -ROTM 42 90.0 10.5 90.0 100.5 0.0 0.0 -ROTM 44 90.0 19.5 90.0 109.5 0.0 0.0 -ROTM 45 90.0 28.5 90.0 118.5 0.0 0.0 -ROTM 46 90.0 46.5 90.0 136.5 0.0 0.0 -ROTM 47 90.0 55.5 90.0 145.5 0.0 0.0 -ROTM 48 90.0 64.5 90.0 154.5 0.0 0.0 -ROTM 49 90.0 82.5 90.0 172.5 0.0 0.0 -ROTM 50 90.0 91.47 90.0 181.47 0.0 0.0 -ROTM 51 90.0 6.99 90.0 96.99 0.0 0.0 -ROTM 52 90.0 118.5 90.0 208.5 0.0 0.0 -ROTM 53 90.0 127.5 90.0 217.5 0.0 0.0 -ROTM 54 90.0 136.5 90.0 226.5 0.0 0.0 -ROTM 55 90.0 145.5 90.0 235.5 0.0 0.0 -ROTM 56 90.0 154.5 90.0 244.5 0.0 0.0 -ROTM 57 90.0 163.5 90.0 253.5 0.0 0.0 -ROTM 58 90.0 172.5 90.0 262.5 0.0 0.0 -ROTM 59 90.0 100.5 90.0 190.5 0.0 0.0 -ROTM 60 90.0 190.5 90.0 280.5 0.0 0.0 -ROTM 61 90.0 184.99 90.0 274.99 0.0 0.0 -ROTM 130 90.0 324.0 90.0 54.0 0.0 0.0 -ROTM 117 90.0 288.0 90.0 18.0 0.0 0.0 -ROTM 106 90.0 36.0 90.0 126.0 0.0 0.0 -ROTM 107 90.0 108.0 90.0 198.0 0.0 0.0 -ROTM 65 90.0 144.0 90.0 234.0 0.0 0.0 -ROTM 91 90.0 216.0 90.0 306.0 0.0 0.0 -ROTM 108 90.0 324.0 90.0 54.0 180.0 0.0 -ROTM 109 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 110 90.0 36.0 90.0 126.0 180.0 0.0 -ROTM 111 90.0 72.0 90.0 162.0 180.0 0.0 -ROTM 112 90.0 108.0 90.0 198.0 180.0 0.0 -ROTM 113 90.0 144.0 90.0 234.0 180.0 0.0 -ROTM 114 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 115 90.0 216.0 90.0 306.0 180.0 0.0 -ROTM 116 90.0 252.0 90.0 342.0 180.0 0.0 -ROTM 118 90.0 288.0 90.0 18.0 180.0 0.0 -ROTM 119 90.0 360.0 90.0 90.0 0.0 0.0 -! -! Reperes Services -! -ROTM 212 90 0 90 90 180 0 -! -! Reperes ITS34 -! -ROTM 312 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 337 111.0 300.0 21.0 300.0 90.0 30.0 -ROTM 338 69.0 240.0 159.0 240.0 90.0 150.0 -ROTM 339 111.0 240.0 21.0 240.0 90.0 150.0 -ROTM 340 69.0 300.0 159.0 300.0 90.0 30.0 -ROTM 341 128.0 0.0 38.0 0.0 90.0 270.0 -ROTM 342 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 343 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 344 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 345 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 346 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 347 90.0 240.0 90.0 150.0 0.0 0.0 -ROTM 348 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 349 90.0 235.0 90.0 145.0 0.0 0.0 -ROTM 351 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 352 0.0 0.0 90.0 0.0 90.0 90.0 -ROTM 353 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 354 90.0 120.0 90.0 30.0 0.0 0.0 -ROTM 355 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 301 0.0 0.0 90.0 90.0 90.0 180.0 -ROTM 302 0.0 0.0 90.0 90.0 90.0 0.0 -ROTM 303 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 304 180.0 0.0 90.0 90.0 90.0 180.0 -ROTM 321 90.0 12.86 90.0 102.86 0.0 0.0 -ROTM 305 90.0 347.14 90.0 77.14 0.0 0.0 -ROTM 306 90.0 321.43 90.0 51.43 0.0 0.0 -ROTM 307 90.0 295.71 90.0 25.71 0.0 0.0 -ROTM 356 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 308 90.0 244.29 90.0 334.29 0.0 0.0 -ROTM 309 90.0 218.57 90.0 308.57 0.0 0.0 -ROTM 386 90.0 192.86 90.0 282.86 0.0 0.0 -ROTM 310 90.0 167.14 90.0 257.14 0.0 0.0 -ROTM 311 90.0 141.43 90.0 231.43 0.0 0.0 -ROTM 313 90.0 115.71 90.0 205.71 0.0 0.0 -ROTM 350 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 314 90.0 335.45 90.0 65.45 0.0 0.0 -ROTM 315 90.0 319.09 90.0 49.09 0.0 0.0 -ROTM 316 90.0 302.73 90.0 32.73 0.0 0.0 -ROTM 317 90.0 286.36 90.0 16.36 0.0 0.0 -ROTM 319 90.0 253.64 90.0 343.64 0.0 0.0 -ROTM 320 90.0 237.27 90.0 327.27 0.0 0.0 -ROTM 322 90.0 220.91 90.0 310.91 0.0 0.0 -ROTM 323 90.0 204.55 90.0 294.55 0.0 0.0 -ROTM 324 90.0 188.18 90.0 278.18 0.0 0.0 -ROTM 325 90.0 171.82 90.0 261.82 0.0 0.0 -ROTM 326 90.0 155.45 90.0 245.45 0.0 0.0 -ROTM 327 90.0 139.09 90.0 229.09 0.0 0.0 -ROTM 328 90.0 122.73 90.0 212.73 0.0 0.0 -ROTM 329 90.0 106.36 90.0 196.36 0.0 0.0 -ROTM 330 90.0 73.64 90.0 163.64 0.0 0.0 -ROTM 366 90.0 57.27 90.0 147.27 0.0 0.0 -ROTM 331 90.0 40.91 90.0 130.91 0.0 0.0 -ROTM 332 90.0 24.55 90.0 114.55 0.0 0.0 -ROTM 333 90.0 38.57 90.0 128.57 0.0 0.0 -ROTM 334 90.0 351.82 90.0 81.82 0.0 0.0 -ROTM 335 90.0 8.18 90.0 98.18 0.0 0.0 -ROTM 336 90.0 64.29 90.0 154.29 0.0 0.0 -ROTM 318 90.0 270.0 90.0 360.0 0.0 0.0 -! -! Reperes ITS56 -! -ROTM 501 90.0 190.59 90.0 280.59 0.0 0.0 -ROTM 502 90.0 201.18 90.0 291.18 0.0 0.0 -ROTM 503 90.0 211.76 90.0 301.76 0.0 0.0 -ROTM 504 90.0 222.35 90.0 312.35 0.0 0.0 -ROTM 505 90.0 232.94 90.0 322.94 0.0 0.0 -ROTM 506 90.0 243.53 90.0 333.53 0.0 0.0 -ROTM 507 90.0 254.12 90.0 344.12 0.0 0.0 -ROTM 508 90.0 264.71 90.0 354.71 0.0 0.0 -ROTM 509 90.0 275.29 90.0 5.29 0.0 0.0 -ROTM 510 90.0 285.88 90.0 15.88 0.0 0.0 -ROTM 511 90.0 296.47 90.0 26.47 0.0 0.0 -ROTM 512 90.0 307.06 90.0 37.06 0.0 0.0 -ROTM 513 90.0 317.65 90.0 47.65 0.0 0.0 -ROTM 514 90.0 328.24 90.0 58.24 0.0 0.0 -ROTM 515 90.0 338.82 90.0 68.82 0.0 0.0 -ROTM 516 90.0 349.41 90.0 79.41 0.0 0.0 -ROTM 517 90.0 10.59 90.0 100.59 0.0 0.0 -ROTM 518 90.0 21.18 90.0 111.18 0.0 0.0 -ROTM 519 90.0 31.76 90.0 121.76 0.0 0.0 -ROTM 520 90.0 42.35 90.0 132.35 0.0 0.0 -ROTM 521 90.0 52.94 90.0 142.94 0.0 0.0 -ROTM 522 90.0 63.53 90.0 153.53 0.0 0.0 -ROTM 523 90.0 74.12 90.0 164.12 0.0 0.0 -ROTM 524 90.0 84.71 90.0 174.71 0.0 0.0 -ROTM 525 90.0 95.29 90.0 185.29 0.0 0.0 -ROTM 526 90.0 105.88 90.0 195.88 0.0 0.0 -ROTM 527 90.0 116.47 90.0 206.47 0.0 0.0 -ROTM 528 90.0 127.06 90.0 217.06 0.0 0.0 -ROTM 529 90.0 137.65 90.0 227.65 0.0 0.0 -ROTM 530 90.0 148.24 90.0 238.24 0.0 0.0 -ROTM 531 90.0 158.82 90.0 248.82 0.0 0.0 -ROTM 532 90.0 169.41 90.0 259.41 0.0 0.0 -ROTM 533 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 534 90.0 189.47 90.0 279.47 0.0 0.0 -ROTM 535 90.0 198.95 90.0 288.95 0.0 0.0 -ROTM 536 90.0 208.42 90.0 298.42 0.0 0.0 -ROTM 537 90.0 217.89 90.0 307.89 0.0 0.0 -ROTM 538 90.0 227.37 90.0 317.37 0.0 0.0 -ROTM 539 90.0 236.84 90.0 326.84 0.0 0.0 -ROTM 540 90.0 246.32 90.0 336.32 0.0 0.0 -ROTM 541 90.0 255.79 90.0 345.79 0.0 0.0 -ROTM 542 90.0 265.26 90.0 355.26 0.0 0.0 -ROTM 543 90.0 274.74 90.0 4.74 0.0 0.0 -ROTM 544 90.0 284.21 90.0 14.21 0.0 0.0 -ROTM 545 90.0 293.68 90.0 23.68 0.0 0.0 -ROTM 546 90.0 303.16 90.0 33.16 0.0 0.0 -ROTM 547 90.0 312.63 90.0 42.63 0.0 0.0 -ROTM 548 90.0 322.11 90.0 52.11 0.0 0.0 -ROTM 549 90.0 331.58 90.0 61.58 0.0 0.0 -ROTM 550 90.0 341.05 90.0 71.05 0.0 0.0 -ROTM 551 90.0 350.53 90.0 80.53 0.0 0.0 -ROTM 552 90.0 9.47 90.0 99.47 0.0 0.0 -ROTM 553 90.0 18.95 90.0 108.95 0.0 0.0 -ROTM 554 90.0 28.42 90.0 118.42 0.0 0.0 -ROTM 555 90.0 37.89 90.0 127.89 0.0 0.0 -ROTM 556 90.0 47.37 90.0 137.37 0.0 0.0 -ROTM 557 90.0 56.84 90.0 146.84 0.0 0.0 -ROTM 558 90.0 66.32 90.0 156.32 0.0 0.0 -ROTM 559 90.0 75.79 90.0 165.79 0.0 0.0 -ROTM 560 90.0 85.26 90.0 175.26 0.0 0.0 -ROTM 561 90.0 94.74 90.0 184.74 0.0 0.0 -ROTM 562 90.0 104.21 90.0 194.21 0.0 0.0 -ROTM 563 90.0 113.68 90.0 203.68 0.0 0.0 -ROTM 564 90.0 123.16 90.0 213.16 0.0 0.0 -ROTM 565 90.0 132.63 90.0 222.63 0.0 0.0 -ROTM 566 90.0 142.11 90.0 232.11 0.0 0.0 -ROTM 567 90.0 151.58 90.0 241.58 0.0 0.0 -ROTM 568 90.0 161.05 90.0 251.05 0.0 0.0 -ROTM 569 90.0 170.53 90.0 260.53 0.0 0.0 -ROTM 570 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 571 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 572 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 573 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 583 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 575 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 576 65.71 300.0 90.0 30.0 24.29 120.0 -ROTM 577 114.29 300.0 90.0 30.0 155.71 120.0 -ROTM 579 65.71 240.0 90.0 150.0 24.29 60.0 -ROTM 580 114.29 240.0 90.0 150.0 155.71 60.0 -ROTM 581 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 586 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 584 90.0 180.0 180.0 0.0 90.0 90.0 -ROTM 574 90.0 360.0 90.0 90.0 0.0 0.0 -ROTM 578 132.46 0.0 90.0 90.0 42.46 360.0 -! -! Reperes support SSD -! -ROTM 701 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 702 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 703 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 704 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 705 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 706 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 707 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 708 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 709 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 710 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 711 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 712 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 713 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 714 90.0 328.4 90.0 58.4 180.0 0.0 -ROTM 715 90.0 28.4 90.0 118.4 180.0 0.0 -ROTM 716 90.0 88.4 90.0 178.4 180.0 0.0 -ROTM 717 90.0 148.4 90.0 238.4 180.0 0.0 -ROTM 718 90.0 208.4 90.0 298.4 180.0 0.0 -ROTM 719 90.0 268.4 90.0 358.4 180.0 0.0 -ROTM 720 90.0 28.4 90.0 118.4 0.0 0.0 -ROTM 721 90.0 88.4 90.0 178.4 0.0 0.0 -ROTM 722 90.0 148.4 90.0 238.4 0.0 0.0 -ROTM 723 90.0 208.4 90.0 298.4 0.0 0.0 -ROTM 724 90.0 268.4 90.0 358.4 0.0 0.0 -ROTM 725 90.0 328.4 90.0 58.4 0.0 0.0 -ROTM 726 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 727 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 728 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 729 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 733 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 730 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 731 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 768 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 732 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 734 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 798 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 735 90.0 47.5 90.0 137.5 0.0 0.0 -! -! Reperes support SDD -! -ROTM 846 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 851 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 853 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 856 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 857 90.0 5.0 90.0 95.0 180.0 0.0 -ROTM 858 90.0 65.0 90.0 155.0 180.0 0.0 -ROTM 859 90.0 305.0 90.0 35.0 180.0 0.0 -ROTM 860 90.0 245.0 90.0 335.0 180.0 0.0 -ROTM 861 90.0 185.0 90.0 275.0 180.0 0.0 -ROTM 862 90.0 125.0 90.0 215.0 180.0 0.0 -ROTM 863 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 864 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 865 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 867 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 869 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 870 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 871 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 872 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 873 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 874 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 875 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 876 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 877 90.0 185.0 90.0 275.0 0.0 0.0 -ROTM 879 90.0 125.0 90.0 215.0 0.0 0.0 -ROTM 880 90.0 65.0 90.0 155.0 0.0 0.0 -ROTM 881 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 882 90.0 245.0 90.0 335.0 0.0 0.0 -ROTM 898 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 883 90.0 47.5 90.0 137.5 0.0 0.0 -ROTM 884 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 885 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 887 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 888 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 889 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 890 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 891 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 892 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 868 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 893 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 894 90.0 270.0 0.0 0.0 90.0 180.0 -ROTM 895 90.0 286.36 0.0 0.0 90.0 196.36 -ROTM 896 90.0 302.73 0.0 0.0 90.0 212.73 -ROTM 897 90.0 319.09 0.0 0.0 90.0 229.09 -ROTM 899 90.0 335.45 0.0 0.0 90.0 245.45 -ROTM 900 90.0 351.82 0.0 0.0 90.0 261.82 -ROTM 901 90.0 8.18 0.0 0.0 90.0 278.18 -ROTM 902 90.0 24.55 0.0 0.0 90.0 294.55 -ROTM 903 90.0 40.91 0.0 0.0 90.0 310.91 -ROTM 904 90.0 57.27 0.0 0.0 90.0 327.27 -ROTM 905 90.0 73.64 0.0 0.0 90.0 343.64 -ROTM 906 90.0 90.0 0.0 0.0 90.0 360.0 -ROTM 907 90.0 106.36 0.0 0.0 90.0 16.36 -ROTM 908 90.0 122.73 0.0 0.0 90.0 32.73 -ROTM 909 90.0 139.09 0.0 0.0 90.0 49.09 -ROTM 910 90.0 155.45 0.0 0.0 90.0 65.45 -ROTM 911 90.0 171.82 0.0 0.0 90.0 81.82 -ROTM 912 90.0 188.18 0.0 0.0 90.0 98.18 -ROTM 913 90.0 204.55 0.0 0.0 90.0 114.55 -ROTM 914 90.0 220.91 0.0 0.0 90.0 130.91 -ROTM 915 90.0 237.27 0.0 0.0 90.0 147.27 -ROTM 916 90.0 253.64 0.0 0.0 90.0 163.64 -ROTM 917 90.0 295.71 0.0 0.0 90.0 205.71 -ROTM 918 90.0 321.43 0.0 0.0 90.0 231.43 -ROTM 919 90.0 347.14 0.0 0.0 90.0 257.14 -ROTM 920 90.0 12.86 0.0 0.0 90.0 282.86 -ROTM 921 90.0 38.57 0.0 0.0 90.0 308.57 -ROTM 922 90.0 64.29 0.0 0.0 90.0 334.29 -ROTM 923 90.0 115.71 0.0 0.0 90.0 25.71 -ROTM 924 90.0 141.43 0.0 0.0 90.0 51.43 -ROTM 925 90.0 167.14 0.0 0.0 90.0 77.14 -ROTM 926 90.0 192.86 0.0 0.0 90.0 102.86 -ROTM 927 90.0 218.57 0.0 0.0 90.0 128.57 -ROTM 928 90.0 244.29 0.0 0.0 90.0 154.29 -ROTM 929 90.0 120.0 90.0 210.0 0.0 0.0 -ROTM 878 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 930 90.0 240.0 90.0 330.0 0.0 0.0 -ROTM 931 90.0 60.0 90.0 150.0 180.0 0.0 -ROTM 932 90.0 120.0 90.0 210.0 180.0 0.0 -ROTM 933 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 934 90.0 240.0 90.0 330.0 180.0 0.0 -ROTM 935 90.0 300.0 90.0 30.0 180.0 0.0 -! -! REPERES GENERAUX -! -! -! VOLUMES GENERAUX -! -VOLU 'ITSV' 'PCON' 5 39 - 0. 360. 12. -289.1 46. 85. -284. 46. 85. -284. - 46. 56.1 -100.7 46. 56.1 -77.2 46. 56.1 -40. - 3.295 56.1 40. 3.295 56.1 77.2 46. 56.1 100.7 - 46. 56.1 284. 62. 66. 284. 62. 85. 288.1 62.4 85. -VOLU 'ITSD' 'PCON' 5 15 - 0. 360. 4. -77.2 46. 52. -40. 3.3 52. 40. - 3.3 52. 77.2 46. 52. -! -! VOLUMES ITS12 ! -VOLU 'IT12' 'PCON' 55 21 - 0 360 6 -31 3.7 9.13 -23 3.7 9.13 -23 3.7 9 23 3.7 9 23 3.7 9.13 31 3.7 - 9.13 -VOLU 'I150' 'TUBS' 55 5 - 3.7 7.6 4 58 100 -VOLU 'I132' 'TUBS' 55 5 - 3.7 7.6 23 58 100 -VOLU 'I139' 'TUBS' 54 5 - 0.05 0.11 2.5 0 75 -VOLU 'I141' 'BOX ' 54 3 - 0.5359 0.03 2.5 -VOLU 'I142' 'TUBS' 54 5 - 0.05 0.11 2.5 0 157 -VOLU 'I143' 'BOX ' 54 3 - 0.2497 0.03 2.5 -VOLU 'I144' 'TUBS' 54 5 - 0.01 0.07 2.5 0 148 -VOLU 'I145' 'BOX ' 54 3 - 0.705 0.03 2.5 -VOLU 'I146' 'TUBS' 54 5 - 0.05 0.11 2.5 0 161 -VOLU 'I147' 'BOX ' 54 3 - 0.2433 0.03 2.5 -VOLU 'I149' 'BOX ' 54 3 - 1.4966 0.03 2.5 -VOLU 'I148' 'TUBS' 54 5 - 0.01 0.07 2.5 0 43 -VOLU 'I133' 'TUBS' 54 5 - 0.05 0.11 2.5 0 84 -VOLU 'I134' 'BOX ' 54 3 - 0.3041 0.03 2.5 -VOLU 'I135' 'TUBS' 54 5 - 0.05 0.11 2.5 0 90 -VOLU 'I136' 'BOX ' 54 3 - 0.03 0.0695 2.5 -VOLU 'I137' 'TUBS' 54 5 - 0.01 0.07 2.5 0 108 -VOLU 'I138' 'BOX ' 54 3 - 0.6229 0.03 2.5 -VOLU 'I140' 'BOX ' 54 3 - 1.3438 0.03 2.5 -VOLU 'I166' 'TUBS' 64 5 - 6.6 7.6 0.5 0 9 -VOLU 'I167' 'TUBS' 64 5 - 3.5 5.6 0.55 0 38 -VOLU 'I179' 'BOX ' 56 3 - 0.64 0.01 4 -VOLU 'I169' 'TUBE' 65 3 - 0 0.075 0.8 -VOLU 'I171' 'TUBE' 75 3 - 0 0.18 3 -VOLU 'I173' 'TUBE' 75 3 - 0 0.18 0.8 -VOLU 'I176' 'TUBE' 75 3 - 0 0.5 1.5 -VOLU 'I125' 'BOX ' 61 3 - 0.15 0.005 23 -VOLU 'I122' 'BOX ' 65 3 - 0.09 0.0335 23 -VOLU 'I124' 'BOX ' 74 3 - 0.15 0.0075 23 -VOLU 'I120' 'BOX ' 54 3 - 1.497 0.01 23 -VOLU 'I100' 'TUBS' 54 5 - 0.05 0.07 23 0 84 -VOLU 'I101' 'BOX ' 54 3 - 0.0676 0.01 23 -VOLU 'I102' 'BOX ' 54 3 - 0.01 0.0575 23 -VOLU 'I103' 'BOX ' 54 3 - 0.15 0.01 23 -VOLU 'I104' 'TUBS' 54 5 - 0.05 0.07 23 0 90 -VOLU 'I105' 'BOX ' 54 3 - 0.01 0.0695 23 -VOLU 'I106' 'TUBS' 54 5 - 0.05 0.07 23 0 108 -VOLU 'I107' 'BOX ' 54 3 - 0.25 0.01 23 -VOLU 'I108' 'BOX ' 54 3 - 0.202 0.01 23 -VOLU 'I109' 'TUBS' 54 5 - 0.05 0.07 23 0 75 -VOLU 'I110' 'BOX ' 54 3 - 1.3435 0.01 23 -VOLU 'I111' 'BOX ' 54 3 - 0.079 0.01 23 -VOLU 'I112' 'BOX ' 54 3 - 0.2855 0.01 23 -VOLU 'I116' 'TUBS' 54 5 - 0.05 0.07 23 0 157 -VOLU 'I115' 'BOX ' 54 3 - 0.2505 0.01 23 -VOLU 'I114' 'TUBS' 54 5 - 0.05 0.07 23 0 148 -VOLU 'I113' 'BOX ' 54 3 - 0.249 0.01 23 -VOLU 'I117' 'TUBS' 54 5 - 0.05 0.07 23 0 161 -VOLU 'I118' 'BOX ' 54 3 - 0.243 0.01 23 -VOLU 'I119' 'TUBS' 54 5 - 0.05 0.07 23 0 42 -VOLU 'I186' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I131' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I168' 'TUBS' 12 5 - 3.7 5.4 0.35 2 36 -VOLU 'I170' 'TUBE' 12 3 - 0 0.0746 0.8 -VOLU 'I172' 'TUBE' 12 3 - 0 0.1 3 -VOLU 'I174' 'TUBE' 12 3 - 0 0.1 0.8 -VOLU 'I175' 'TUBE' 64 3 - 0.07 0.125 0.3 -VOLU 'I177' 'TUBE' 12 3 - 0 0.3 1.5 -VOLU 'I178' 'TUBE' 64 3 - 0.26 0.32 0.55 -VOLU 'I123' 'BOX ' 12 3 - 0.0865 0.03 23 -VOLU 'I183' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I185' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I184' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I182' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS1' 'BOX ' 1 3 - 0.64 0.0075 4.19 -VOLU 'I130' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I129' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I128' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I127' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS2' 'BOX ' 1 3 - 0.64 0.0075 4.19 -! -! VOLUMES ITS34 -! -VOLU 'IT34' 'PCON' 10 21 - 0 360 6 -34.65 23.495 28.5 -23.7 23.495 28.5 -23.7 14.595 28.5 23.7 14.595 - 28.5 23.7 23.495 28.5 34.65 23.495 28.5 -VOLU 'I048' 'BOX ' 10 3 - 3.2 2 34.65 -VOLU 'I005' 'BOX ' 10 3 - 3.63 0.135 30.385 -VOLU 'I047' 'BOX ' 10 3 - 3.2 2 23.7 -VOLU 'I004' 'BOX ' 10 3 - 3.63 0.135 23.05 -VOLU 'I024' 'BOX ' 10 3 - 3.2 2 2.725 -VOLU 'I018' 'BOX ' 10 3 - 3.2 2 3.65 -VOLU 'I302' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I402' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I025' 'TRD1' 9 4 - 0.2 0.1815 2.725 0.015 -VOLU 'I026' 'TRD1' 9 4 - 0.183 0.165 2.725 0.015 -VOLU 'I021' 'TRD1' 9 4 - 2.23 2.1 0.05 0.03 -VOLU 'I023' 'TRD1' 9 4 - 2.615 2.465 0.06 0.04 -VOLU 'I022' 'TRD1' 9 4 - 2.1 2 0.06 0.04 -VOLU 'I028' 'BOX ' 64 3 - 2.15 0.2 0.85 -VOLU 'I029' 'BOX ' 64 3 - 1.25 0.6 0.075 -VOLU 'I030' 'TRD1' 64 4 - 1.25 0.1 0.075 1 -VOLU 'I027' 'TRAP' 64 11 - 1.6 7 0 0.075 0.775 0.775 0 0.075 0.376 0.376 0 -VOLU 'I032' 'TUBE' 12 3 - 0 0.093 2.725 -VOLU 'I031' 'TUBE' 65 3 - 0.093 0.1 2.725 -VOLU 'I046' 'BOX ' 70 3 - 0.7 0.002 2.725 -VOLU 'I019' 'TRD1' 9 4 - 0.2 0.182 3.65 0.015 -VOLU 'I020' 'TRD1' 9 4 - 0.183 0.165 3.65 0.015 -VOLU 'I033' 'BOX ' 9 3 - 0.3 0.05 0.15 -VOLU 'I036' 'BOX ' 9 3 - 0.2 0.01 0.05 -VOLU 'I034' 'TUBE' 9 3 - 0 0.05 0.225 -VOLU 'I035' 'TUBE' 9 3 - 0.1 0.15 0.2 -VOLU 'I045' 'BOX ' 70 3 - 0.7 0.002 3.65 -VOLU 'I038' 'TUBE' 12 3 - 0 0.093 3.65 -VOLU 'I037' 'TUBE' 65 3 - 0.093 0.1 3.65 -VOLU 'I039' 'BOX ' 69 3 - 1 0.01 3.6 -VOLU 'I040' 'BOX ' 69 3 - 0.25 0.01 3.4 -VOLU 'I041' 'TUBS' 69 5 - 0.1 0.12 3.4 90 320 -VOLU 'I042' 'BOX ' 7 3 - 0.4 0.015 0.4 -VOLU 'I043' 'BOX ' 7 3 - 0.25 0.015 0.25 -VOLU 'I044' 'BOX ' 70 3 - 0.75 0.002 3.4 -VOLU 'I303' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'I403' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'ITS3' 'BOX ' 1 3 - 3.5 0.014 3.763 -VOLU 'ITS4' 'BOX ' 1 3 - 3.5 0.014 3.763 -! -! VOLUMES ITS56 -! -VOLU 'IT56' 'PCON' 21 36 - 0 360 11 -57.5 43.5 48 -51.365 43.5 48 -51.365 39 48 -45.4 39 48 -45.4 - 38.9 48 0 38.9 48 45.22 38.9 48 45.22 39 48 51.3651 39 48 51.3651 43.5 - 48 56.96 43.5 48 -VOLU 'I570' 'BOX ' 5 3 - 3.4 1.955 57.13 -VOLU 'I569' 'BOX ' 5 3 - 3.75 0.045 50.975 -VOLU 'I565' 'BOX ' 5 3 - 3.75 0.045 45.21 -VOLU 'I571' 'BOX ' 5 3 - 3.4 1.955 51.265 -VOLU 'I553' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I523' 'BOX ' 5 3 - 3.405 1.955 1.955 -VOLU 'I566' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I568' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I562' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I564' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I544' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I516' 'BOX ' 5 3 - 3.41 1.955 1.955 -VOLU 'I559' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I560' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I558' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I557' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I556' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I554' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I555' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I561' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I519' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I521' 'BOX ' 1 3 - 0.304 0.0275 0.432 -VOLU 'I520' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I518' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I522' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I542' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I541' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I543' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I537' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I538' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I536' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I535' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I534' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I540' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I539' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'ITS6' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'ITS5' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'I550' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I551' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I549' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I548' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I547' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I545' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I546' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I552' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I515' 'BOX ' 1 3 - 0.304 0.0275 0.4322 -VOLU 'I513' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I514' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I512' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I528' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I527' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I526' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I525' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I524' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I529' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'I530' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I517' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I531' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I532' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I533' 'BOX ' 4 3 - 0.3 0.15 0.15 -! -! VOLUMES SUPPORT SSD -! -! modifie y.andres 29/10/99 -! modifie r.barbera 23/04/01 -VOLU 'IS01' 'PCON' 5 39 - 0 360 12 -77.2 46.05 47 -61.2 28.5 47 -57.5 28.5 47 -57.5 28.5 43.5 -51.365 - 28.5 43.5 -51.365 28.5 38.9 51.3651 28.5 38.9 51.3651 28.5 43.5 56.96 28.5 - 43.5 56.96 28.5 47 60.66 28.5 47 76.66 46.05 47 -!VOLU 'IS01' 'PCON' 21 39 -! 0 360 12 -77.2 44.5 47 -60.7 28 47 -57.5 28 47 -57.5 28 43.58 -51.365 28 -! 43.58 -51.365 28 39.08 50.825 28 39.08 50.825 28 43.58 56.96 28 43.58 56.96 -! 28 47 60.16 28 47 76.66 44.5 47 -VOLU 'I212' 'PCON' 73 21 - 0 360 6 -75.2 44.5 47 -73.5 44.5 47 -72.7819 44.5 46.2819 -59.5 31.2181 - 33 -59.5 28 33 -57 28 30.5 -VOLU 'I210' 'TUBE' 73 3 - 29.82 30.5 56.3 -VOLU 'I211' 'TUBE' 20 3 - 28 29.82 0.5 -VOLU 'I217' 'TUBE' 25 3 - 37.35 38.25 1 -VOLU 'I218' 'TUBE' 65 3 - 38.25 39.08 1 -VOLU 'I219' 'TUBE' 25 3 - 41.85 42.75 1 -VOLU 'I220' 'TUBE' 65 3 - 42.75 43.58 1 -VOLU 'I214' 'TUBE' 25 3 - 42.1 42.5 1.25 -VOLU 'I213' 'TUBE' 25 3 - 37.1 37.5 1.25 -VOLU 'I215' 'PCON' 21 18 - 0 25 5 -75.2 44.5 44.5 -68.7 37 44.5 -68.5 37 44.5 -68.5 37 42.1 -63.5 - 37 42.1 -VOLU 'I216' 'PCON' 73 30 - 0 3.2 9 -16.45 30.5 33.5 -7.85 30.5 33.5 -7.85 30.5 41.85 -5.85 30.5 41.85 - -5.85 30.5 36.5 -5 30.5 36.5 -2 33.0173 36.5 -2 33.0173 37.35 0 34.6955 - 37.35 -! -! VOLUMES SUPPORT SDD -! -! modifie y.andres 29/10/99 -VOLU 'IS02' 'PCON' 5 39 - 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 23.495 -23.7 10 - 23.495 -23.7 10 14.595 23.7 10 14.595 23.7 10 23.495 34.65 10 23.495 34.65 - 10 28 42.6263 10 28 59.7 27.2637 28 -!VOLU 'IS02' 'PCON' 5 39 -! 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 24.2 -23.7 10 24.2 -! -23.7 10 14.595 23.7 10 14.595 23.7 10 24.2 34.65 10 24.2 34.65 10 28 42.7 -! 10 28 59.7 27 28 -VOLU 'I093' 'PCON' 73 21 - 0 360 6 39.4 10.065 12.7 40.66 10.065 13.96 40.66 12.1781 13.96 54.7 26.2181 - 28 55.2219 26.74 28 57.4 26.74 28 -VOLU 'I099' 'PCON' 5 12 - 0 50 3 23.7 14 18.75 46.7 14 18.75 51.45 18.75 18.75 -VOLU 'I200' 'PCON' 5 12 - 0 25 3 34.65 23.4 26.4 56.1 23.4 26.4 59.1 26.4 26.4 -VOLU 'I090' 'TUBE' 9 3 - 10.065 11 0.25 -VOLU 'I089' 'TUBE' 9 3 - 10.001 10.065 40 -VOLU 'I098' 'TUBE' 5 3 - 21.95 24.2 1 -VOLU 'I097' 'TUBE' 5 3 - 13.1 15.4 1 -VOLU 'I202' 'BOX ' 73 3 - 1 1 7.74 -VOLU 'I203' 'BOX ' 73 3 - 1 1 9.14 -VOLU 'I095' 'TUBE' 25 3 - 21.95 22.95 1 -VOLU 'I096' 'TRD1' 65 4 - 3 2.7 1 0.63 -VOLU 'I094' 'TUBE' 25 3 - 13.1 14.1 1 -! -! VOLUMES SERVICES -! -VOLU 'I1CU' 'TUBS' 14 5 - 46. 47. 9.5 12. 168. -VOLU 'I2CU' 'TUBS' 14 5 - 46. 47. 9.5 192. 348. -VOLU 'I1CC' 'TUBS' 4 5 - 47. 48.5 9.5 12. 168. -VOLU 'I2CC' 'TUBS' 4 5 - 47. 48.5 9.5 192. 348. -VOLU 'IPA1' 'TUBS' 11 5 - 46. 56. 2.25 12. 168. -VOLU 'IPA2' 'TUBS' 11 5 - 46. 56. 2.25 192. 348. -VOLU 'ICU1' 'CONS' 14 7 - 91.65 46.2 47.2 62.3 63.3 12. 168. -VOLU 'ICU2' 'CONS' 14 7 - 91.65 46.2 47.2 62.3 63.3 192. 348. -VOLU 'ICU3' 'TUBS' 14 5 - 62.1 74.5 0.5 12. 168. -VOLU 'ICU4' 'TUBS' 14 5 - 62.1 74.5 0.5 192. 348. -VOLU 'ICU5' 'TUBS' 14 5 - 46. 47. 92.4 12. 168. -VOLU 'ICU6' 'TUBS' 14 5 - 46. 47. 92.4 192. 348. -VOLU 'ICU7' 'TUBS' 14 5 - 46. 74.5 0.5 12. 168. -VOLU 'ICU8' 'TUBS' 14 5 - 46. 74.5 0.5 192. 348. -VOLU 'ICC1' 'CONS' 4 7 - 91.65 47.2 48.7 63.3 64.8 12. 168. -VOLU 'ICC2' 'CONS' 4 7 - 91.65 47.2 48.7 63.3 64.8 192. 348. -VOLU 'ICC3' 'TUBS' 4 5 - 62.1 74.5 0.75 12. 168. -VOLU 'ICC4' 'TUBS' 4 5 - 62.1 74.5 0.75 192. 348. -VOLU 'ICC5' 'TUBS' 4 5 - 47. 48.5 91.65 12. 168. -VOLU 'ICC6' 'TUBS' 4 5 - 47. 48.5 91.65 192. 348. -VOLU 'ICC7' 'TUBS' 4 5 - 47. 74.5 0.75 12. 168. -VOLU 'ICC8' 'TUBS' 4 5 - 47. 74.5 0.75 192. 348. -VOLU 'IHK1' 'TUBS' 65 5 - 74.5 79.5 2.5 12. 168. -VOLU 'IHK2' 'TUBS' 65 5 - 74.5 79.5 2.5 192. 348. -! -! VOLUMES RAILS -! -VOLU 'IRAI' 'BOX ' 64 3 - 0.85 10. 190. -!VOLU 'ICYL' 'TUBE' 64 4 -! 58. 59. 0.2 -! -! DIVISIONS -! -! -! POSITIONNEMENTS GENERAUX -! -POSI 'IT12' 1 'ITSD' 0.00000 0.00000 0.00000 0 'ONLY' -POSI 'IT34' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IT56' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS01' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS02' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -! -! -! POSITIONNEMENTS ITS12 -! -POSI 'I150' 16 'IT12' 0.0 0.0 27.0 104 'MANY' -POSI 'I150' 20 'IT12' 0.0 0.0 27.0 130 'MANY' -POSI 'I150' 18 'IT12' 0.0 0.0 27.0 117 'MANY' -POSI 'I150' 1 'IT12' 0.0 0.0 27.0 0 'MANY' -POSI 'I150' 4 'IT12' 0.0 0.0 27.0 106 'MANY' -POSI 'I150' 6 'IT12' 0.0 0.0 27.0 39 'MANY' -POSI 'I150' 8 'IT12' 0.0 0.0 27.0 107 'MANY' -POSI 'I150' 10 'IT12' 0.0 0.0 27.0 65 'MANY' -POSI 'I150' 12 'IT12' 0.0 0.0 27.0 78 'MANY' -POSI 'I150' 14 'IT12' 0.0 0.0 27.0 91 'MANY' -POSI 'I132' 8 'IT12' 0.0 0.0 0.0 104 'MANY' -POSI 'I132' 7 'IT12' 0.0 0.0 0.0 91 'MANY' -POSI 'I132' 6 'IT12' 0.0 0.0 0.0 78 'MANY' -POSI 'I132' 5 'IT12' 0.0 0.0 0.0 65 'MANY' -POSI 'I132' 4 'IT12' 0.0 0.0 0.0 107 'MANY' -POSI 'I132' 3 'IT12' 0.0 0.0 0.0 39 'MANY' -POSI 'I132' 2 'IT12' 0.0 0.0 0.0 106 'MANY' -POSI 'I132' 1 'IT12' 0.0 0.0 0.0 0 'MANY' -POSI 'I132' 10 'IT12' 0.0 0.0 0.0 130 'MANY' -POSI 'I132' 9 'IT12' 0.0 0.0 0.0 117 'MANY' -POSI 'I150' 19 'IT12' 0.0 0.0 -27.0 108 'MANY' -POSI 'I150' 2 'IT12' 0.0 0.0 -27.0 109 'MANY' -POSI 'I150' 3 'IT12' 0.0 0.0 -27.0 110 'MANY' -POSI 'I150' 5 'IT12' 0.0 0.0 -27.0 111 'MANY' -POSI 'I150' 7 'IT12' 0.0 0.0 -27.0 112 'MANY' -POSI 'I150' 9 'IT12' 0.0 0.0 -27.0 113 'MANY' -POSI 'I150' 11 'IT12' 0.0 0.0 -27.0 114 'MANY' -POSI 'I150' 13 'IT12' 0.0 0.0 -27.0 115 'MANY' -POSI 'I150' 15 'IT12' 0.0 0.0 -27.0 116 'MANY' -POSI 'I150' 17 'IT12' 0.0 0.0 -27.0 118 'MANY' -POSI 'I139' 2 'I150' 3.2872 6.0439 -1.5 62 'ONLY' -POSI 'I141' 1 'I150' 3.004 6.5058 -1.5 63 'ONLY' -POSI 'I142' 1 'I150' 2.5982 6.865 -1.5 32 'ONLY' -POSI 'I143' 1 'I150' 2.5977 6.6027 -1.5 64 'ONLY' -POSI 'I144' 1 'I150' 2.6352 6.3526 -1.5 70 'ONLY' -POSI 'I145' 1 'I150' 2.0769 6.7849 -1.5 74 'ONLY' -POSI 'I142' 2 'I150' 1.4923 7.1869 -1.5 75 'ONLY' -POSI 'I143' 2 'I150' 1.5328 6.9278 -1.5 77 'ONLY' -POSI 'I144' 2 'I150' 1.609 6.6866 -1.5 79 'ONLY' -POSI 'I145' 2 'I150' 0.9899 7.0263 -1.5 80 'ONLY' -POSI 'I142' 3 'I150' 0.3497 7.3319 -1.5 41 'ONLY' -POSI 'I143' 3 'I150' 0.4302 7.0823 -1.5 82 'ONLY' -POSI 'I144' 3 'I150' 0.5431 6.856 -1.5 81 'ONLY' -POSI 'I145' 3 'I150' -0.1214 7.0946 -1.5 83 'ONLY' -POSI 'I146' 1 'I150' -0.8017 7.2968 -1.5 43 'ONLY' -POSI 'I147' 1 'I150' -0.6733 7.0752 -1.5 84 'ONLY' -POSI 'I149' 1 'I150' -0.3371 5.3963 -1.5 85 'ONLY' -POSI 'I148' 1 'I150' -0.5183 6.8836 -1.5 1 'ONLY' -POSI 'I133' 1 'I150' -0.1164 3.915 -1.5 86 'ONLY' -POSI 'I134' 1 'I150' 0.1877 3.835 -1.5 0 'ONLY' -POSI 'I135' 1 'I150' 0.4917 3.915 -1.5 87 'ONLY' -POSI 'I136' 1 'I150' 0.5717 3.9845 -1.5 119 'ONLY' -POSI 'I137' 1 'I150' 0.6117 4.0541 -1.5 39 'ONLY' -POSI 'I138' 1 'I150' 1.2166 3.8996 -1.5 11 'ONLY' -POSI 'I139' 1 'I150' 1.8337 3.7832 -1.5 104 'ONLY' -POSI 'I140' 1 'I150' 2.6277 4.8701 -1.5 66 'ONLY' -POSI 'I166' 1 'I150' 0.0 0.0 0.25 3 'MANY' -POSI 'I167' 1 'I150' 0.1102 0.9945 0.45 88 'ONLY' -POSI 'I179' 6 'I150' 0.2244 3.795 0.0 0 'ONLY' -POSI 'I179' 2 'I150' 1.2205 3.8563 0.0 11 'ONLY' -POSI 'I179' 5 'I150' 3.1016 6.452 0.0 63 'ONLY' -POSI 'I179' 4 'I150' 2.0541 6.8577 0.0 74 'ONLY' -POSI 'I179' 3 'I150' 0.956 7.0946 0.0 80 'ONLY' -POSI 'I179' 1 'I150' -0.1656 7.1568 0.0 83 'ONLY' -POSI 'I169' 3 'I150' 0.1883 4.0372 -3.2 0 'ONLY' -POSI 'I171' 3 'I150' 0.1883 4.0372 0.6 0 'ONLY' -POSI 'I169' 2 'I150' 1.3343 4.0609 -3.2 0 'ONLY' -POSI 'I171' 2 'I150' 1.3343 4.0609 0.6 0 'ONLY' -POSI 'I169' 6 'I150' 2.9567 6.1959 -3.2 89 'ONLY' -POSI 'I171' 6 'I150' 2.9567 6.1959 0.6 89 'ONLY' -POSI 'I169' 5 'I150' 1.9511 6.5822 -3.2 11 'ONLY' -POSI 'I171' 5 'I150' 1.9511 6.5822 0.6 11 'ONLY' -POSI 'I169' 4 'I150' 0.8974 6.8064 -3.2 90 'ONLY' -POSI 'I171' 4 'I150' 0.8974 6.8064 0.6 90 'ONLY' -POSI 'I169' 1 'I150' -0.1784 6.863 -3.2 0 'ONLY' -POSI 'I171' 1 'I150' -0.1784 6.863 0.6 0 'ONLY' -POSI 'I173' 1 'I150' 0.2173 4.8037 1.8 0 'ONLY' -POSI 'I173' 6 'I150' 1.5093 4.5605 1.8 0 'ONLY' -POSI 'I173' 4 'I150' -0.173 6.2531 1.8 92 'ONLY' -POSI 'I173' 3 'I150' 0.8073 6.2032 1.8 93 'ONLY' -POSI 'I173' 2 'I150' 1.7678 6.0005 1.8 94 'ONLY' -POSI 'I173' 5 'I150' 2.6847 5.6501 1.8 0 'ONLY' -POSI 'I176' 2 'I150' 1.7618 5.2269 2.5 0 'ONLY' -POSI 'I176' 1 'I150' 0.4018 5.5869 2.5 0 'ONLY' -POSI 'I125' 1 'I132' -0.1271 6.9887 0.0 73 'ONLY' -POSI 'I122' 1 'I132' -0.1115 7.0256 0.0 73 'ONLY' -POSI 'I124' 1 'I132' -0.0949 7.0647 0.0 73 'ONLY' -POSI 'I125' 2 'I132' 0.9677 6.9226 0.0 71 'ONLY' -POSI 'I122' 2 'I132' 0.9889 6.9565 0.0 71 'ONLY' -POSI 'I124' 2 'I132' 1.0114 6.9925 0.0 71 'ONLY' -POSI 'I125' 3 'I132' 2.0387 6.686 0.0 69 'ONLY' -POSI 'I122' 3 'I132' 2.065 6.7162 0.0 69 'ONLY' -POSI 'I124' 3 'I132' 2.0929 6.7482 0.0 69 'ONLY' -POSI 'I125' 4 'I132' 3.0595 6.2847 0.0 67 'ONLY' -POSI 'I122' 4 'I132' 3.0902 6.3104 0.0 67 'ONLY' -POSI 'I124' 4 'I132' 3.1227 6.3378 0.0 67 'ONLY' -POSI 'I125' 6 'I132' 0.1887 3.935 0.0 0 'ONLY' -POSI 'I122' 6 'I132' 0.1887 3.895 0.0 0 'ONLY' -POSI 'I124' 6 'I132' 0.1887 3.8525 0.0 0 'ONLY' -POSI 'I125' 5 'I132' 1.2932 3.9802 0.0 11 'ONLY' -POSI 'I122' 5 'I132' 1.2809 3.9421 0.0 11 'ONLY' -POSI 'I124' 5 'I132' 1.2677 3.9017 0.0 11 'ONLY' -POSI 'I120' 1 'I132' -0.3173 5.3989 0.0 85 'ONLY' -POSI 'I100' 1 'I132' -0.1164 3.915 0.0 86 'ONLY' -POSI 'I101' 1 'I132' -0.0489 3.855 0.0 0 'ONLY' -POSI 'I102' 1 'I132' 0.0287 3.9025 0.0 119 'ONLY' -POSI 'I103' 1 'I132' 0.1887 3.95 0.0 0 'ONLY' -POSI 'I102' 2 'I132' 0.3487 3.9025 0.0 119 'ONLY' -POSI 'I101' 2 'I132' 0.4242 3.855 0.0 0 'ONLY' -POSI 'I104' 1 'I132' 0.4917 3.915 0.0 87 'ONLY' -POSI 'I105' 1 'I132' 0.5517 3.9845 0.0 119 'ONLY' -POSI 'I106' 1 'I132' 0.6117 4.0541 0.0 39 'ONLY' -POSI 'I107' 1 'I132' 0.868 4.0339 0.0 11 'ONLY' -POSI 'I102' 12 'I132' 1.131 3.9987 0.0 11 'ONLY' -POSI 'I103' 6 'I132' 1.2979 3.9944 0.0 11 'ONLY' -POSI 'I102' 11 'I132' 1.4354 3.8998 0.0 11 'ONLY' -POSI 'I108' 1 'I132' 1.6222 3.7888 0.0 11 'ONLY' -POSI 'I109' 1 'I132' 1.8337 3.7832 0.0 104 'ONLY' -POSI 'I110' 1 'I132' 2.6107 4.8806 0.0 66 'ONLY' -POSI 'I109' 2 'I132' 3.2872 6.0439 0.0 95 'ONLY' -POSI 'I111' 1 'I132' 3.2805 6.1451 0.0 63 'ONLY' -POSI 'I102' 3 'I132' 3.1875 6.1832 0.0 67 'ONLY' -POSI 'I103' 2 'I132' 3.0483 6.2753 0.0 67 'ONLY' -POSI 'I102' 4 'I132' 2.9818 6.4284 0.0 67 'ONLY' -POSI 'I112' 2 'I132' 2.828 6.6854 0.0 63 'ONLY' -POSI 'I116' 3 'I132' 2.5983 6.8653 0.0 96 'ONLY' -POSI 'I115' 3 'I132' 2.617 6.6084 0.0 68 'ONLY' -POSI 'I114' 3 'I132' 2.6353 6.3529 0.0 97 'ONLY' -POSI 'I113' 3 'I132' 2.4074 6.4715 0.0 74 'ONLY' -POSI 'I102' 7 'I132' 2.181 6.6058 0.0 69 'ONLY' -POSI 'I103' 4 'I132' 2.0291 6.6749 0.0 69 'ONLY' -POSI 'I102' 8 'I132' 1.9395 6.8157 0.0 69 'ONLY' -POSI 'I112' 4 'I132' 1.7473 7.0455 0.0 74 'ONLY' -POSI 'I116' 2 'I132' 1.4923 7.1872 0.0 98 'ONLY' -POSI 'I115' 2 'I132' 1.551 6.9364 0.0 99 'ONLY' -POSI 'I114' 2 'I132' 1.609 6.6869 0.0 100 'ONLY' -POSI 'I113' 2 'I132' 1.3654 6.7684 0.0 80 'ONLY' -POSI 'I102' 5 'I132' 1.1208 6.8656 0.0 71 'ONLY' -POSI 'I103' 3 'I132' 0.9599 6.9101 0.0 71 'ONLY' -POSI 'I102' 6 'I132' 0.8494 7.0352 0.0 71 'ONLY' -POSI 'I112' 3 'I132' 0.6237 7.2321 0.0 80 'ONLY' -POSI 'I116' 1 'I132' 0.3496 7.3322 0.0 101 'ONLY' -POSI 'I115' 1 'I132' 0.4468 7.0936 0.0 72 'ONLY' -POSI 'I114' 1 'I132' 0.5431 6.8563 0.0 102 'ONLY' -POSI 'I113' 1 'I132' 0.2898 6.8987 0.0 83 'ONLY' -POSI 'I102' 10 'I132' 0.033 6.9564 0.0 73 'ONLY' -POSI 'I103' 5 'I132' -0.1329 6.9752 0.0 73 'ONLY' -POSI 'I102' 9 'I132' -0.2616 7.0815 0.0 73 'ONLY' -POSI 'I112' 1 'I132' -0.5154 7.2406 0.0 83 'ONLY' -POSI 'I117' 1 'I132' -0.8017 7.2968 0.0 103 'ONLY' -POSI 'I118' 1 'I132' -0.6602 7.0903 0.0 84 'ONLY' -POSI 'I119' 1 'I132' -0.5183 6.8836 0.0 105 'ONLY' -POSI 'I186' 2 'I132' 0.15 3.817 0.0 78 'ONLY' -POSI 'I186' 1 'I132' 1.3976 3.8161 0.0 76 'ONLY' -POSI 'I131' 1 'I132' 3.0538 6.4757 0.0 63 'ONLY' -POSI 'I131' 2 'I132' 2.0032 6.8737 0.0 74 'ONLY' -POSI 'I131' 3 'I132' 0.9032 7.1024 0.0 80 'ONLY' -POSI 'I131' 4 'I132' -0.219 7.1563 0.0 83 'ONLY' -POSI 'I168' 1 'I167' 0.0 0.0 0.0 0 'ONLY' -POSI 'I170' 1 'I169' 0.0 0.0 0.0 0 'ONLY' -POSI 'I172' 1 'I171' 0.0 0.0 0.0 0 'ONLY' -POSI 'I174' 1 'I173' 0.0 0.0 0.0 0 'MANY' -POSI 'I175' 1 'I173' 0.0 0.0 -0.5 0 'ONLY' -POSI 'I177' 1 'I176' 0.0 0.0 0.0 0 'MANY' -POSI 'I178' 1 'I176' 0.0 0.0 -0.95 0 'ONLY' -POSI 'I123' 1 'I122' 0.0 0.0 0.0 0 'ONLY' -POSI 'I183' 1 'I186' 0.0 0.0125 0.0 0 'ONLY' -POSI 'I185' 2 'I186' -0.15 0.007 -19.41 119 'ONLY' -POSI 'I185' 1 'I186' -0.15 0.007 19.41 119 'ONLY' -POSI 'I184' 3 'I186' -0.15 -0.018 19.955 0 'ONLY' -POSI 'I184' 2 'I186' -0.15 -0.018 -19.955 0 'ONLY' -POSI 'I182' 4 'I186' -0.15 -0.008 12.72 119 'ONLY' -POSI 'I182' 3 'I186' -0.15 -0.008 -12.72 0 'ONLY' -POSI 'I182' 2 'I186' -0.15 -0.008 4.24 119 'ONLY' -POSI 'I182' 1 'I186' -0.15 -0.008 -4.24 119 'ONLY' -POSI 'ITS1' 1 'I186' -0.15 -0.0205 12.72 0 'ONLY' -POSI 'ITS1' 4 'I186' -0.15 -0.0205 -12.72 0 'ONLY' -POSI 'ITS1' 2 'I186' -0.15 -0.0205 4.24 0 'ONLY' -POSI 'ITS1' 3 'I186' -0.15 -0.0205 -4.24 0 'ONLY' -POSI 'I130' 2 'I131' 0.15 0.007 -19.41 119 'ONLY' -POSI 'I130' 1 'I131' 0.15 0.007 19.41 119 'ONLY' -POSI 'I129' 2 'I131' 0.15 -0.018 19.955 0 'ONLY' -POSI 'I129' 1 'I131' 0.15 -0.018 -19.955 0 'ONLY' -POSI 'I128' 1 'I131' 0.0 -0.0125 0.0 0 'ONLY' -POSI 'I127' 4 'I131' 0.15 0.008 12.72 0 'ONLY' -POSI 'I127' 3 'I131' 0.15 0.008 -12.72 0 'ONLY' -POSI 'I127' 2 'I131' 0.15 0.008 4.24 0 'ONLY' -POSI 'I127' 1 'I131' 0.15 0.008 -4.24 0 'ONLY' -POSI 'ITS2' 1 'I131' 0.15 0.0205 12.72 119 'ONLY' -POSI 'ITS2' 4 'I131' 0.15 0.0205 -12.72 0 'ONLY' -POSI 'ITS2' 2 'I131' 0.15 0.0205 4.24 119 'ONLY' -POSI 'ITS2' 3 'I131' 0.15 0.0205 -4.24 119 'ONLY' -! -! POSITIONNEMENTS ITS34 -! -POSI 'I048' 8 'IT34' -22.1376 -14.227 0.0 328 'ONLY' -POSI 'I048' 7 'IT34' -24.7213 -7.2588 0.0 329 'ONLY' -POSI 'I048' 6 'IT34' -26.315 0.0 0.0 350 'ONLY' -POSI 'I048' 5 'IT34' -24.7213 7.2588 0.0 330 'ONLY' -POSI 'I048' 4 'IT34' -22.1376 14.227 0.0 366 'ONLY' -POSI 'I048' 3 'IT34' -16.8725 19.4719 0.0 331 'ONLY' -POSI 'I048' 2 'IT34' -10.9317 23.937 0.0 332 'ONLY' -POSI 'I048' 1 'IT34' -3.6667 25.5027 0.0 335 'ONLY' -POSI 'I048' 22 'IT34' 3.745 26.0472 0.0 334 'ONLY' -POSI 'I048' 21 'IT34' 10.7032 23.4367 0.0 314 'ONLY' -POSI 'I048' 20 'IT34' 17.2327 19.8876 0.0 315 'ONLY' -POSI 'I048' 19 'IT34' 21.6749 13.9296 0.0 316 'ONLY' -POSI 'I048' 18 'IT34' 25.2491 7.4138 0.0 317 'ONLY' -POSI 'I048' 17 'IT34' 25.765 0.0 0.0 318 'ONLY' -POSI 'I048' 16 'IT34' 25.2491 -7.4138 0.0 319 'ONLY' -POSI 'I048' 15 'IT34' 21.6749 -13.9296 0.0 320 'ONLY' -POSI 'I048' 14 'IT34' 17.2327 -19.8876 0.0 322 'ONLY' -POSI 'I048' 13 'IT34' 10.7032 -23.4367 0.0 323 'ONLY' -POSI 'I048' 12 'IT34' 3.745 -26.0472 0.0 324 'ONLY' -POSI 'I048' 11 'IT34' -3.6667 -25.5027 0.0 325 'ONLY' -POSI 'I048' 10 'IT34' -10.9316 -23.937 0.0 326 'ONLY' -POSI 'I048' 9 'IT34' -16.8725 -19.4719 0.0 327 'ONLY' -POSI 'I005' 9 'IT34' -15.4744 -17.8584 -0.15 327 'ONLY' -POSI 'I005' 8 'IT34' -20.3415 -13.0727 -0.15 328 'ONLY' -POSI 'I005' 7 'IT34' -22.6728 -6.6573 -0.15 329 'ONLY' -POSI 'I005' 6 'IT34' -24.18 0.0 -0.15 350 'ONLY' -POSI 'I005' 5 'IT34' -22.6728 6.6573 -0.15 330 'ONLY' -POSI 'I005' 4 'IT34' -20.3415 13.0727 -0.15 366 'ONLY' -POSI 'I005' 3 'IT34' -15.4744 17.8584 -0.15 331 'ONLY' -POSI 'I005' 2 'IT34' -10.0447 21.9949 -0.15 332 'ONLY' -POSI 'I005' 1 'IT34' -3.3629 23.3895 -0.15 335 'ONLY' -POSI 'I005' 22 'IT34' 3.4412 23.9339 -0.15 334 'ONLY' -POSI 'I005' 21 'IT34' 9.8163 21.4946 -0.15 314 'ONLY' -POSI 'I005' 20 'IT34' 15.8345 18.274 -0.15 315 'ONLY' -POSI 'I005' 19 'IT34' 19.8788 12.7753 -0.15 316 'ONLY' -POSI 'I005' 18 'IT34' 23.2005 6.8123 -0.15 317 'ONLY' -POSI 'I005' 17 'IT34' 23.63 0.0 -0.15 318 'ONLY' -POSI 'I005' 16 'IT34' 23.2005 -6.8123 -0.15 319 'ONLY' -POSI 'I005' 15 'IT34' 19.8788 -12.7753 -0.15 320 'ONLY' -POSI 'I005' 14 'IT34' 15.8345 -18.274 -0.15 322 'ONLY' -POSI 'I005' 13 'IT34' 9.8163 -21.4946 -0.15 323 'ONLY' -POSI 'I005' 12 'IT34' 3.4412 -23.9339 -0.15 324 'ONLY' -POSI 'I005' 11 'IT34' -3.3629 -23.3895 -0.15 325 'ONLY' -POSI 'I005' 10 'IT34' -10.0447 -21.9949 -0.15 326 'ONLY' -POSI 'I047' 6 'IT34' -10.8893 -13.6547 0.0 311 'ONLY' -POSI 'I047' 5 'IT34' -15.1948 -7.3174 0.0 313 'ONLY' -POSI 'I047' 4 'IT34' -17.465 0.0 0.0 350 'ONLY' -POSI 'I047' 3 'IT34' -15.1948 7.3175 0.0 336 'ONLY' -POSI 'I047' 2 'IT34' -10.8892 13.6547 0.0 333 'ONLY' -POSI 'I047' 1 'IT34' -3.7528 16.4422 0.0 321 'ONLY' -POSI 'I047' 14 'IT34' 3.8863 17.0271 0.0 305 'ONLY' -POSI 'I047' 13 'IT34' 10.5152 13.1856 0.0 306 'ONLY' -POSI 'I047' 12 'IT34' 15.7354 7.5778 0.0 307 'ONLY' -POSI 'I047' 11 'IT34' 16.865 0.0 0.0 356 'ONLY' -POSI 'I047' 10 'IT34' 15.7354 -7.5778 0.0 308 'ONLY' -POSI 'I047' 9 'IT34' 10.5152 -13.1856 0.0 309 'ONLY' -POSI 'I047' 8 'IT34' 3.8863 -17.0271 0.0 386 'ONLY' -POSI 'I047' 7 'IT34' -3.7528 -16.4422 0.0 310 'ONLY' -POSI 'I004' 6 'IT34' -9.5581 -11.9855 0.0 311 'ONLY' -POSI 'I004' 5 'IT34' -13.2713 -6.3911 0.0 313 'ONLY' -POSI 'I004' 4 'IT34' -15.33 0.0 0.0 350 'ONLY' -POSI 'I004' 3 'IT34' -13.2713 6.3911 0.0 336 'ONLY' -POSI 'I004' 2 'IT34' -9.5581 11.9855 0.0 333 'ONLY' -POSI 'I004' 1 'IT34' -3.2777 14.3607 0.0 321 'ONLY' -POSI 'I004' 14 'IT34' 3.4113 14.9456 0.0 305 'ONLY' -POSI 'I004' 13 'IT34' 9.184 11.5164 0.0 306 'ONLY' -POSI 'I004' 12 'IT34' 13.8119 6.6514 0.0 307 'ONLY' -POSI 'I004' 11 'IT34' 14.73 0.0 0.0 356 'ONLY' -POSI 'I004' 10 'IT34' 13.8119 -6.6514 0.0 308 'ONLY' -POSI 'I004' 9 'IT34' 9.184 -11.5164 0.0 309 'ONLY' -POSI 'I004' 8 'IT34' 3.4112 -14.9456 0.0 386 'ONLY' -POSI 'I004' 7 'IT34' -3.2777 -14.3607 0.0 310 'ONLY' -POSI 'I024' 3 'I048' -0.0001 0.0 31.925 0 'ONLY' -POSI 'I024' 4 'I048' -0.0001 0.0 -31.925 355 'ONLY' -POSI 'I018' 13 'I048' -0.0001 0.0 -25.55 0 'ONLY' -POSI 'I018' 12 'I048' -0.0001 0.0 -18.25 0 'ONLY' -POSI 'I018' 11 'I048' -0.0001 0.0 -10.95 0 'ONLY' -POSI 'I018' 10 'I048' -0.0001 0.0 25.55 0 'ONLY' -POSI 'I018' 9 'I048' -0.0001 0.0 18.25 0 'ONLY' -POSI 'I018' 8 'I048' -0.0001 0.0 10.95 0 'ONLY' -POSI 'I018' 7 'I048' -0.0001 0.0 3.65 0 'ONLY' -POSI 'I018' 6 'I048' -0.0001 0.0 -3.65 0 'ONLY' -POSI 'I402' 5 'I005' 0.0 -0.115 -3.55 0 'ONLY' -POSI 'I402' 4 'I005' 0.0 0.115 3.85 0 'ONLY' -POSI 'I402' 2 'I005' 0.0 0.115 18.75 0 'ONLY' -POSI 'I402' 3 'I005' 0.0 -0.115 11.15 0 'ONLY' -POSI 'I402' 1 'I005' 0.0 -0.115 25.9 0 'ONLY' -POSI 'I402' 6 'I005' 0.0 0.115 -11.05 0 'ONLY' -POSI 'I402' 7 'I005' 0.0 -0.115 -18.3 0 'ONLY' -POSI 'I402' 8 'I005' 0.0 0.115 -25.9 0 'ONLY' -POSI 'I024' 1 'I047' 0.0 0.0 20.975 0 'ONLY' -POSI 'I018' 4 'I047' 0.0 0.0 7.3 0 'ONLY' -POSI 'I018' 5 'I047' 0.0 0.0 14.6 0 'ONLY' -POSI 'I018' 1 'I047' 0.0 0.0 0.0 0 'ONLY' -POSI 'I018' 3 'I047' 0.0 0.0 -14.6 0 'ONLY' -POSI 'I018' 2 'I047' 0.0 0.0 -7.3 0 'ONLY' -POSI 'I024' 2 'I047' 0.0 0.0 -20.975 355 'ONLY' -POSI 'I302' 4 'I004' 0.0 -0.115 -3.7 0 'ONLY' -POSI 'I302' 3 'I004' 0.0 0.115 3.7 0 'ONLY' -POSI 'I302' 6 'I004' 0.0 -0.115 -18.35 0 'ONLY' -POSI 'I302' 5 'I004' 0.0 0.115 -11.2 0 'ONLY' -POSI 'I302' 2 'I004' 0.0 -0.115 10.95 0 'ONLY' -POSI 'I302' 1 'I004' 0.0 0.115 18.55 0 'ONLY' -POSI 'I025' 2 'I024' 1.987 -1.5842 0.0 343 'ONLY' -POSI 'I026' 2 'I024' 1.8824 -1.7349 0.0 344 'ONLY' -POSI 'I025' 1 'I024' -1.9 -1.7349 0.0 344 'ONLY' -POSI 'I026' 1 'I024' -1.9782 -1.5689 0.0 342 'ONLY' -POSI 'I026' 3 'I024' 0.0958 1.6914 0.0 343 'ONLY' -POSI 'I025' 3 'I024' -0.087 1.7067 0.0 342 'ONLY' -POSI 'I021' 10 'I024' 1.0761 0.0836 1.7742 337 'ONLY' -POSI 'I021' 9 'I024' -1.0761 0.0836 1.7742 339 'ONLY' -POSI 'I021' 12 'I024' 1.0761 0.0836 -0.1242 340 'ONLY' -POSI 'I021' 11 'I024' -1.0761 0.0836 -0.1242 338 'ONLY' -POSI 'I021' 13 'I024' -1.0761 0.0836 -1.8758 339 'ONLY' -POSI 'I021' 14 'I024' 1.0761 0.0836 -1.8758 337 'ONLY' -POSI 'I023' 3 'I024' 0.0 -1.7899 -1.0 341 'ONLY' -POSI 'I022' 3 'I024' 0.0 -1.7899 0.825 312 'ONLY' -POSI 'I028' 1 'I024' 0.0 -1.7999 1.875 0 'MANY' -POSI 'I029' 1 'I024' 0.0 -0.9999 2.65 0 'ONLY' -POSI 'I030' 1 'I024' 0.0 0.6001 2.65 344 'ONLY' -POSI 'I027' 1 'I024' 0.0 0.0001 1.9965 352 'ONLY' -POSI 'I032' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I032' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I046' 6 'I024' -0.616 1.1702 0.0 353 'ONLY' -POSI 'I046' 5 'I024' -0.566 1.1702 0.0 353 'ONLY' -POSI 'I046' 4 'I024' 0.616 1.1702 0.0 354 'ONLY' -POSI 'I046' 3 'I024' 0.566 1.1702 0.0 354 'ONLY' -POSI 'I046' 2 'I024' 0.516 1.1702 0.0 354 'ONLY' -POSI 'I046' 1 'I024' -0.516 1.1702 0.0 353 'ONLY' -POSI 'I022' 2 'I018' 0.0 -1.79 -0.1 312 'ONLY' -POSI 'I021' 8 'I018' 1.0761 0.0835 0.8492 337 'ONLY' -POSI 'I021' 7 'I018' -1.0761 0.0835 2.6008 338 'ONLY' -POSI 'I021' 6 'I018' -1.0761 0.0835 0.8492 339 'ONLY' -POSI 'I021' 5 'I018' 1.0761 0.0835 -1.0492 340 'ONLY' -POSI 'I021' 4 'I018' 1.0761 0.0835 -2.8008 337 'ONLY' -POSI 'I021' 3 'I018' -1.0761 0.0835 -1.0492 338 'ONLY' -POSI 'I021' 2 'I018' -1.0761 0.0835 -2.8008 339 'ONLY' -POSI 'I023' 2 'I018' 0.0 -1.79 -1.925 341 'ONLY' -POSI 'I019' 3 'I018' -0.087 1.7066 0.0 342 'ONLY' -POSI 'I020' 3 'I018' 0.0958 1.6913 0.0 343 'ONLY' -POSI 'I019' 2 'I018' 1.987 -1.5843 0.0 343 'ONLY' -POSI 'I020' 2 'I018' 1.8824 -1.735 0.0 344 'ONLY' -POSI 'I022' 1 'I018' 0.0 -1.79 3.55 312 'ONLY' -POSI 'I021' 1 'I018' 1.0761 0.0835 2.6008 340 'ONLY' -POSI 'I023' 1 'I018' 0.0 -1.79 1.725 341 'ONLY' -POSI 'I019' 1 'I018' -1.9 -1.735 0.0 344 'ONLY' -POSI 'I020' 1 'I018' -1.9782 -1.569 0.0 342 'ONLY' -POSI 'I033' 1 'I018' 1.8 -1.75 1.35 0 'MANY' -POSI 'I033' 4 'I018' 1.8 -1.75 -2.65 0 'MANY' -POSI 'I033' 2 'I018' -1.8 -1.75 -2.65 345 'MANY' -POSI 'I033' 3 'I018' -1.8 -1.75 1.35 345 'MANY' -POSI 'I036' 1 'I018' 0.3087 1.7191 3.56 346 'ONLY' -POSI 'I036' 4 'I018' -0.3087 1.7191 3.56 347 'ONLY' -POSI 'I036' 2 'I018' 0.3087 1.7191 -0.11 346 'ONLY' -POSI 'I036' 3 'I018' -0.3087 1.7191 -0.11 347 'ONLY' -POSI 'I034' 1 'I018' 1.6 -1.775 1.35 312 'ONLY' -POSI 'I034' 4 'I018' 1.6 -1.775 -2.65 312 'ONLY' -POSI 'I034' 2 'I018' -1.6 -1.775 -2.65 348 'ONLY' -POSI 'I034' 3 'I018' -1.6 -1.775 1.35 348 'ONLY' -POSI 'I035' 2 'I018' -1.7 -0.55 2.8581 345 'MANY' -POSI 'I035' 1 'I018' 1.7 -0.55 2.8581 0 'MANY' -POSI 'I045' 1 'I018' 0.7483 0.9337 0.0 346 'ONLY' -POSI 'I045' 2 'I018' 0.7065 0.9337 0.0 346 'ONLY' -POSI 'I045' 3 'I018' -0.7483 0.9337 0.0 347 'ONLY' -POSI 'I045' 4 'I018' -0.7065 0.9337 0.0 347 'ONLY' -POSI 'I038' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I038' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I039' 1 'I018' 1.8126 -0.485 0.0 346 'ONLY' -POSI 'I040' 1 'I018' 1.9204 -0.7118 0.0 346 'ONLY' -POSI 'I041' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I042' 1 'I018' 2.0342 -0.8189 3.12 346 'ONLY' -POSI 'I042' 2 'I018' 2.0342 -0.8189 2.28 346 'ONLY' -POSI 'I042' 3 'I018' 2.0342 -0.8189 1.38 346 'ONLY' -POSI 'I042' 4 'I018' 2.0342 -0.8189 0.48 346 'ONLY' -POSI 'I042' 5 'I018' 2.0342 -0.8189 -0.42 346 'ONLY' -POSI 'I042' 6 'I018' 2.0342 -0.8189 -1.32 346 'ONLY' -POSI 'I042' 7 'I018' 2.0342 -0.8189 -2.22 346 'ONLY' -POSI 'I042' 8 'I018' 2.0342 -0.8189 -3.12 346 'ONLY' -POSI 'I043' 8 'I018' 1.5592 0.0038 -3.15 346 'ONLY' -POSI 'I043' 7 'I018' 1.5592 0.0038 -2.25 346 'ONLY' -POSI 'I043' 6 'I018' 1.5592 0.0038 -1.35 346 'ONLY' -POSI 'I043' 5 'I018' 1.5592 0.0038 -0.45 346 'ONLY' -POSI 'I043' 4 'I018' 1.5592 0.0038 0.45 346 'ONLY' -POSI 'I043' 3 'I018' 1.5592 0.0038 1.35 346 'ONLY' -POSI 'I043' 2 'I018' 1.5592 0.0038 2.25 346 'ONLY' -POSI 'I043' 1 'I018' 1.5592 0.0038 3.15 346 'ONLY' -POSI 'I039' 2 'I018' -1.8126 -0.485 0.0 347 'ONLY' -POSI 'I041' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I040' 2 'I018' -1.9204 -0.7118 0.0 347 'ONLY' -POSI 'I043' 16 'I018' -1.5592 0.0038 -3.15 347 'ONLY' -POSI 'I042' 9 'I018' -2.0342 -0.8189 -3.12 347 'ONLY' -POSI 'I043' 15 'I018' -1.5592 0.0038 -2.25 347 'ONLY' -POSI 'I042' 10 'I018' -2.0342 -0.8189 -2.22 347 'ONLY' -POSI 'I042' 11 'I018' -2.0342 -0.8189 -1.32 347 'ONLY' -POSI 'I043' 14 'I018' -1.5592 0.0038 -1.35 347 'ONLY' -POSI 'I042' 12 'I018' -2.0342 -0.8189 -0.42 347 'ONLY' -POSI 'I043' 13 'I018' -1.5592 0.0038 -0.45 347 'ONLY' -POSI 'I043' 12 'I018' -1.5592 0.0038 0.45 347 'ONLY' -POSI 'I043' 11 'I018' -1.5592 0.0038 1.35 347 'ONLY' -POSI 'I043' 10 'I018' -1.5592 0.0038 2.25 347 'ONLY' -POSI 'I043' 9 'I018' -1.5592 0.0038 3.15 347 'ONLY' -POSI 'I042' 16 'I018' -2.0342 -0.8189 3.12 347 'ONLY' -POSI 'I042' 15 'I018' -2.0342 -0.8189 2.28 347 'ONLY' -POSI 'I042' 14 'I018' -2.0342 -0.8189 1.38 347 'ONLY' -POSI 'I042' 13 'I018' -2.0342 -0.8189 0.48 347 'ONLY' -POSI 'I044' 2 'I018' -2.7487 -1.3673 -0.2 349 'ONLY' -POSI 'I044' 1 'I018' 2.7487 -1.3673 -0.2 351 'ONLY' -POSI 'I303' 1 'I302' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I303' 2 'I302' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I303' 3 'I302' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I303' 4 'I302' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'I403' 1 'I402' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I403' 2 'I402' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I403' 3 'I402' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I403' 4 'I402' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'ITS3' 1 'I302' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS4' 1 'I402' 0.0 0.0 0.0 0 'ONLY' -! -! POSITIONNEMENTS ITS56 -! -POSI 'I570' 17 'IT56' -7.4965 -44.9238 -0.27 569 'ONLY' -POSI 'I569' 17 'IT56' -7.1673 -42.9511 0.005 569 'ONLY' -POSI 'I570' 16 'IT56' -14.838 -43.2217 -0.27 568 'ONLY' -POSI 'I569' 16 'IT56' -14.1886 -41.33 0.005 568 'ONLY' -POSI 'I570' 15 'IT56' -21.677 -40.0556 -0.27 567 'ONLY' -POSI 'I569' 15 'IT56' -20.7251 -38.2967 0.005 567 'ONLY' -POSI 'I570' 14 'IT56' -28.0681 -36.0619 -0.27 566 'ONLY' -POSI 'I569' 14 'IT56' -26.8397 -34.4836 0.005 566 'ONLY' -POSI 'I570' 13 'IT56' -33.5086 -30.8468 -0.27 565 'ONLY' -POSI 'I569' 13 'IT56' -32.0371 -29.4922 0.005 565 'ONLY' -POSI 'I570' 12 'IT56' -38.2566 -24.9943 -0.27 564 'ONLY' -POSI 'I569' 12 'IT56' -36.5823 -23.9004 0.005 564 'ONLY' -POSI 'I570' 11 'IT56' -41.7089 -18.2952 -0.27 563 'ONLY' -POSI 'I569' 11 'IT56' -39.8773 -17.4918 0.005 563 'ONLY' -POSI 'I570' 10 'IT56' -44.2994 -11.2181 -0.27 562 'ONLY' -POSI 'I569' 10 'IT56' -42.3606 -10.7271 0.005 562 'ONLY' -POSI 'I570' 9 'IT56' -45.3894 -3.7611 -0.27 561 'ONLY' -POSI 'I569' 9 'IT56' -43.3963 -3.5959 0.005 561 'ONLY' -POSI 'I570' 8 'IT56' -45.5416 3.7737 -0.27 560 'ONLY' -POSI 'I569' 8 'IT56' -43.5484 3.6085 0.005 560 'ONLY' -POSI 'I570' 7 'IT56' -44.1513 11.1806 -0.27 559 'ONLY' -POSI 'I569' 7 'IT56' -42.2125 10.6897 0.005 559 'ONLY' -POSI 'I570' 6 'IT56' -41.8487 18.3566 -0.27 558 'ONLY' -POSI 'I569' 6 'IT56' -40.0172 17.5532 0.005 558 'ONLY' -POSI 'I569' 5 'IT56' -36.4544 23.8169 0.005 557 'ONLY' -POSI 'I570' 5 'IT56' -38.1287 24.9108 -0.27 557 'ONLY' -POSI 'I569' 4 'IT56' -32.1494 29.5956 0.005 556 'ONLY' -POSI 'I570' 4 'IT56' -33.6209 30.9502 -0.27 556 'ONLY' -POSI 'I570' 3 'IT56' -27.9743 35.9414 -0.27 555 'ONLY' -POSI 'I569' 3 'IT56' -26.7459 34.3631 0.005 555 'ONLY' -POSI 'I569' 2 'IT56' -20.7978 38.431 0.005 554 'ONLY' -POSI 'I570' 2 'IT56' -21.7497 40.1899 -0.27 554 'ONLY' -POSI 'I569' 1 'IT56' -14.139 41.1856 0.005 553 'ONLY' -POSI 'I570' 1 'IT56' -14.7884 43.0772 -0.27 553 'ONLY' -POSI 'I570' 38 'IT56' -7.5216 45.0744 -0.27 552 'ONLY' -POSI 'I569' 38 'IT56' -7.1924 43.1017 0.005 552 'ONLY' -POSI 'I570' 37 'IT56' 0.0 45.545 -0.27 0 'ONLY' -POSI 'I569' 37 'IT56' 0.0 43.545 0.005 0 'ONLY' -POSI 'I570' 36 'IT56' 7.5216 45.0744 -0.27 551 'ONLY' -POSI 'I569' 36 'IT56' 7.1924 43.1017 0.005 551 'ONLY' -POSI 'I569' 35 'IT56' 14.139 41.1856 0.005 550 'ONLY' -POSI 'I570' 35 'IT56' 14.7884 43.0772 -0.27 550 'ONLY' -POSI 'I570' 34 'IT56' 21.7497 40.1899 -0.27 549 'ONLY' -POSI 'I569' 34 'IT56' 20.7978 38.431 0.005 549 'ONLY' -POSI 'I570' 33 'IT56' 27.9743 35.9414 -0.27 548 'ONLY' -POSI 'I569' 33 'IT56' 26.7459 34.3631 0.005 548 'ONLY' -POSI 'I570' 32 'IT56' 33.6209 30.9502 -0.27 547 'ONLY' -POSI 'I569' 32 'IT56' 32.1494 29.5956 0.005 547 'ONLY' -POSI 'I570' 31 'IT56' 38.1287 24.9107 -0.27 546 'ONLY' -POSI 'I569' 31 'IT56' 36.4544 23.8169 0.005 546 'ONLY' -POSI 'I570' 30 'IT56' 41.8487 18.3566 -0.27 545 'ONLY' -POSI 'I569' 30 'IT56' 40.0172 17.5532 0.005 545 'ONLY' -POSI 'I570' 29 'IT56' 44.1513 11.1806 -0.27 544 'ONLY' -POSI 'I569' 29 'IT56' 42.2125 10.6897 0.005 544 'ONLY' -POSI 'I570' 28 'IT56' 45.5416 3.7737 -0.27 543 'ONLY' -POSI 'I569' 28 'IT56' 43.5484 3.6085 0.005 543 'ONLY' -POSI 'I570' 27 'IT56' 45.3894 -3.7611 -0.27 542 'ONLY' -POSI 'I569' 27 'IT56' 43.3963 -3.5959 0.005 542 'ONLY' -POSI 'I570' 26 'IT56' 44.2994 -11.2181 -0.27 541 'ONLY' -POSI 'I569' 26 'IT56' 42.3606 -10.7272 0.005 541 'ONLY' -POSI 'I569' 25 'IT56' 39.8773 -17.4918 0.005 540 'ONLY' -POSI 'I570' 25 'IT56' 41.7089 -18.2952 -0.27 540 'ONLY' -POSI 'I569' 24 'IT56' 36.5822 -23.9004 0.005 539 'ONLY' -POSI 'I570' 24 'IT56' 38.2566 -24.9943 -0.27 539 'ONLY' -POSI 'I569' 23 'IT56' 32.0371 -29.4922 0.005 538 'ONLY' -POSI 'I570' 23 'IT56' 33.5086 -30.8468 -0.27 538 'ONLY' -POSI 'I569' 22 'IT56' 26.8397 -34.4836 0.005 537 'ONLY' -POSI 'I570' 22 'IT56' 28.0681 -36.0619 -0.27 537 'ONLY' -POSI 'I569' 21 'IT56' 20.7251 -38.2967 0.005 536 'ONLY' -POSI 'I570' 21 'IT56' 21.677 -40.0556 -0.27 536 'ONLY' -POSI 'I570' 20 'IT56' 14.838 -43.2217 -0.27 535 'ONLY' -POSI 'I569' 20 'IT56' 14.1886 -41.33 0.005 535 'ONLY' -POSI 'I570' 19 'IT56' 7.4965 -44.9238 -0.27 534 'ONLY' -POSI 'I569' 19 'IT56' 7.1673 -42.9511 0.005 534 'ONLY' -POSI 'I569' 18 'IT56' 0.0 -43.6977 0.005 533 'ONLY' -POSI 'I570' 18 'IT56' 0.0 -45.6977 -0.27 533 'ONLY' -POSI 'I565' 9 'IT56' -38.8784 3.6026 -0.09 524 'ONLY' -POSI 'I565' 8 'IT56' -37.7021 10.7272 -0.09 523 'ONLY' -POSI 'I565' 7 'IT56' -34.9517 17.4039 -0.09 522 'ONLY' -POSI 'I565' 6 'IT56' -31.2811 23.6224 -0.09 521 'ONLY' -POSI 'I565' 5 'IT56' -26.3044 28.8546 -0.09 520 'ONLY' -POSI 'I565' 4 'IT56' -20.6354 33.3272 -0.09 519 'ONLY' -POSI 'I565' 3 'IT56' -14.1047 36.4084 -0.09 518 'ONLY' -POSI 'I565' 2 'IT56' -7.2027 38.5311 -0.09 517 'ONLY' -POSI 'I565' 1 'IT56' 0.0 39.045 -0.09 0 'ONLY' -POSI 'I565' 34 'IT56' 7.2027 38.5311 -0.09 516 'ONLY' -POSI 'I565' 33 'IT56' 14.1047 36.4084 -0.09 515 'ONLY' -POSI 'I565' 32 'IT56' 20.6354 33.3272 -0.09 514 'ONLY' -POSI 'I565' 31 'IT56' 26.3045 28.8546 -0.09 513 'ONLY' -POSI 'I565' 30 'IT56' 31.2811 23.6224 -0.09 512 'ONLY' -POSI 'I565' 29 'IT56' 34.9517 17.4038 -0.09 511 'ONLY' -POSI 'I565' 28 'IT56' 37.7021 10.7272 -0.09 510 'ONLY' -POSI 'I565' 27 'IT56' 38.8784 3.6026 -0.09 509 'ONLY' -POSI 'I565' 26 'IT56' 39.0313 -3.6168 -0.09 508 'ONLY' -POSI 'I565' 25 'IT56' 37.5545 -10.6852 -0.09 507 'ONLY' -POSI 'I565' 24 'IT56' 35.089 -17.4723 -0.09 506 'ONLY' -POSI 'I565' 23 'IT56' 31.1586 -23.5299 -0.09 505 'ONLY' -POSI 'I565' 22 'IT56' 26.4078 -28.968 -0.09 504 'ONLY' -POSI 'I565' 21 'IT56' 20.5545 -33.1967 -0.09 503 'ONLY' -POSI 'I565' 20 'IT56' 14.1601 -36.5515 -0.09 502 'ONLY' -POSI 'I565' 19 'IT56' 7.1745 -38.3802 -0.09 501 'ONLY' -POSI 'I565' 18 'IT56' 0.0 -39.1985 -0.09 533 'ONLY' -POSI 'I565' 17 'IT56' -7.1745 -38.3802 -0.09 532 'ONLY' -POSI 'I565' 16 'IT56' -14.1601 -36.5515 -0.09 531 'ONLY' -POSI 'I565' 15 'IT56' -20.5546 -33.1967 -0.09 530 'ONLY' -POSI 'I565' 14 'IT56' -26.4079 -28.968 -0.09 529 'ONLY' -POSI 'I565' 13 'IT56' -31.1586 -23.5299 -0.09 528 'ONLY' -POSI 'I565' 12 'IT56' -35.0891 -17.4723 -0.09 527 'ONLY' -POSI 'I565' 11 'IT56' -37.5545 -10.6852 -0.09 526 'ONLY' -POSI 'I565' 10 'IT56' -39.0313 -3.6168 -0.09 525 'ONLY' -POSI 'I571' 17 'IT56' 0.0 -41.1985 0.0 533 'ONLY' -POSI 'I571' 18 'IT56' -7.542 -40.3461 0.0 532 'ONLY' -POSI 'I571' 15 'IT56' -14.8826 -38.4165 0.0 531 'ONLY' -POSI 'I571' 16 'IT56' -21.6074 -34.8972 0.0 530 'ONLY' -POSI 'I571' 13 'IT56' -27.7553 -30.4461 0.0 529 'ONLY' -POSI 'I571' 14 'IT56' -32.7546 -24.7351 0.0 528 'ONLY' -POSI 'I571' 11 'IT56' -36.8794 -18.3637 0.0 527 'ONLY' -POSI 'I571' 12 'IT56' -39.4781 -11.2325 0.0 526 'ONLY' -POSI 'I571' 9 'IT56' -41.0228 -3.8013 0.0 525 'ONLY' -POSI 'I571' 10 'IT56' -40.8699 3.7872 0.0 524 'ONLY' -POSI 'I571' 7 'IT56' -39.6258 11.2745 0.0 523 'ONLY' -POSI 'I571' 8 'IT56' -36.742 18.2953 0.0 522 'ONLY' -POSI 'I571' 5 'IT56' -32.8771 24.8276 0.0 521 'ONLY' -POSI 'I571' 6 'IT56' -27.6518 30.3326 0.0 520 'ONLY' -POSI 'I571' 3 'IT56' -21.6882 35.0277 0.0 519 'ONLY' -POSI 'I571' 4 'IT56' -14.8272 38.2733 0.0 518 'ONLY' -POSI 'I571' 2 'IT56' -7.5702 40.497 0.0 517 'ONLY' -POSI 'I571' 1 'IT56' 0.0 41.045 0.0 0 'ONLY' -POSI 'I571' 33 'IT56' 7.5702 40.497 0.0 516 'ONLY' -POSI 'I571' 34 'IT56' 14.8272 38.2733 0.0 515 'ONLY' -POSI 'I571' 31 'IT56' 21.6882 35.0277 0.0 514 'ONLY' -POSI 'I571' 32 'IT56' 27.6518 30.3326 0.0 513 'ONLY' -POSI 'I571' 29 'IT56' 32.8771 24.8276 0.0 512 'ONLY' -POSI 'I571' 30 'IT56' 36.742 18.2953 0.0 511 'ONLY' -POSI 'I571' 27 'IT56' 39.6258 11.2745 0.0 510 'ONLY' -POSI 'I571' 28 'IT56' 40.8699 3.7871 0.0 509 'ONLY' -POSI 'I571' 26 'IT56' 41.0227 -3.8013 0.0 508 'ONLY' -POSI 'I571' 25 'IT56' 39.4781 -11.2325 0.0 507 'ONLY' -POSI 'I571' 23 'IT56' 36.8794 -18.3638 0.0 506 'ONLY' -POSI 'I571' 24 'IT56' 32.7546 -24.7352 0.0 505 'ONLY' -POSI 'I571' 21 'IT56' 27.7552 -30.4461 0.0 504 'ONLY' -POSI 'I571' 22 'IT56' 21.6074 -34.8972 0.0 503 'ONLY' -POSI 'I571' 19 'IT56' 14.8826 -38.4165 0.0 502 'ONLY' -POSI 'I571' 20 'IT56' 7.542 -40.3461 0.0 501 'ONLY' -POSI 'I553' 1 'I570' 0.0051 0.0 53.98 0 'ONLY' -POSI 'I523' 2 'I570' 0.0001 0.0 48.875 0 'ONLY' -POSI 'I523' 3 'I570' 0.0001 0.0 44.965 0 'ONLY' -POSI 'I523' 4 'I570' 0.0001 0.0 41.055 0 'ONLY' -POSI 'I523' 5 'I570' 0.0001 0.0 33.235 0 'ONLY' -POSI 'I523' 6 'I570' 0.0001 0.0 37.145 0 'ONLY' -POSI 'I523' 7 'I570' 0.0001 0.0 29.325 0 'ONLY' -POSI 'I523' 8 'I570' 0.0001 0.0 25.415 0 'ONLY' -POSI 'I523' 9 'I570' 0.0001 0.0 21.505 0 'ONLY' -POSI 'I523' 10 'I570' 0.0001 0.0 13.685 0 'ONLY' -POSI 'I523' 11 'I570' 0.0001 0.0 17.595 0 'ONLY' -POSI 'I523' 12 'I570' 0.0001 0.0 9.775 0 'ONLY' -POSI 'I523' 13 'I570' 0.0001 0.0 5.865 0 'ONLY' -POSI 'I523' 14 'I570' 0.0001 0.0 1.955 0 'ONLY' -POSI 'I523' 15 'I570' 0.0001 0.0 -1.955 0 'ONLY' -POSI 'I523' 16 'I570' 0.0001 0.0 -9.775 0 'ONLY' -POSI 'I523' 17 'I570' 0.0001 0.0 -5.865 0 'ONLY' -POSI 'I523' 18 'I570' 0.0001 0.0 -13.685 0 'ONLY' -POSI 'I523' 19 'I570' 0.0001 0.0 -21.505 0 'ONLY' -POSI 'I523' 20 'I570' 0.0001 0.0 -17.595 0 'ONLY' -POSI 'I523' 21 'I570' 0.0001 0.0 -25.415 0 'ONLY' -POSI 'I523' 22 'I570' 0.0001 0.0 -29.325 0 'ONLY' -POSI 'I523' 23 'I570' 0.0001 0.0 -37.145 0 'ONLY' -POSI 'I523' 24 'I570' 0.0001 0.0 -33.235 0 'ONLY' -POSI 'I523' 25 'I570' 0.0001 0.0 -44.965 0 'ONLY' -POSI 'I523' 26 'I570' 0.0001 0.0 -41.055 0 'ONLY' -POSI 'I553' 2 'I570' -0.0049 0.0 -53.98 570 'ONLY' -POSI 'I523' 1 'I570' 0.0001 0.0 -48.875 0 'ONLY' -POSI 'I566' 26 'I569' 0.0 0.03 -48.875 0 'ONLY' -POSI 'I568' 39 'I569' -1.8 0.015 48.455 572 'ONLY' -POSI 'I568' 38 'I569' 1.8 0.015 48.455 571 'ONLY' -POSI 'I568' 37 'I569' 0.0 0.015 50.555 571 'ONLY' -POSI 'I566' 2 'I569' 0.0 0.03 44.965 0 'ONLY' -POSI 'I566' 1 'I569' 0.0 -0.03 48.875 0 'ONLY' -POSI 'I568' 36 'I569' -1.8 0.015 40.635 572 'ONLY' -POSI 'I568' 35 'I569' 1.8 0.015 40.635 571 'ONLY' -POSI 'I568' 34 'I569' 0.0 0.015 42.735 571 'ONLY' -POSI 'I566' 4 'I569' 0.0 0.03 37.145 0 'ONLY' -POSI 'I566' 3 'I569' 0.0 -0.03 41.055 574 'ONLY' -POSI 'I568' 33 'I569' -1.8 0.015 32.815 572 'ONLY' -POSI 'I568' 32 'I569' 1.8 0.015 32.815 571 'ONLY' -POSI 'I568' 31 'I569' 0.0 0.015 34.915 571 'ONLY' -POSI 'I566' 6 'I569' 0.0 0.03 29.325 0 'ONLY' -POSI 'I566' 5 'I569' 0.0 -0.03 33.235 574 'ONLY' -POSI 'I568' 30 'I569' -1.8 0.015 24.995 572 'ONLY' -POSI 'I568' 29 'I569' 1.8 0.015 24.995 571 'ONLY' -POSI 'I568' 28 'I569' 0.0 0.015 27.095 571 'ONLY' -POSI 'I566' 8 'I569' 0.0 0.03 21.505 0 'ONLY' -POSI 'I566' 7 'I569' 0.0 -0.03 25.415 574 'ONLY' -POSI 'I568' 27 'I569' -1.8 0.015 17.175 572 'ONLY' -POSI 'I568' 26 'I569' 1.8 0.015 17.175 571 'ONLY' -POSI 'I568' 25 'I569' 0.0 0.015 19.275 571 'ONLY' -POSI 'I566' 10 'I569' 0.0 0.03 13.685 0 'ONLY' -POSI 'I566' 9 'I569' 0.0 -0.03 17.595 574 'ONLY' -POSI 'I568' 24 'I569' -1.8 0.015 9.355 572 'ONLY' -POSI 'I568' 23 'I569' 1.8 0.015 9.355 571 'ONLY' -POSI 'I568' 22 'I569' 0.0 0.015 11.455 571 'ONLY' -POSI 'I566' 12 'I569' 0.0 0.03 5.865 0 'ONLY' -POSI 'I566' 11 'I569' 0.0 -0.03 9.775 574 'ONLY' -POSI 'I568' 21 'I569' -1.8 0.015 1.535 572 'ONLY' -POSI 'I568' 20 'I569' 1.8 0.015 1.535 571 'ONLY' -POSI 'I568' 19 'I569' 0.0 0.015 3.635 571 'ONLY' -POSI 'I566' 14 'I569' 0.0 0.03 -1.955 0 'ONLY' -POSI 'I566' 13 'I569' 0.0 -0.03 1.955 0 'ONLY' -POSI 'I568' 18 'I569' -1.8 0.015 -6.285 572 'ONLY' -POSI 'I568' 17 'I569' 1.8 0.015 -6.285 571 'ONLY' -POSI 'I568' 16 'I569' 0.0 0.015 -4.185 571 'ONLY' -POSI 'I566' 16 'I569' 0.0 0.03 -9.775 0 'ONLY' -POSI 'I566' 15 'I569' 0.0 -0.03 -5.865 574 'ONLY' -POSI 'I568' 15 'I569' -1.8 0.015 -14.105 572 'ONLY' -POSI 'I568' 14 'I569' 1.8 0.015 -14.105 571 'ONLY' -POSI 'I568' 13 'I569' 0.0 0.015 -12.005 571 'ONLY' -POSI 'I566' 18 'I569' 0.0 0.03 -17.595 0 'ONLY' -POSI 'I566' 17 'I569' 0.0 -0.03 -13.685 574 'ONLY' -POSI 'I568' 12 'I569' -1.8 0.015 -21.925 572 'ONLY' -POSI 'I568' 11 'I569' 1.8 0.015 -21.925 571 'ONLY' -POSI 'I568' 10 'I569' 0.0 0.015 -19.825 571 'ONLY' -POSI 'I566' 20 'I569' 0.0 0.03 -25.415 0 'ONLY' -POSI 'I566' 19 'I569' 0.0 -0.03 -21.505 574 'ONLY' -POSI 'I568' 9 'I569' -1.8 0.015 -29.745 572 'ONLY' -POSI 'I568' 8 'I569' 1.8 0.015 -29.745 571 'ONLY' -POSI 'I568' 7 'I569' 0.0 0.015 -27.645 571 'ONLY' -POSI 'I566' 22 'I569' 0.0 0.03 -33.235 0 'ONLY' -POSI 'I566' 21 'I569' 0.0 -0.03 -29.325 574 'ONLY' -POSI 'I568' 6 'I569' -1.8 0.015 -37.565 572 'ONLY' -POSI 'I568' 5 'I569' 1.8 0.015 -37.565 571 'ONLY' -POSI 'I568' 4 'I569' 0.0 0.015 -35.465 571 'ONLY' -POSI 'I566' 24 'I569' 0.0 0.03 -41.055 0 'ONLY' -POSI 'I566' 23 'I569' 0.0 -0.03 -37.145 0 'ONLY' -POSI 'I568' 3 'I569' -1.8 0.015 -45.385 572 'ONLY' -POSI 'I568' 2 'I569' 1.8 0.015 -45.385 571 'ONLY' -POSI 'I568' 1 'I569' 0.0 0.015 -43.285 571 'ONLY' -POSI 'I566' 25 'I569' 0.0 -0.03 -44.965 574 'ONLY' -POSI 'I562' 22 'I565' 0.0 0.03 -39.2003 0 'ONLY' -POSI 'I564' 36 'I565' 1.8 0.015 42.6897 571 'ONLY' -POSI 'I564' 35 'I565' 0.0 0.015 44.7897 571 'ONLY' -POSI 'I564' 34 'I565' -1.8 0.015 42.6897 572 'ONLY' -POSI 'I562' 1 'I565' 0.0 -0.03 43.1097 574 'ONLY' -POSI 'I562' 2 'I565' 0.0 0.03 39.1997 0 'ONLY' -POSI 'I564' 33 'I565' 1.8 0.015 34.8497 571 'ONLY' -POSI 'I564' 32 'I565' 0.0 0.015 36.9497 571 'ONLY' -POSI 'I564' 31 'I565' -1.8 0.015 34.8497 572 'ONLY' -POSI 'I562' 3 'I565' 0.0 -0.03 35.2697 574 'ONLY' -POSI 'I562' 4 'I565' 0.0 0.03 31.3597 0 'ONLY' -POSI 'I564' 30 'I565' 1.8 0.015 27.0097 571 'ONLY' -POSI 'I564' 29 'I565' 0.0 0.015 29.1097 571 'ONLY' -POSI 'I564' 28 'I565' -1.8 0.015 27.0097 572 'ONLY' -POSI 'I562' 5 'I565' 0.0 -0.03 27.4297 574 'ONLY' -POSI 'I562' 6 'I565' 0.0 0.03 23.5197 0 'ONLY' -POSI 'I564' 27 'I565' 1.8 0.015 19.1697 571 'ONLY' -POSI 'I564' 26 'I565' 0.0 0.015 21.2697 571 'ONLY' -POSI 'I564' 25 'I565' -1.8 0.015 19.1697 572 'ONLY' -POSI 'I562' 7 'I565' 0.0 -0.03 19.5897 574 'ONLY' -POSI 'I562' 8 'I565' 0.0 0.03 15.6797 0 'ONLY' -POSI 'I564' 24 'I565' 1.8 0.015 11.3297 571 'ONLY' -POSI 'I564' 23 'I565' 0.0 0.015 13.4297 571 'ONLY' -POSI 'I564' 22 'I565' -1.8 0.015 11.3297 572 'ONLY' -POSI 'I562' 9 'I565' 0.0 -0.03 11.7497 574 'ONLY' -POSI 'I562' 10 'I565' 0.0 0.03 7.8397 0 'ONLY' -POSI 'I564' 21 'I565' 1.8 0.015 3.4897 571 'ONLY' -POSI 'I564' 20 'I565' 0.0 0.015 5.5897 571 'ONLY' -POSI 'I564' 19 'I565' -1.8 0.015 3.4897 572 'ONLY' -POSI 'I562' 11 'I565' 0.0 -0.03 3.9097 0 'ONLY' -POSI 'I562' 12 'I565' 0.0 0.03 -0.0003 0 'ONLY' -POSI 'I564' 18 'I565' 1.8 0.015 -4.3503 571 'ONLY' -POSI 'I564' 17 'I565' 0.0 0.015 -2.2503 571 'ONLY' -POSI 'I564' 16 'I565' -1.8 0.015 -4.3503 572 'ONLY' -POSI 'I562' 13 'I565' 0.0 -0.03 -3.9303 574 'ONLY' -POSI 'I562' 14 'I565' 0.0 0.03 -7.8403 0 'ONLY' -POSI 'I564' 15 'I565' 1.8 0.015 -12.1903 571 'ONLY' -POSI 'I564' 14 'I565' 0.0 0.015 -10.0903 571 'ONLY' -POSI 'I564' 13 'I565' -1.8 0.015 -12.1903 572 'ONLY' -POSI 'I562' 15 'I565' 0.0 -0.03 -11.7703 0 'ONLY' -POSI 'I562' 16 'I565' 0.0 0.03 -15.6803 0 'ONLY' -POSI 'I564' 12 'I565' 1.8 0.015 -20.0303 571 'ONLY' -POSI 'I564' 11 'I565' 0.0 0.015 -17.9303 571 'ONLY' -POSI 'I564' 10 'I565' -1.8 0.015 -20.0303 572 'ONLY' -POSI 'I562' 17 'I565' 0.0 -0.03 -19.6103 574 'ONLY' -POSI 'I562' 18 'I565' 0.0 0.03 -23.5203 0 'ONLY' -POSI 'I564' 9 'I565' 1.8 0.015 -27.8703 571 'ONLY' -POSI 'I564' 8 'I565' 0.0 0.015 -25.7703 571 'ONLY' -POSI 'I564' 7 'I565' -1.8 0.015 -27.8703 572 'ONLY' -POSI 'I562' 19 'I565' 0.0 -0.03 -27.4503 574 'ONLY' -POSI 'I562' 20 'I565' 0.0 0.03 -31.3603 0 'ONLY' -POSI 'I564' 6 'I565' 0.0 0.015 -41.4303 571 'ONLY' -POSI 'I564' 5 'I565' 1.8 0.015 -43.5303 571 'ONLY' -POSI 'I564' 4 'I565' -1.8 0.015 -43.5303 572 'ONLY' -POSI 'I562' 23 'I565' 0.0 -0.03 -43.1103 574 'ONLY' -POSI 'I564' 3 'I565' -1.8 0.015 -35.7103 572 'ONLY' -POSI 'I564' 2 'I565' 1.8 0.015 -35.7103 571 'ONLY' -POSI 'I564' 1 'I565' 0.0 0.015 -33.6103 571 'ONLY' -POSI 'I562' 21 'I565' 0.0 -0.03 -35.2903 574 'ONLY' -POSI 'I544' 1 'I571' 0.0101 0.0 48.115 0 'ONLY' -POSI 'I516' 23 'I571' 0.0001 0.0 43.01 0 'ONLY' -POSI 'I516' 22 'I571' 0.0001 0.0 39.1 0 'ONLY' -POSI 'I516' 21 'I571' 0.0001 0.0 35.19 0 'ONLY' -POSI 'I516' 20 'I571' 0.0001 0.0 31.28 0 'ONLY' -POSI 'I516' 19 'I571' 0.0001 0.0 27.37 0 'ONLY' -POSI 'I516' 18 'I571' 0.0001 0.0 23.46 0 'ONLY' -POSI 'I516' 17 'I571' 0.0001 0.0 19.55 0 'ONLY' -POSI 'I516' 16 'I571' 0.0001 0.0 15.64 0 'ONLY' -POSI 'I516' 15 'I571' 0.0001 0.0 11.73 0 'ONLY' -POSI 'I516' 14 'I571' 0.0001 0.0 7.82 0 'ONLY' -POSI 'I516' 13 'I571' 0.0001 0.0 3.91 0 'ONLY' -POSI 'I516' 12 'I571' 0.0001 0.0 0.0 0 'ONLY' -POSI 'I516' 11 'I571' 0.0001 0.0 -3.91 0 'ONLY' -POSI 'I516' 10 'I571' 0.0001 0.0 -7.82 0 'ONLY' -POSI 'I516' 9 'I571' 0.0001 0.0 -11.73 0 'ONLY' -POSI 'I516' 8 'I571' 0.0001 0.0 -15.64 0 'ONLY' -POSI 'I516' 7 'I571' 0.0001 0.0 -19.55 0 'ONLY' -POSI 'I516' 6 'I571' 0.0001 0.0 -23.46 0 'ONLY' -POSI 'I516' 5 'I571' 0.0001 0.0 -27.37 0 'ONLY' -POSI 'I516' 4 'I571' 0.0001 0.0 -31.28 0 'ONLY' -POSI 'I516' 3 'I571' 0.0001 0.0 -35.19 0 'ONLY' -POSI 'I516' 2 'I571' 0.0001 0.0 -39.1 0 'ONLY' -POSI 'I516' 1 'I571' 0.0001 0.0 -43.01 0 'ONLY' -POSI 'I544' 2 'I571' -0.0099 0.0 -48.115 570 'ONLY' -POSI 'I559' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I558' 1 'I553' -1.7167 -1.52 0.0 583 'ONLY' -POSI 'I557' 1 'I553' -1.8533 -1.341 0.0 581 'ONLY' -POSI 'I558' 2 'I553' 1.8367 -1.3122 0.0 575 'ONLY' -POSI 'I557' 2 'I553' 1.75 -1.52 0.0 583 'ONLY' -POSI 'I558' 3 'I553' -0.12 1.6613 0.0 581 'ONLY' -POSI 'I557' 3 'I553' 0.1034 1.6901 0.0 575 'ONLY' -POSI 'I556' 3 'I553' -1.031 0.2033 -2.203 580 'ONLY' -POSI 'I556' 1 'I553' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I554' 1 'I553' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I555' 1 'I553' -0.0072 -1.58 -1.2311 578 'ONLY' -POSI 'I556' 2 'I553' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I556' 4 'I553' -1.031 0.2033 -0.287 579 'ONLY' -POSI 'I559' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I561' 1 'I553' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I561' 2 'I553' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I519' 37 'I523' 0.0001 -1.79 -0.99 586 'ONLY' -POSI 'I519' 36 'I523' -3.2986 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 35 'I523' -3.2986 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 34 'I523' -3.2286 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 33 'I523' -3.2286 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 32 'I523' -3.1586 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 31 'I523' -3.1586 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 30 'I523' -1.3436 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 29 'I523' -1.3436 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 28 'I523' -1.2736 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 27 'I523' -1.2736 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 26 'I523' -1.2036 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 25 'I523' -1.2036 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 24 'I523' -1.0458 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 23 'I523' -1.0458 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 22 'I523' -0.9758 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 21 'I523' -0.9758 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 20 'I523' -0.9058 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 19 'I523' -0.9058 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 18 'I523' 0.9092 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 17 'I523' 0.9092 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 16 'I523' 0.9792 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 15 'I523' 0.9792 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 14 'I523' 1.0492 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 13 'I523' 1.0492 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 12 'I523' 1.207 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 11 'I523' 1.207 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 10 'I523' 1.277 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 9 'I523' 1.277 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 8 'I523' 1.347 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 7 'I523' 1.347 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 6 'I523' 3.162 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 5 'I523' 3.162 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 4 'I523' 3.232 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 3 'I523' 3.232 -1.71 -1.2943 0 'ONLY' -POSI 'I521' 12 'I523' -2.8209 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 11 'I523' -1.6895 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 10 'I523' -0.5631 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 9 'I523' 0.5633 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 8 'I523' 1.6861 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 7 'I523' 2.8161 -1.7925 -0.982 0 'ONLY' -POSI 'I519' 2 'I523' 3.302 -1.79 -1.2943 0 'ONLY' -POSI 'I520' 3 'I523' 0.0001 -1.845 -1.19 0 'ONLY' -POSI 'I520' 2 'I523' -2.2499 -1.845 -1.19 0 'ONLY' -POSI 'I521' 6 'I523' -2.8209 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 5 'I523' -1.6895 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 4 'I523' -0.5631 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 3 'I523' 0.5633 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 2 'I523' 1.6861 -1.7075 -0.982 0 'ONLY' -POSI 'I518' 1 'I523' 0.0001 -1.75 -1.065 0 'ONLY' -POSI 'I519' 1 'I523' 3.302 -1.71 -1.2943 0 'ONLY' -POSI 'I520' 1 'I523' 2.2501 -1.845 -1.19 0 'ONLY' -POSI 'I521' 1 'I523' 2.8161 -1.7075 -0.982 0 'ONLY' -POSI 'I522' 1 'I523' 2.2501 -1.655 -1.3 583 'MANY' -POSI 'I522' 2 'I523' -2.2499 -1.655 -1.3 583 'MANY' -POSI 'I542' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I542' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I543' 1 'I523' 2.1001 -1.615 0.955 0 'MANY' -POSI 'I543' 2 'I523' -2.0999 -1.615 0.955 573 'MANY' -POSI 'I537' 2 'I523' 1.7501 -1.52 0.0 583 'ONLY' -POSI 'I538' 2 'I523' 1.8368 -1.3122 0.0 575 'ONLY' -POSI 'I537' 3 'I523' 0.1035 1.6901 0.0 575 'ONLY' -POSI 'I538' 3 'I523' -0.1199 1.6612 0.0 581 'ONLY' -POSI 'I538' 1 'I523' -1.7166 -1.52 0.0 583 'ONLY' -POSI 'I537' 1 'I523' -1.8532 -1.341 0.0 581 'ONLY' -POSI 'I536' 3 'I523' -1.031 0.2033 -1.008 580 'ONLY' -POSI 'I536' 4 'I523' -1.031 0.2033 0.908 579 'ONLY' -POSI 'I535' 1 'I523' -0.0072 -1.58 -0.0361 578 'ONLY' -POSI 'I536' 2 'I523' 1.0312 0.2033 -1.008 577 'ONLY' -POSI 'I536' 1 'I523' 1.0312 0.2033 0.908 576 'ONLY' -POSI 'I534' 1 'I523' 0.0001 -1.58 1.905 0 'ONLY' -POSI 'I540' 1 'I523' 0.0001 -1.785 1.905 571 'ONLY' -POSI 'I539' 1 'I523' 1.8001 -1.75 -0.195 571 'ONLY' -POSI 'I539' 2 'I523' -1.7999 -1.75 -0.195 572 'ONLY' -POSI 'ITS6' 1 'I566' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS5' 1 'I562' 0.0 0.0 0.0 0 'ONLY' -POSI 'I550' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I550' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I549' 1 'I544' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I548' 1 'I544' 1.8533 -1.341 0.0 575 'ONLY' -POSI 'I547' 1 'I544' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I545' 1 'I544' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I547' 2 'I544' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I546' 1 'I544' -0.0073 -1.58 -1.2311 578 'ONLY' -POSI 'I547' 4 'I544' -1.0311 0.2033 -0.287 579 'ONLY' -POSI 'I547' 3 'I544' -1.0311 0.2033 -2.203 580 'ONLY' -POSI 'I548' 2 'I544' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I549' 2 'I544' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I549' 3 'I544' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I548' 3 'I544' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I552' 1 'I544' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I552' 2 'I544' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I515' 12 'I516' -1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 11 'I516' -1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 37 'I516' 0.0 -1.79 -1.035 586 'ONLY' -POSI 'I513' 1 'I516' -3.2987 -1.71 -1.2943 0 'ONLY' -POSI 'I515' 1 'I516' -2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I514' 1 'I516' -2.25 -1.845 -1.19 0 'ONLY' -POSI 'I514' 2 'I516' 0.0 -1.845 -1.19 0 'ONLY' -POSI 'I514' 3 'I516' 2.25 -1.845 -1.19 0 'ONLY' -POSI 'I515' 2 'I516' -2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 2 'I516' -3.2987 -1.79 -1.2943 0 'ONLY' -POSI 'I515' 3 'I516' -0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 4 'I516' -0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 5 'I516' 0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 6 'I516' 0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 7 'I516' 1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 8 'I516' 1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 9 'I516' 2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 10 'I516' 2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I513' 3 'I516' -3.2287 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 4 'I516' -3.2287 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 5 'I516' -3.1587 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 6 'I516' -3.1587 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 7 'I516' -1.3437 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 8 'I516' -1.3437 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 9 'I516' -1.2737 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 10 'I516' -1.2737 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 11 'I516' -1.2037 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 12 'I516' -1.2037 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 13 'I516' -1.046 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 14 'I516' -1.046 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 15 'I516' -0.976 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 16 'I516' -0.976 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 17 'I516' -0.906 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 18 'I516' -0.906 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 19 'I516' 0.9091 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 20 'I516' 0.9091 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 21 'I516' 0.9791 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 22 'I516' 0.9791 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 23 'I516' 1.0491 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 24 'I516' 1.0491 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 25 'I516' 1.2068 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 26 'I516' 1.2068 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 27 'I516' 1.2768 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 28 'I516' 1.2768 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 29 'I516' 1.3469 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 30 'I516' 1.3469 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 31 'I516' 3.1619 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 32 'I516' 3.1619 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 33 'I516' 3.2319 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 34 'I516' 3.2319 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 35 'I516' 3.3019 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 36 'I516' 3.3019 -1.71 -1.2943 0 'ONLY' -POSI 'I512' 1 'I516' 0.0 -1.75 -1.065 0 'ONLY' -POSI 'I528' 1 'I516' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I527' 1 'I516' 1.8534 -1.341 0.0 575 'ONLY' -POSI 'I528' 2 'I516' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I527' 2 'I516' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I527' 3 'I516' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I528' 3 'I516' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I526' 2 'I516' 1.0311 0.2033 -1.008 577 'ONLY' -POSI 'I525' 1 'I516' -0.0073 -1.58 -0.0361 578 'ONLY' -POSI 'I524' 1 'I516' 0.0 -1.58 1.905 0 'ONLY' -POSI 'I526' 1 'I516' 1.0311 0.2033 0.908 576 'ONLY' -POSI 'I526' 3 'I516' -1.0311 0.2033 0.908 579 'ONLY' -POSI 'I526' 4 'I516' -1.0311 0.2033 -1.008 580 'ONLY' -POSI 'I529' 1 'I516' 1.8 -1.75 -0.195 571 'ONLY' -POSI 'I530' 1 'I516' 0.0 -1.785 1.905 571 'ONLY' -POSI 'I529' 2 'I516' -1.8 -1.75 -0.195 572 'ONLY' -POSI 'I517' 1 'I516' 2.25 -1.655 -1.3 583 'MANY' -POSI 'I517' 2 'I516' -2.25 -1.655 -1.3 584 'MANY' -POSI 'I531' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I531' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I533' 1 'I516' 2.1 -1.615 0.955 0 'MANY' -POSI 'I533' 2 'I516' -2.1 -1.615 0.955 573 'MANY' -! -! POSITIONNEMENTS SUPPORT SSD -! -POSI 'I212' 2 'IS01' 0.0 0.0 -1.4 701 'MANY' -POSI 'I212' 1 'IS01' 0.0 0.0 0.0 0 'MANY' -POSI 'I210' 1 'IS01' 0.0 0.0 -0.7 0 'ONLY' -POSI 'I211' 1 'IS01' 0.0 0.0 -56.5 0 'ONLY' -POSI 'I217' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I218' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I219' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I220' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I211' 2 'IS01' 0.0 0.0 55.1 701 'ONLY' -POSI 'I219' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I220' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I217' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I218' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I214' 2 'IS01' 0.0 0.0 65.85 701 'ONLY' -POSI 'I213' 2 'IS01' 0.0 0.0 60.85 701 'ONLY' -POSI 'I213' 1 'IS01' 0.0 0.0 -62.25 0 'ONLY' -POSI 'I214' 1 'IS01' 0.0 0.0 -67.25 0 'ONLY' -POSI 'I215' 19 'IS01' 0.0 0.0 -1.4 702 'ONLY' -POSI 'I215' 21 'IS01' 0.0 0.0 -1.4 703 'ONLY' -POSI 'I215' 23 'IS01' 0.0 0.0 -1.4 704 'ONLY' -POSI 'I215' 24 'IS01' 0.0 0.0 -1.4 705 'ONLY' -POSI 'I215' 3 'IS01' 0.0 0.0 -1.4 706 'ONLY' -POSI 'I215' 5 'IS01' 0.0 0.0 -1.4 707 'ONLY' -POSI 'I215' 7 'IS01' 0.0 0.0 -1.4 708 'ONLY' -POSI 'I215' 9 'IS01' 0.0 0.0 -1.4 709 'ONLY' -POSI 'I215' 11 'IS01' 0.0 0.0 -1.4 710 'ONLY' -POSI 'I215' 13 'IS01' 0.0 0.0 -1.4 711 'ONLY' -POSI 'I215' 15 'IS01' 0.0 0.0 -1.4 712 'ONLY' -POSI 'I215' 17 'IS01' 0.0 0.0 -1.4 713 'ONLY' -POSI 'I216' 9 'IS01' 0.0 0.0 45.35 714 'ONLY' -POSI 'I216' 11 'IS01' 0.0 0.0 45.35 715 'ONLY' -POSI 'I216' 12 'IS01' 0.0 0.0 45.35 716 'ONLY' -POSI 'I216' 3 'IS01' 0.0 0.0 45.35 717 'ONLY' -POSI 'I216' 5 'IS01' 0.0 0.0 45.35 718 'ONLY' -POSI 'I216' 7 'IS01' 0.0 0.0 45.35 719 'ONLY' -POSI 'I216' 10 'IS01' 0.0 0.0 -46.75 720 'ONLY' -POSI 'I216' 1 'IS01' 0.0 0.0 -46.75 721 'ONLY' -POSI 'I216' 2 'IS01' 0.0 0.0 -46.75 722 'ONLY' -POSI 'I216' 4 'IS01' 0.0 0.0 -46.75 723 'ONLY' -POSI 'I216' 6 'IS01' 0.0 0.0 -46.75 724 'ONLY' -POSI 'I216' 8 'IS01' 0.0 0.0 -46.75 725 'ONLY' -POSI 'I215' 1 'IS01' 0.0 0.0 0.0 726 'ONLY' -POSI 'I215' 2 'IS01' 0.0 0.0 0.0 727 'ONLY' -POSI 'I215' 4 'IS01' 0.0 0.0 0.0 728 'ONLY' -POSI 'I215' 6 'IS01' 0.0 0.0 0.0 729 'ONLY' -POSI 'I215' 8 'IS01' 0.0 0.0 0.0 733 'ONLY' -POSI 'I215' 10 'IS01' 0.0 0.0 0.0 730 'ONLY' -POSI 'I215' 12 'IS01' 0.0 0.0 0.0 731 'ONLY' -POSI 'I215' 14 'IS01' 0.0 0.0 0.0 768 'ONLY' -POSI 'I215' 16 'IS01' 0.0 0.0 0.0 732 'ONLY' -POSI 'I215' 18 'IS01' 0.0 0.0 0.0 734 'ONLY' -POSI 'I215' 20 'IS01' 0.0 0.0 0.0 798 'ONLY' -POSI 'I215' 22 'IS01' 0.0 0.0 0.0 735 'ONLY' -! -! POSITIONNEMENTS SUPPORT SDD -! -POSI 'I093' 1 'IS02' 0.0 0.0 0.0 0 'MANY' -POSI 'I093' 2 'IS02' 0.0 0.0 0.0 856 'MANY' -POSI 'I099' 4 'IS02' 0.0 0.0 0.0 857 'ONLY' -POSI 'I099' 3 'IS02' 0.0 0.0 0.0 858 'ONLY' -POSI 'I099' 5 'IS02' 0.0 0.0 0.0 859 'ONLY' -POSI 'I099' 6 'IS02' 0.0 0.0 0.0 860 'ONLY' -POSI 'I099' 7 'IS02' 0.0 0.0 0.0 861 'ONLY' -POSI 'I099' 2 'IS02' 0.0 0.0 0.0 862 'ONLY' -POSI 'I200' 4 'IS02' 0.0 0.0 0.0 863 'ONLY' -POSI 'I200' 3 'IS02' 0.0 0.0 0.0 864 'ONLY' -POSI 'I200' 2 'IS02' 0.0 0.0 0.0 865 'ONLY' -POSI 'I200' 13 'IS02' 0.0 0.0 0.0 867 'ONLY' -POSI 'I200' 12 'IS02' 0.0 0.0 0.0 869 'ONLY' -POSI 'I200' 11 'IS02' 0.0 0.0 0.0 870 'ONLY' -POSI 'I200' 10 'IS02' 0.0 0.0 0.0 871 'ONLY' -POSI 'I200' 9 'IS02' 0.0 0.0 0.0 872 'ONLY' -POSI 'I200' 8 'IS02' 0.0 0.0 0.0 873 'ONLY' -POSI 'I200' 7 'IS02' 0.0 0.0 0.0 874 'ONLY' -POSI 'I200' 6 'IS02' 0.0 0.0 0.0 875 'ONLY' -POSI 'I200' 5 'IS02' 0.0 0.0 0.0 876 'ONLY' -POSI 'I090' 2 'IS02' 0.0 0.0 -39.15 0 'ONLY' -POSI 'I089' 1 'IS02' 0.0 0.0 0.0 0 'ONLY' -POSI 'I090' 1 'IS02' 0.0 0.0 39.15 856 'ONLY' -POSI 'I099' 9 'IS02' 0.0 0.0 0.0 877 'ONLY' -POSI 'I099' 8 'IS02' 0.0 0.0 0.0 879 'ONLY' -POSI 'I099' 1 'IS02' 0.0 0.0 0.0 880 'ONLY' -POSI 'I099' 12 'IS02' 0.0 0.0 0.0 881 'ONLY' -POSI 'I099' 11 'IS02' 0.0 0.0 0.0 851 'ONLY' -POSI 'I099' 10 'IS02' 0.0 0.0 0.0 882 'ONLY' -POSI 'I200' 23 'IS02' 0.0 0.0 0.0 898 'ONLY' -POSI 'I200' 24 'IS02' 0.0 0.0 0.0 883 'ONLY' -POSI 'I200' 1 'IS02' 0.0 0.0 0.0 884 'ONLY' -POSI 'I200' 14 'IS02' 0.0 0.0 0.0 885 'ONLY' -POSI 'I200' 15 'IS02' 0.0 0.0 0.0 887 'ONLY' -POSI 'I200' 16 'IS02' 0.0 0.0 0.0 888 'ONLY' -POSI 'I200' 17 'IS02' 0.0 0.0 0.0 889 'ONLY' -POSI 'I200' 18 'IS02' 0.0 0.0 0.0 890 'ONLY' -POSI 'I200' 22 'IS02' 0.0 0.0 0.0 891 'ONLY' -POSI 'I200' 21 'IS02' 0.0 0.0 0.0 892 'ONLY' -POSI 'I200' 20 'IS02' 0.0 0.0 0.0 868 'ONLY' -POSI 'I200' 19 'IS02' 0.0 0.0 0.0 893 'ONLY' -POSI 'I098' 1 'IS02' 0.0 0.0 32.1 0 'ONLY' -POSI 'I097' 1 'IS02' 0.0 0.0 25.1 0 'ONLY' -POSI 'I097' 2 'IS02' 0.0 0.0 -25.1 856 'ONLY' -POSI 'I098' 2 'IS02' 0.0 0.0 -32.1 856 'ONLY' -POSI 'I202' 1 'IS02' 12.1 0.0 33.84 0 'ONLY' -POSI 'I202' 6 'IS02' -6.05 -10.4789 33.84 930 'ONLY' -POSI 'I202' 5 'IS02' -6.05 10.4789 33.84 929 'ONLY' -POSI 'I202' 2 'IS02' 12.1 0.0 -33.84 856 'ONLY' -POSI 'I202' 3 'IS02' -6.05 10.4789 -33.84 932 'ONLY' -POSI 'I202' 4 'IS02' -6.05 -10.4789 -33.84 934 'ONLY' -POSI 'I203' 12 'IS02' 21.8453 0.0 -42.24 856 'ONLY' -POSI 'I203' 11 'IS02' 10.9227 -18.9186 -42.24 935 'ONLY' -POSI 'I203' 10 'IS02' 10.9227 -18.9186 42.24 846 'ONLY' -POSI 'I203' 9 'IS02' -10.9227 -18.9186 -42.24 934 'ONLY' -POSI 'I203' 8 'IS02' -10.9227 -18.9186 42.24 930 'ONLY' -POSI 'I203' 7 'IS02' -21.8453 0.0 -42.24 933 'ONLY' -POSI 'I203' 6 'IS02' -21.8453 0.0 42.24 878 'ONLY' -POSI 'I203' 5 'IS02' -10.9227 18.9186 -42.24 932 'ONLY' -POSI 'I203' 4 'IS02' -10.9227 18.9186 42.24 929 'ONLY' -POSI 'I203' 3 'IS02' 10.9227 18.9186 -42.24 931 'ONLY' -POSI 'I203' 2 'IS02' 10.9227 18.9186 42.24 853 'ONLY' -POSI 'I203' 1 'IS02' 21.8453 0.0 42.24 0 'ONLY' -POSI 'I095' 1 'I098' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 23 'I098' 22.77 0.0 0.0 894 'MANY' -POSI 'I096' 14 'I098' 22.3754 6.57 0.0 895 'MANY' -POSI 'I096' 3 'I098' 19.1553 12.3104 0.0 896 'MANY' -POSI 'I096' 16 'I098' 15.2714 17.6241 0.0 897 'MANY' -POSI 'I096' 5 'I098' 9.459 20.7123 0.0 899 'MANY' -POSI 'I096' 18 'I098' 3.3188 23.0826 0.0 900 'MANY' -POSI 'I096' 7 'I098' -3.2405 22.5382 0.0 901 'MANY' -POSI 'I096' 20 'I098' -9.6875 21.2126 0.0 902 'MANY' -POSI 'I096' 9 'I098' -14.9112 17.2084 0.0 903 'MANY' -POSI 'I096' 22 'I098' -19.618 12.6077 0.0 904 'MANY' -POSI 'I096' 11 'I098' -21.8477 6.4151 0.0 905 'MANY' -POSI 'I096' 24 'I098' -23.32 0.0 0.0 906 'MANY' -POSI 'I096' 13 'I098' -21.8477 -6.4151 0.0 907 'MANY' -POSI 'I096' 4 'I098' -19.618 -12.6077 0.0 908 'MANY' -POSI 'I096' 15 'I098' -14.9112 -17.2084 0.0 909 'MANY' -POSI 'I096' 6 'I098' -9.6875 -21.2126 0.0 910 'MANY' -POSI 'I096' 17 'I098' -3.2405 -22.5382 0.0 911 'MANY' -POSI 'I096' 8 'I098' 3.3188 -23.0826 0.0 912 'MANY' -POSI 'I096' 19 'I098' 9.459 -20.7123 0.0 913 'MANY' -POSI 'I096' 10 'I098' 15.2714 -17.6241 0.0 914 'MANY' -POSI 'I096' 21 'I098' 19.1553 -12.3104 0.0 915 'MANY' -POSI 'I096' 12 'I098' 22.3754 -6.57 0.0 916 'MANY' -POSI 'I094' 1 'I097' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 1 'I097' 13.87 0.0 0.0 894 'MANY' -POSI 'I096' 32 'I097' 13.037 6.2783 0.0 917 'MANY' -POSI 'I096' 25 'I097' 8.6478 10.844 0.0 918 'MANY' -POSI 'I096' 34 'I097' 3.2199 14.1072 0.0 919 'MANY' -POSI 'I096' 27 'I097' -3.0864 13.5223 0.0 920 'MANY' -POSI 'I096' 36 'I097' -9.0219 11.3131 0.0 921 'MANY' -POSI 'I096' 29 'I097' -12.4964 6.018 0.0 922 'MANY' -POSI 'I096' 2 'I097' -14.47 0.0 0.0 906 'MANY' -POSI 'I096' 31 'I097' -12.4964 -6.018 0.0 923 'MANY' -POSI 'I096' 26 'I097' -9.0219 -11.3131 0.0 924 'MANY' -POSI 'I096' 33 'I097' -3.0864 -13.5223 0.0 925 'MANY' -POSI 'I096' 28 'I097' 3.2199 -14.1072 0.0 926 'MANY' -POSI 'I096' 35 'I097' 8.6478 -10.844 0.0 927 'MANY' -POSI 'I096' 30 'I097' 13.037 -6.2783 0.0 928 'MANY' -! -! POSITIONNEMENTS SERVICES -! -POSI 'I1CU' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I1CU' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I2CU' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I2CU' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I1CC' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I1CC' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I2CC' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I2CC' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'IPA1' 1 'ITSV' 0. 0. 98.45 0 'ONLY' -POSI 'IPA1' 2 'ITSV' 0. 0. -98.45 212 'ONLY' -POSI 'IPA2' 1 'ITSV' 0. 0. 98.45 0 'ONLY' -POSI 'IPA2' 2 'ITSV' 0. 0. -98.45 212 'ONLY' -POSI 'ICU1' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICU2' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICU3' 1 'ITSV' 0. 0. 286. 0 'ONLY' -POSI 'ICU4' 1 'ITSV' 0. 0. 286. 0 'ONLY' -POSI 'ICU5' 1 'ITSV' 0. 0. -193.1 0 'ONLY' -POSI 'ICU6' 1 'ITSV' 0. 0. -193.1 0 'ONLY' -POSI 'ICU7' 1 'ITSV' 0. 0. -286. 0 'ONLY' -POSI 'ICU8' 1 'ITSV' 0. 0. -286. 0 'ONLY' -POSI 'ICC1' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICC2' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICC3' 1 'ITSV' 0. 0. 284.75 0 'ONLY' -POSI 'ICC4' 1 'ITSV' 0. 0. 284.75 0 'ONLY' -POSI 'ICC5' 1 'ITSV' 0. 0. -192.35 0 'ONLY' -POSI 'ICC6' 1 'ITSV' 0. 0. -192.35 0 'ONLY' -POSI 'ICC7' 1 'ITSV' 0. 0. -286.75 0 'ONLY' -POSI 'ICC8' 1 'ITSV' 0. 0. -286.75 0 'ONLY' -POSI 'IHK1' 1 'ITSV' 0. 0. -286.5 0 'ONLY' -POSI 'IHK2' 1 'ITSV' 0. 0. -286.5 0 'ONLY' -! -! POSITIONNEMENTS RAILS -! -POSI 'IRAI' 1 'ITSV' 53. 0. -69.5 0 'ONLY' -POSI 'IRAI' 2 'ITSV' -53. 0. -69.5 0 'ONLY' -!POSI 'ICYL' 1 'ALIC' 0. 0. 74. 0 'ONLY -!POSI 'ICYL' 2 'ALIC' 0. 0. -74. 212 'ONLY -! -! Positionnements Finals -! -POSI 'ITSD' 1 'ITSV' 0 0 0 0 'ONLY' -END - - diff --git a/Euclid/ITSgeometry_5asymm.tme b/Euclid/ITSgeometry_5asymm.tme deleted file mode 100644 index b7147fefffb..00000000000 --- a/Euclid/ITSgeometry_5asymm.tme +++ /dev/null @@ -1,77 +0,0 @@ -MATE 1 'SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 1 'SI ' 1 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 2 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 2 'SPD SI CHIP ' 2 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 3 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 3 'SPD SI BUS ' 3 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 4 'C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 4 'C (M55J) ' 4 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 5 'AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 5 'AIR ' 5 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 6 'GEN AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 6 'GEN AIR ' 6 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 7 'SDD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 7 'SDD SI CHIP ' 7 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 9 'SDD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 9 'SDD C (M55J) ' 9 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 10 'SDD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 10 'SDD AIR ' 10 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 11 'AL ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 11 'AL ' 11 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 12 'WATER ' 0.14322E+02 0.72167E+01 0.10000E+01 -0.35759E+02 0.94951E+02 0 -TMED 12 'WATER ' 12 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 14 'COPPER ' 0.63546E+02 0.29000E+02 0.89600E+01 -0.14300E+01 0.99900E+03 0 -TMED 14 'COPPER ' 14 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 15 'CERAMICS ' 0.22314E+02 0.10856E+02 0.36000E+01 -0.76200E+01 0.31901E+02 0 -TMED 15 'CERAMICS ' 15 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 20 'SSD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 20 'SSD C (M55J) ' 20 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 21 'SSD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 21 'SSD AIR ' 21 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 25 'G10FR4 ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 25 'G10FR4 ' 25 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 26 'GEN C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 26 'GEN C (M55J) ' 26 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 27 'GEN Air ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 27 'GEN Air ' 27 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 51 'SPD SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 51 'SPD SI ' 51 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 52 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 52 'SPD SI CHIP ' 52 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 53 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 53 'SPD SI BUS ' 53 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 54 'SPD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 54 'SPD C (M55J) ' 54 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 55 'SPD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 55 'SPD AIR ' 55 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 56 'SPD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 56 'SPD KAPTON (POLYCH2)' 56 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 61 'EPOXY ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 61 'EPOXY ' 61 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 62 'SILICON ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 62 'SILICON ' 62 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 63 'KAPTON-H (POLYCH2) ' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 63 'KAPTON-H (POLYCH2 ' 63 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 64 'ALUMINUM ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 64 'ALUMINUM ' 64 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 65 'INOX ' 0.55098E+02 0.2572E+02 0.7900E+01 -0.17800E+01 0.99900E+03 0 -TMED 65 'INOX ' 65 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 68 'ROHACELL (Z,A ?) ' 0.12011E+02 0.60000E+01 0.9500E-01 -0.43600E+03 0.99900E+03 0 -TMED 68 'ROHACELL (Z,A ?) ' 68 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 69 'SDD C AL (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 69 'SDD C AL (M55J) ' 69 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 70 'SDD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 70 'SDD KAPTON (POLYCH2)' 70 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 71 'ITS SANDW A (Z,A ?) ' 0.12011E+02 0.60000E+01 0.2115E+00 -0.17479E+03 0.99900E+03 0 -TMED 71 'ITS SANDW A (Z,A ?) ' 71 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 72 'ITS SANDW B (Z,A ?) ' 0.12011E+02 0.60000E+01 0.27000E+00 -0.18956E+03 0.99900E+03 0 -TMED 72 'ITS SANDW B (Z,A ?) ' 72 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 73 'ITS SANDW C (Z,A ?) ' 0.12011E+02 0.60000E+01 0.41000E+00 -0.90868E+02 0.99900E+03 0 -TMED 73 'ITS SANDW C (Z,A ?) ' 73 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 74 'HEAT COND GLUE (Z,A)' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 74 'HEAT COND GLUE (Z,A)' 74 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 75 'ELASTO SIL ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 75 'ELASTO SIL ' 75 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 76 'SPD BUS(AL+KPT+EPOX)' 0.19509E+02 0.96502E+01 0.19060E+01 -0.15413E+02 0.99900E+03 0 -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -END diff --git a/Euclid/ITSgeometry_5symm.det b/Euclid/ITSgeometry_5symm.det deleted file mode 100644 index ac03a2d551f..00000000000 --- a/Euclid/ITSgeometry_5symm.det +++ /dev/null @@ -1,2270 +0,0 @@ - 1 1 1 1.5466 3.7892 12.72 90. 162. 90. 252. 0. 0. - 1 1 2 1.5466 3.7892 4.24 90. 162. 90. 252. 0. 0. - 1 1 3 1.5466 3.7892 -4.24 90. 162. 90. 252. 0. 0. - 1 1 4 1.5466 3.7892 -12.72 90. 162. 90. 252. 0. 0. - 1 2 1 0.3000 3.8375 12.72 90. 180. 90. 270. 0. 0. - 1 2 2 0.3000 3.8375 4.24 90. 180. 90. 270. 0. 0. - 1 2 3 0.3000 3.8375 -4.24 90. 180. 90. 270. 0. 0. - 1 2 4 0.3000 3.8375 -12.72 90. 180. 90. 270. 0. 0. - 1 3 1 -0.9760 3.9746 12.72 90. 198. 90. 288. 0. 0. - 1 3 2 -0.9760 3.9746 4.24 90. 198. 90. 288. 0. 0. - 1 3 3 -0.9760 3.9746 -4.24 90. 198. 90. 288. 0. 0. - 1 3 4 -0.9760 3.9746 -12.72 90. 198. 90. 288. 0. 0. - 1 4 1 -2.0129 3.2809 12.72 90. 216. 90. 306. 0. 0. - 1 4 2 -2.0129 3.2809 4.24 90. 216. 90. 306. 0. 0. - 1 4 3 -2.0129 3.2809 -4.24 90. 216. 90. 306. 0. 0. - 1 4 4 -2.0129 3.2809 -12.72 90. 216. 90. 306. 0. 0. - 1 5 1 -3.1259 2.6418 12.72 90. 234. 90. 324. 0. 0. - 1 5 2 -3.1259 2.6418 4.24 90. 234. 90. 324. 0. 0. - 1 5 3 -3.1259 2.6418 -4.24 90. 234. 90. 324. 0. 0. - 1 5 4 -3.1259 2.6418 -12.72 90. 234. 90. 324. 0. 0. - 1 6 1 -3.5570 1.4712 12.72 90. 252. 90. 342. 0. 0. - 1 6 2 -3.5570 1.4712 4.24 90. 252. 90. 342. 0. 0. - 1 6 3 -3.5570 1.4712 -4.24 90. 252. 90. 342. 0. 0. - 1 6 4 -3.5570 1.4712 -12.72 90. 252. 90. 342. 0. 0. - 1 7 1 -4.0817 0.3000 12.72 90. 270. 90. 0. 0. 0. - 1 7 2 -4.0817 0.3000 4.24 90. 270. 90. 0. 0. 0. - 1 7 3 -4.0817 0.3000 -4.24 90. 270. 90. 0. 0. 0. - 1 7 4 -4.0817 0.3000 -12.72 90. 270. 90. 0. 0. 0. - 1 8 1 -3.7424 -0.9005 12.72 90. 288. 90. 18. 0. 0. - 1 8 2 -3.7424 -0.9005 4.24 90. 288. 90. 18. 0. 0. - 1 8 3 -3.7424 -0.9005 -4.24 90. 288. 90. 18. 0. 0. - 1 8 4 -3.7424 -0.9005 -12.72 90. 288. 90. 18. 0. 0. - 1 9 1 -3.4785 -2.1565 12.72 90. 306. 90. 36. 0. 0. - 1 9 2 -3.4785 -2.1565 4.24 90. 306. 90. 36. 0. 0. - 1 9 3 -3.4785 -2.1565 -4.24 90. 306. 90. 36. 0. 0. - 1 9 4 -3.4785 -2.1565 -12.72 90. 306. 90. 36. 0. 0. - 1 10 1 -2.4983 -2.9283 12.72 90. 324. 90. 54. 0. 0. - 1 10 2 -2.4983 -2.9283 4.24 90. 324. 90. 54. 0. 0. - 1 10 3 -2.4983 -2.9283 -4.24 90. 324. 90. 54. 0. 0. - 1 10 4 -2.4983 -2.9283 -12.72 90. 324. 90. 54. 0. 0. - 1 11 1 -1.5466 -3.7892 12.72 90. 342. 90. 72. 0. 0. - 1 11 2 -1.5466 -3.7892 4.24 90. 342. 90. 72. 0. 0. - 1 11 3 -1.5466 -3.7892 -4.24 90. 342. 90. 72. 0. 0. - 1 11 4 -1.5466 -3.7892 -12.72 90. 342. 90. 72. 0. 0. - 1 12 1 -0.3000 -3.8375 12.72 90. 0. 90. 90. 0. 0. - 1 12 2 -0.3000 -3.8375 4.24 90. 0. 90. 90. 0. 0. - 1 12 3 -0.3000 -3.8375 -4.24 90. 0. 90. 90. 0. 0. - 1 12 4 -0.3000 -3.8375 -12.72 90. 0. 90. 90. 0. 0. - 1 13 1 0.9760 -3.9746 12.72 90. 18. 90. 108. 0. 0. - 1 13 2 0.9760 -3.9746 4.24 90. 18. 90. 108. 0. 0. - 1 13 3 0.9760 -3.9746 -4.24 90. 18. 90. 108. 0. 0. - 1 13 4 0.9760 -3.9746 -12.72 90. 18. 90. 108. 0. 0. - 1 14 1 2.0129 -3.2809 12.72 90. 36. 90. 126. 0. 0. - 1 14 2 2.0129 -3.2809 4.24 90. 36. 90. 126. 0. 0. - 1 14 3 2.0129 -3.2809 -4.24 90. 36. 90. 126. 0. 0. - 1 14 4 2.0129 -3.2809 -12.72 90. 36. 90. 126. 0. 0. - 1 15 1 3.1259 -2.6418 12.72 90. 54. 90. 144. 0. 0. - 1 15 2 3.1259 -2.6418 4.24 90. 54. 90. 144. 0. 0. - 1 15 3 3.1259 -2.6418 -4.24 90. 54. 90. 144. 0. 0. - 1 15 4 3.1259 -2.6418 -12.72 90. 54. 90. 144. 0. 0. - 1 16 1 3.5570 -1.4712 12.72 90. 72. 90. 162. 0. 0. - 1 16 2 3.5570 -1.4712 4.24 90. 72. 90. 162. 0. 0. - 1 16 3 3.5570 -1.4712 -4.24 90. 72. 90. 162. 0. 0. - 1 16 4 3.5570 -1.4712 -12.72 90. 72. 90. 162. 0. 0. - 1 17 1 4.0817 -0.3000 12.72 90. 90. 90. 180. 0. 0. - 1 17 2 4.0817 -0.3000 4.24 90. 90. 90. 180. 0. 0. - 1 17 3 4.0817 -0.3000 -4.24 90. 90. 90. 180. 0. 0. - 1 17 4 4.0817 -0.3000 -12.72 90. 90. 90. 180. 0. 0. - 1 18 1 3.7424 0.9005 12.72 90. 108. 90. 198. 0. 0. - 1 18 2 3.7424 0.9005 4.24 90. 108. 90. 198. 0. 0. - 1 18 3 3.7424 0.9005 -4.24 90. 108. 90. 198. 0. 0. - 1 18 4 3.7424 0.9005 -12.72 90. 108. 90. 198. 0. 0. - 1 19 1 3.4785 2.1565 12.72 90. 126. 90. 216. 0. 0. - 1 19 2 3.4785 2.1565 4.24 90. 126. 90. 216. 0. 0. - 1 19 3 3.4785 2.1565 -4.24 90. 126. 90. 216. 0. 0. - 1 19 4 3.4785 2.1565 -12.72 90. 126. 90. 216. 0. 0. - 1 20 1 2.4983 2.9283 12.72 90. 144. 90. 234. 0. 0. - 1 20 2 2.4983 2.9283 4.24 90. 144. 90. 234. 0. 0. - 1 20 3 2.4983 2.9283 -4.24 90. 144. 90. 234. 0. 0. - 1 20 4 2.4983 2.9283 -12.72 90. 144. 90. 234. 0. 0. - 2 1 1 3.1659 6.3740 12.72 90. 310. 90. 40. 0. 0. - 2 1 2 3.1659 6.3740 4.24 90. 310. 90. 40. 0. 0. - 2 1 3 3.1659 6.3740 -4.24 90. 310. 90. 40. 0. 0. - 2 1 4 3.1659 6.3740 -12.72 90. 310. 90. 40. 0. 0. - 2 2 1 2.1299 6.7908 12.72 90. 319. 90. 49. 0. 0. - 2 2 2 2.1299 6.7908 4.24 90. 319. 90. 49. 0. 0. - 2 2 3 2.1299 6.7908 -4.24 90. 319. 90. 49. 0. 0. - 2 2 4 2.1299 6.7908 -12.72 90. 319. 90. 49. 0. 0. - 2 3 1 1.0413 7.0403 12.72 90. 328. 90. 58. 0. 0. - 2 3 2 1.0413 7.0403 4.24 90. 328. 90. 58. 0. 0. - 2 3 3 1.0413 7.0403 -4.24 90. 328. 90. 58. 0. 0. - 2 3 4 1.0413 7.0403 -12.72 90. 328. 90. 58. 0. 0. - 2 4 1 -0.0729 7.1166 12.72 90. 337. 90. 67. 0. 0. - 2 4 2 -0.0729 7.1166 4.24 90. 337. 90. 67. 0. 0. - 2 4 3 -0.0729 7.1166 -4.24 90. 337. 90. 67. 0. 0. - 2 4 4 -0.0729 7.1166 -12.72 90. 337. 90. 67. 0. 0. - 2 5 1 -1.1852 7.0175 12.72 90. 346. 90. 76. 0. 0. - 2 5 2 -1.1852 7.0175 4.24 90. 346. 90. 76. 0. 0. - 2 5 3 -1.1852 7.0175 -4.24 90. 346. 90. 76. 0. 0. - 2 5 4 -1.1852 7.0175 -12.72 90. 346. 90. 76. 0. 0. - 2 6 1 -2.2684 6.7457 12.72 90. 355. 90. 85. 0. 0. - 2 6 2 -2.2684 6.7457 4.24 90. 355. 90. 85. 0. 0. - 2 6 3 -2.2684 6.7457 -4.24 90. 355. 90. 85. 0. 0. - 2 6 4 -2.2684 6.7457 -12.72 90. 355. 90. 85. 0. 0. - 2 7 1 -3.2958 6.3078 12.72 90. 4. 90. 94. 0. 0. - 2 7 2 -3.2958 6.3078 4.24 90. 4. 90. 94. 0. 0. - 2 7 3 -3.2958 6.3078 -4.24 90. 4. 90. 94. 0. 0. - 2 7 4 -3.2958 6.3078 -12.72 90. 4. 90. 94. 0. 0. - 2 8 1 -4.2420 5.7146 12.72 90. 13. 90. 103. 0. 0. - 2 8 2 -4.2420 5.7146 4.24 90. 13. 90. 103. 0. 0. - 2 8 3 -4.2420 5.7146 -4.24 90. 13. 90. 103. 0. 0. - 2 8 4 -4.2420 5.7146 -12.72 90. 13. 90. 103. 0. 0. - 2 9 1 -5.0837 4.9806 12.72 90. 22. 90. 112. 0. 0. - 2 9 2 -5.0837 4.9806 4.24 90. 22. 90. 112. 0. 0. - 2 9 3 -5.0837 4.9806 -4.24 90. 22. 90. 112. 0. 0. - 2 9 4 -5.0837 4.9806 -12.72 90. 22. 90. 112. 0. 0. - 2 10 1 -5.8002 4.1241 12.72 90. 31. 90. 121. 0. 0. - 2 10 2 -5.8002 4.1241 4.24 90. 31. 90. 121. 0. 0. - 2 10 3 -5.8002 4.1241 -4.24 90. 31. 90. 121. 0. 0. - 2 10 4 -5.8002 4.1241 -12.72 90. 31. 90. 121. 0. 0. - 2 11 1 -6.3740 3.1659 12.72 90. 40. 90. 130. 0. 0. - 2 11 2 -6.3740 3.1659 4.24 90. 40. 90. 130. 0. 0. - 2 11 3 -6.3740 3.1659 -4.24 90. 40. 90. 130. 0. 0. - 2 11 4 -6.3740 3.1659 -12.72 90. 40. 90. 130. 0. 0. - 2 12 1 -6.7908 2.1298 12.72 90. 49. 90. 139. 0. 0. - 2 12 2 -6.7908 2.1298 4.24 90. 49. 90. 139. 0. 0. - 2 12 3 -6.7908 2.1298 -4.24 90. 49. 90. 139. 0. 0. - 2 12 4 -6.7908 2.1298 -12.72 90. 49. 90. 139. 0. 0. - 2 13 1 -7.0403 1.0413 12.72 90. 58. 90. 148. 0. 0. - 2 13 2 -7.0403 1.0413 4.24 90. 58. 90. 148. 0. 0. - 2 13 3 -7.0403 1.0413 -4.24 90. 58. 90. 148. 0. 0. - 2 13 4 -7.0403 1.0413 -12.72 90. 58. 90. 148. 0. 0. - 2 14 1 -7.1166 -0.0728 12.72 90. 67. 90. 157. 0. 0. - 2 14 2 -7.1166 -0.0728 4.24 90. 67. 90. 157. 0. 0. - 2 14 3 -7.1166 -0.0728 -4.24 90. 67. 90. 157. 0. 0. - 2 14 4 -7.1166 -0.0728 -12.72 90. 67. 90. 157. 0. 0. - 2 15 1 -7.0175 -1.1853 12.72 90. 76. 90. 166. 0. 0. - 2 15 2 -7.0175 -1.1853 4.24 90. 76. 90. 166. 0. 0. - 2 15 3 -7.0175 -1.1853 -4.24 90. 76. 90. 166. 0. 0. - 2 15 4 -7.0175 -1.1853 -12.72 90. 76. 90. 166. 0. 0. - 2 16 1 -6.7457 -2.2685 12.72 90. 85. 90. 175. 0. 0. - 2 16 2 -6.7457 -2.2685 4.24 90. 85. 90. 175. 0. 0. - 2 16 3 -6.7457 -2.2685 -4.24 90. 85. 90. 175. 0. 0. - 2 16 4 -6.7457 -2.2685 -12.72 90. 85. 90. 175. 0. 0. - 2 17 1 -6.3078 -3.2958 12.72 90. 94. 90. 184. 0. 0. - 2 17 2 -6.3078 -3.2958 4.24 90. 94. 90. 184. 0. 0. - 2 17 3 -6.3078 -3.2958 -4.24 90. 94. 90. 184. 0. 0. - 2 17 4 -6.3078 -3.2958 -12.72 90. 94. 90. 184. 0. 0. - 2 18 1 -5.7146 -4.2419 12.72 90. 103. 90. 193. 0. 0. - 2 18 2 -5.7146 -4.2419 4.24 90. 103. 90. 193. 0. 0. - 2 18 3 -5.7146 -4.2419 -4.24 90. 103. 90. 193. 0. 0. - 2 18 4 -5.7146 -4.2419 -12.72 90. 103. 90. 193. 0. 0. - 2 19 1 -4.9806 -5.0837 12.72 90. 112. 90. 202. 0. 0. - 2 19 2 -4.9806 -5.0837 4.24 90. 112. 90. 202. 0. 0. - 2 19 3 -4.9806 -5.0837 -4.24 90. 112. 90. 202. 0. 0. - 2 19 4 -4.9806 -5.0837 -12.72 90. 112. 90. 202. 0. 0. - 2 20 1 -4.1240 -5.8003 12.72 90. 121. 90. 211. 0. 0. - 2 20 2 -4.1240 -5.8003 4.24 90. 121. 90. 211. 0. 0. - 2 20 3 -4.1240 -5.8003 -4.24 90. 121. 90. 211. 0. 0. - 2 20 4 -4.1240 -5.8003 -12.72 90. 121. 90. 211. 0. 0. - 2 21 1 -3.1659 -6.3740 12.72 90. 130. 90. 220. 0. 0. - 2 21 2 -3.1659 -6.3740 4.24 90. 130. 90. 220. 0. 0. - 2 21 3 -3.1659 -6.3740 -4.24 90. 130. 90. 220. 0. 0. - 2 21 4 -3.1659 -6.3740 -12.72 90. 130. 90. 220. 0. 0. - 2 22 1 -2.1299 -6.7908 12.72 90. 139. 90. 229. 0. 0. - 2 22 2 -2.1299 -6.7908 4.24 90. 139. 90. 229. 0. 0. - 2 22 3 -2.1299 -6.7908 -4.24 90. 139. 90. 229. 0. 0. - 2 22 4 -2.1299 -6.7908 -12.72 90. 139. 90. 229. 0. 0. - 2 23 1 -1.0413 -7.0403 12.72 90. 148. 90. 238. 0. 0. - 2 23 2 -1.0413 -7.0403 4.24 90. 148. 90. 238. 0. 0. - 2 23 3 -1.0413 -7.0403 -4.24 90. 148. 90. 238. 0. 0. - 2 23 4 -1.0413 -7.0403 -12.72 90. 148. 90. 238. 0. 0. - 2 24 1 0.0729 -7.1166 12.72 90. 157. 90. 247. 0. 0. - 2 24 2 0.0729 -7.1166 4.24 90. 157. 90. 247. 0. 0. - 2 24 3 0.0729 -7.1166 -4.24 90. 157. 90. 247. 0. 0. - 2 24 4 0.0729 -7.1166 -12.72 90. 157. 90. 247. 0. 0. - 2 25 1 1.1852 -7.0175 12.72 90. 166. 90. 256. 0. 0. - 2 25 2 1.1852 -7.0175 4.24 90. 166. 90. 256. 0. 0. - 2 25 3 1.1852 -7.0175 -4.24 90. 166. 90. 256. 0. 0. - 2 25 4 1.1852 -7.0175 -12.72 90. 166. 90. 256. 0. 0. - 2 26 1 2.2684 -6.7457 12.72 90. 175. 90. 265. 0. 0. - 2 26 2 2.2684 -6.7457 4.24 90. 175. 90. 265. 0. 0. - 2 26 3 2.2684 -6.7457 -4.24 90. 175. 90. 265. 0. 0. - 2 26 4 2.2684 -6.7457 -12.72 90. 175. 90. 265. 0. 0. - 2 27 1 3.2958 -6.3078 12.72 90. 184. 90. 274. 0. 0. - 2 27 2 3.2958 -6.3078 4.24 90. 184. 90. 274. 0. 0. - 2 27 3 3.2958 -6.3078 -4.24 90. 184. 90. 274. 0. 0. - 2 27 4 3.2958 -6.3078 -12.72 90. 184. 90. 274. 0. 0. - 2 28 1 4.2420 -5.7146 12.72 90. 193. 90. 283. 0. 0. - 2 28 2 4.2420 -5.7146 4.24 90. 193. 90. 283. 0. 0. - 2 28 3 4.2420 -5.7146 -4.24 90. 193. 90. 283. 0. 0. - 2 28 4 4.2420 -5.7146 -12.72 90. 193. 90. 283. 0. 0. - 2 29 1 5.0837 -4.9806 12.72 90. 202. 90. 292. 0. 0. - 2 29 2 5.0837 -4.9806 4.24 90. 202. 90. 292. 0. 0. - 2 29 3 5.0837 -4.9806 -4.24 90. 202. 90. 292. 0. 0. - 2 29 4 5.0837 -4.9806 -12.72 90. 202. 90. 292. 0. 0. - 2 30 1 5.8002 -4.1241 12.72 90. 211. 90. 301. 0. 0. - 2 30 2 5.8002 -4.1241 4.24 90. 211. 90. 301. 0. 0. - 2 30 3 5.8002 -4.1241 -4.24 90. 211. 90. 301. 0. 0. - 2 30 4 5.8002 -4.1241 -12.72 90. 211. 90. 301. 0. 0. - 2 31 1 6.3740 -3.1659 12.72 90. 220. 90. 310. 0. 0. - 2 31 2 6.3740 -3.1659 4.24 90. 220. 90. 310. 0. 0. - 2 31 3 6.3740 -3.1659 -4.24 90. 220. 90. 310. 0. 0. - 2 31 4 6.3740 -3.1659 -12.72 90. 220. 90. 310. 0. 0. - 2 32 1 6.7908 -2.1298 12.72 90. 229. 90. 319. 0. 0. - 2 32 2 6.7908 -2.1298 4.24 90. 229. 90. 319. 0. 0. - 2 32 3 6.7908 -2.1298 -4.24 90. 229. 90. 319. 0. 0. - 2 32 4 6.7908 -2.1298 -12.72 90. 229. 90. 319. 0. 0. - 2 33 1 7.0403 -1.0413 12.72 90. 238. 90. 328. 0. 0. - 2 33 2 7.0403 -1.0413 4.24 90. 238. 90. 328. 0. 0. - 2 33 3 7.0403 -1.0413 -4.24 90. 238. 90. 328. 0. 0. - 2 33 4 7.0403 -1.0413 -12.72 90. 238. 90. 328. 0. 0. - 2 34 1 7.1166 0.0728 12.72 90. 247. 90. 337. 0. 0. - 2 34 2 7.1166 0.0728 4.24 90. 247. 90. 337. 0. 0. - 2 34 3 7.1166 0.0728 -4.24 90. 247. 90. 337. 0. 0. - 2 34 4 7.1166 0.0728 -12.72 90. 247. 90. 337. 0. 0. - 2 35 1 7.0175 1.1853 12.72 90. 256. 90. 346. 0. 0. - 2 35 2 7.0175 1.1853 4.24 90. 256. 90. 346. 0. 0. - 2 35 3 7.0175 1.1853 -4.24 90. 256. 90. 346. 0. 0. - 2 35 4 7.0175 1.1853 -12.72 90. 256. 90. 346. 0. 0. - 2 36 1 6.7457 2.2685 12.72 90. 265. 90. 355. 0. 0. - 2 36 2 6.7457 2.2685 4.24 90. 265. 90. 355. 0. 0. - 2 36 3 6.7457 2.2685 -4.24 90. 265. 90. 355. 0. 0. - 2 36 4 6.7457 2.2685 -12.72 90. 265. 90. 355. 0. 0. - 2 37 1 6.3078 3.2958 12.72 90. 274. 90. 4. 0. 0. - 2 37 2 6.3078 3.2958 4.24 90. 274. 90. 4. 0. 0. - 2 37 3 6.3078 3.2958 -4.24 90. 274. 90. 4. 0. 0. - 2 37 4 6.3078 3.2958 -12.72 90. 274. 90. 4. 0. 0. - 2 38 1 5.7146 4.2419 12.72 90. 283. 90. 13. 0. 0. - 2 38 2 5.7146 4.2419 4.24 90. 283. 90. 13. 0. 0. - 2 38 3 5.7146 4.2419 -4.24 90. 283. 90. 13. 0. 0. - 2 38 4 5.7146 4.2419 -12.72 90. 283. 90. 13. 0. 0. - 2 39 1 4.9806 5.0837 12.72 90. 292. 90. 22. 0. 0. - 2 39 2 4.9806 5.0837 4.24 90. 292. 90. 22. 0. 0. - 2 39 3 4.9806 5.0837 -4.24 90. 292. 90. 22. 0. 0. - 2 39 4 4.9806 5.0837 -12.72 90. 292. 90. 22. 0. 0. - 2 40 1 4.1240 5.8003 12.72 90. 301. 90. 31. 0. 0. - 2 40 2 4.1240 5.8003 4.24 90. 301. 90. 31. 0. 0. - 2 40 3 4.1240 5.8003 -4.24 90. 301. 90. 31. 0. 0. - 2 40 4 4.1240 5.8003 -12.72 90. 301. 90. 31. 0. 0. - 3 1 1 -3.3033 14.4728 18.55 90. 12.86 90. 102.86 0. 0. - 3 1 2 -3.2521 14.2486 10.95 90. 12.86 90. 102.86 0. 0. - 3 1 3 -3.3033 14.4728 3.70 90. 12.86 90. 102.86 0. 0. - 3 1 4 -3.2521 14.2486 -3.70 90. 12.86 90. 102.86 0. 0. - 3 1 5 -3.3033 14.4728 -11.20 90. 12.86 90. 102.86 0. 0. - 3 1 6 -3.2521 14.2486 -18.35 90. 12.86 90. 102.86 0. 0. - 3 2 1 -9.6298 12.0754 18.55 90. 38.57 90. 128.57 0. 0. - 3 2 2 -9.4864 11.8956 10.95 90. 38.57 90. 128.57 0. 0. - 3 2 3 -9.6298 12.0754 3.70 90. 38.57 90. 128.57 0. 0. - 3 2 4 -9.4864 11.8956 -3.70 90. 38.57 90. 128.57 0. 0. - 3 2 5 -9.6298 12.0754 -11.20 90. 38.57 90. 128.57 0. 0. - 3 2 6 -9.4864 11.8956 -18.35 90. 38.57 90. 128.57 0. 0. - 3 3 1 -13.3749 6.4410 18.55 90. 64.29 90. 154.29 0. 0. - 3 3 2 -13.1677 6.3412 10.95 90. 64.29 90. 154.29 0. 0. - 3 3 3 -13.3749 6.4410 3.70 90. 64.29 90. 154.29 0. 0. - 3 3 4 -13.1677 6.3412 -3.70 90. 64.29 90. 154.29 0. 0. - 3 3 5 -13.3749 6.4410 -11.20 90. 64.29 90. 154.29 0. 0. - 3 3 6 -13.1677 6.3412 -18.35 90. 64.29 90. 154.29 0. 0. - 3 4 1 -15.4450 0.0000 18.55 90. 90.00 90. 180.00 0. 0. - 3 4 2 -15.2150 0.0000 10.95 90. 90.00 90. 180.00 0. 0. - 3 4 3 -15.4450 0.0000 3.70 90. 90.00 90. 180.00 0. 0. - 3 4 4 -15.2150 0.0000 -3.70 90. 90.00 90. 180.00 0. 0. - 3 4 5 -15.4450 0.0000 -11.20 90. 90.00 90. 180.00 0. 0. - 3 4 6 -15.2150 0.0000 -18.35 90. 90.00 90. 180.00 0. 0. - 3 5 1 -13.3749 -6.4410 18.55 90. 115.71 90. 205.71 0. 0. - 3 5 2 -13.1677 -6.3412 10.95 90. 115.71 90. 205.71 0. 0. - 3 5 3 -13.3749 -6.4410 3.70 90. 115.71 90. 205.71 0. 0. - 3 5 4 -13.1677 -6.3412 -3.70 90. 115.71 90. 205.71 0. 0. - 3 5 5 -13.3749 -6.4410 -11.20 90. 115.71 90. 205.71 0. 0. - 3 5 6 -13.1677 -6.3412 -18.35 90. 115.71 90. 205.71 0. 0. - 3 6 1 -9.6298 -12.0754 18.55 90. 141.43 90. 231.43 0. 0. - 3 6 2 -9.4864 -11.8956 10.95 90. 141.43 90. 231.43 0. 0. - 3 6 3 -9.6298 -12.0754 3.70 90. 141.43 90. 231.43 0. 0. - 3 6 4 -9.4864 -11.8956 -3.70 90. 141.43 90. 231.43 0. 0. - 3 6 5 -9.6298 -12.0754 -11.20 90. 141.43 90. 231.43 0. 0. - 3 6 6 -9.4864 -11.8956 -18.35 90. 141.43 90. 231.43 0. 0. - 3 7 1 -3.3033 -14.4728 18.55 90. 167.14 90. 257.14 0. 0. - 3 7 2 -3.2521 -14.2486 10.95 90. 167.14 90. 257.14 0. 0. - 3 7 3 -3.3033 -14.4728 3.70 90. 167.14 90. 257.14 0. 0. - 3 7 4 -3.2521 -14.2486 -3.70 90. 167.14 90. 257.14 0. 0. - 3 7 5 -3.3033 -14.4728 -11.20 90. 167.14 90. 257.14 0. 0. - 3 7 6 -3.2521 -14.2486 -18.35 90. 167.14 90. 257.14 0. 0. - 3 8 1 3.4368 -15.0577 18.55 90. 192.86 90. 282.86 0. 0. - 3 8 2 3.3856 -14.8335 10.95 90. 192.86 90. 282.86 0. 0. - 3 8 3 3.4368 -15.0577 3.70 90. 192.86 90. 282.86 0. 0. - 3 8 4 3.3856 -14.8335 -3.70 90. 192.86 90. 282.86 0. 0. - 3 8 5 3.4368 -15.0577 -11.20 90. 192.86 90. 282.86 0. 0. - 3 8 6 3.3856 -14.8335 -18.35 90. 192.86 90. 282.86 0. 0. - 3 9 1 9.2557 -11.6063 18.55 90. 218.57 90. 308.57 0. 0. - 3 9 2 9.1123 -11.4265 10.95 90. 218.57 90. 308.57 0. 0. - 3 9 3 9.2557 -11.6063 3.70 90. 218.57 90. 308.57 0. 0. - 3 9 4 9.1123 -11.4265 -3.70 90. 218.57 90. 308.57 0. 0. - 3 9 5 9.2557 -11.6063 -11.20 90. 218.57 90. 308.57 0. 0. - 3 9 6 9.1123 -11.4265 -18.35 90. 218.57 90. 308.57 0. 0. - 3 10 1 13.9155 -6.7013 18.55 90. 244.29 90. 334.29 0. 0. - 3 10 2 13.7083 -6.6016 10.95 90. 244.29 90. 334.29 0. 0. - 3 10 3 13.9155 -6.7013 3.70 90. 244.29 90. 334.29 0. 0. - 3 10 4 13.7083 -6.6016 -3.70 90. 244.29 90. 334.29 0. 0. - 3 10 5 13.9155 -6.7013 -11.20 90. 244.29 90. 334.29 0. 0. - 3 10 6 13.7083 -6.6016 -18.35 90. 244.29 90. 334.29 0. 0. - 3 11 1 14.8450 0.0000 18.55 90. 270.00 90. 0.00 0. 0. - 3 11 2 14.6150 0.0000 10.95 90. 270.00 90. 0.00 0. 0. - 3 11 3 14.8450 0.0000 3.70 90. 270.00 90. 0.00 0. 0. - 3 11 4 14.6150 0.0000 -3.70 90. 270.00 90. 0.00 0. 0. - 3 11 5 14.8450 0.0000 -11.20 90. 270.00 90. 0.00 0. 0. - 3 11 6 14.6150 0.0000 -18.35 90. 270.00 90. 0.00 0. 0. - 3 12 1 13.9155 6.7013 18.55 90. 295.71 90. 25.71 0. 0. - 3 12 2 13.7083 6.6015 10.95 90. 295.71 90. 25.71 0. 0. - 3 12 3 13.9155 6.7013 3.70 90. 295.71 90. 25.71 0. 0. - 3 12 4 13.7083 6.6015 -3.70 90. 295.71 90. 25.71 0. 0. - 3 12 5 13.9155 6.7013 -11.20 90. 295.71 90. 25.71 0. 0. - 3 12 6 13.7083 6.6015 -18.35 90. 295.71 90. 25.71 0. 0. - 3 13 1 9.2557 11.6063 18.55 90. 321.43 90. 51.43 0. 0. - 3 13 2 9.1123 11.4265 10.95 90. 321.43 90. 51.43 0. 0. - 3 13 3 9.2557 11.6063 3.70 90. 321.43 90. 51.43 0. 0. - 3 13 4 9.1123 11.4265 -3.70 90. 321.43 90. 51.43 0. 0. - 3 13 5 9.2557 11.6063 -11.20 90. 321.43 90. 51.43 0. 0. - 3 13 6 9.1123 11.4265 -18.35 90. 321.43 90. 51.43 0. 0. - 3 14 1 3.4368 15.0577 18.55 90. 347.14 90. 77.14 0. 0. - 3 14 2 3.3857 14.8335 10.95 90. 347.14 90. 77.14 0. 0. - 3 14 3 3.4368 15.0577 3.70 90. 347.14 90. 77.14 0. 0. - 3 14 4 3.3857 14.8335 -3.70 90. 347.14 90. 77.14 0. 0. - 3 14 5 3.4368 15.0577 -11.20 90. 347.14 90. 77.14 0. 0. - 3 14 6 3.3857 14.8335 -18.35 90. 347.14 90. 77.14 0. 0. - 4 1 1 -3.3465 23.2757 25.90 90. 8.18 90. 98.18 0. 0. - 4 1 2 -3.3793 23.5033 18.75 90. 8.18 90. 98.18 0. 0. - 4 1 3 -3.3465 23.2757 11.15 90. 8.18 90. 98.18 0. 0. - 4 1 4 -3.3793 23.5033 3.85 90. 8.18 90. 98.18 0. 0. - 4 1 5 -3.3465 23.2757 -3.55 90. 8.18 90. 98.18 0. 0. - 4 1 6 -3.3793 23.5033 -11.05 90. 8.18 90. 98.18 0. 0. - 4 1 7 -3.3465 23.2757 -18.30 90. 8.18 90. 98.18 0. 0. - 4 1 8 -3.3793 23.5033 -25.90 90. 8.18 90. 98.18 0. 0. - 4 2 1 -9.9970 21.8903 25.90 90. 24.55 90. 114.55 0. 0. - 4 2 2 -10.0925 22.0995 18.75 90. 24.55 90. 114.55 0. 0. - 4 2 3 -9.9970 21.8903 11.15 90. 24.55 90. 114.55 0. 0. - 4 2 4 -10.0925 22.0995 3.85 90. 24.55 90. 114.55 0. 0. - 4 2 5 -9.9970 21.8903 -3.55 90. 24.55 90. 114.55 0. 0. - 4 2 6 -10.0925 22.0995 -11.05 90. 24.55 90. 114.55 0. 0. - 4 2 7 -9.9970 21.8903 -18.30 90. 24.55 90. 114.55 0. 0. - 4 2 8 -10.0925 22.0995 -25.90 90. 24.55 90. 114.55 0. 0. - 4 3 1 -15.3991 17.7715 25.90 90. 40.91 90. 130.91 0. 0. - 4 3 2 -15.5497 17.9453 18.75 90. 40.91 90. 130.91 0. 0. - 4 3 3 -15.3991 17.7715 11.15 90. 40.91 90. 130.91 0. 0. - 4 3 4 -15.5497 17.9453 3.85 90. 40.91 90. 130.91 0. 0. - 4 3 5 -15.3991 17.7715 -3.55 90. 40.91 90. 130.91 0. 0. - 4 3 6 -15.5497 17.9453 -11.05 90. 40.91 90. 130.91 0. 0. - 4 3 7 -15.3991 17.7715 -18.30 90. 40.91 90. 130.91 0. 0. - 4 3 8 -15.5497 17.9453 -25.90 90. 40.91 90. 130.91 0. 0. - 4 4 1 -20.2448 13.0105 25.90 90. 57.27 90. 147.27 0. 0. - 4 4 2 -20.4382 13.1349 18.75 90. 57.27 90. 147.27 0. 0. - 4 4 3 -20.2448 13.0105 11.15 90. 57.27 90. 147.27 0. 0. - 4 4 4 -20.4382 13.1349 3.85 90. 57.27 90. 147.27 0. 0. - 4 4 5 -20.2448 13.0105 -3.55 90. 57.27 90. 147.27 0. 0. - 4 4 6 -20.4382 13.1349 -11.05 90. 57.27 90. 147.27 0. 0. - 4 4 7 -20.2448 13.0105 -18.30 90. 57.27 90. 147.27 0. 0. - 4 4 8 -20.4382 13.1349 -25.90 90. 57.27 90. 147.27 0. 0. - 4 5 1 -22.5624 6.6249 25.90 90. 73.64 90. 163.64 0. 0. - 4 5 2 -22.7831 6.6897 18.75 90. 73.64 90. 163.64 0. 0. - 4 5 3 -22.5624 6.6249 11.15 90. 73.64 90. 163.64 0. 0. - 4 5 4 -22.7831 6.6897 3.85 90. 73.64 90. 163.64 0. 0. - 4 5 5 -22.5624 6.6249 -3.55 90. 73.64 90. 163.64 0. 0. - 4 5 6 -22.7831 6.6897 -11.05 90. 73.64 90. 163.64 0. 0. - 4 5 7 -22.5624 6.6249 -18.30 90. 73.64 90. 163.64 0. 0. - 4 5 8 -22.7831 6.6897 -25.90 90. 73.64 90. 163.64 0. 0. - 4 6 1 -24.0650 0.0000 25.90 90. 90.00 90. 180.00 0. 0. - 4 6 2 -24.2950 0.0000 18.75 90. 90.00 90. 180.00 0. 0. - 4 6 3 -24.0650 0.0000 11.15 90. 90.00 90. 180.00 0. 0. - 4 6 4 -24.2950 0.0000 3.85 90. 90.00 90. 180.00 0. 0. - 4 6 5 -24.0650 0.0000 -3.55 90. 90.00 90. 180.00 0. 0. - 4 6 6 -24.2950 0.0000 -11.05 90. 90.00 90. 180.00 0. 0. - 4 6 7 -24.0650 0.0000 -18.30 90. 90.00 90. 180.00 0. 0. - 4 6 8 -24.2950 0.0000 -25.90 90. 90.00 90. 180.00 0. 0. - 4 7 1 -22.5624 -6.6249 25.90 90. 106.36 90. 196.36 0. 0. - 4 7 2 -22.7831 -6.6897 18.75 90. 106.36 90. 196.36 0. 0. - 4 7 3 -22.5624 -6.6249 11.15 90. 106.36 90. 196.36 0. 0. - 4 7 4 -22.7831 -6.6897 3.85 90. 106.36 90. 196.36 0. 0. - 4 7 5 -22.5624 -6.6249 -3.55 90. 106.36 90. 196.36 0. 0. - 4 7 6 -22.7831 -6.6897 -11.05 90. 106.36 90. 196.36 0. 0. - 4 7 7 -22.5624 -6.6249 -18.30 90. 106.36 90. 196.36 0. 0. - 4 7 8 -22.7831 -6.6897 -25.90 90. 106.36 90. 196.36 0. 0. - 4 8 1 -20.2448 -13.0105 25.90 90. 122.73 90. 212.73 0. 0. - 4 8 2 -20.4382 -13.1349 18.75 90. 122.73 90. 212.73 0. 0. - 4 8 3 -20.2448 -13.0105 11.15 90. 122.73 90. 212.73 0. 0. - 4 8 4 -20.4382 -13.1349 3.85 90. 122.73 90. 212.73 0. 0. - 4 8 5 -20.2448 -13.0105 -3.55 90. 122.73 90. 212.73 0. 0. - 4 8 6 -20.4382 -13.1349 -11.05 90. 122.73 90. 212.73 0. 0. - 4 8 7 -20.2448 -13.0105 -18.30 90. 122.73 90. 212.73 0. 0. - 4 8 8 -20.4382 -13.1349 -25.90 90. 122.73 90. 212.73 0. 0. - 4 9 1 -15.3991 -17.7715 25.90 90. 139.09 90. 229.09 0. 0. - 4 9 2 -15.5497 -17.9453 18.75 90. 139.09 90. 229.09 0. 0. - 4 9 3 -15.3991 -17.7715 11.15 90. 139.09 90. 229.09 0. 0. - 4 9 4 -15.5497 -17.9453 3.85 90. 139.09 90. 229.09 0. 0. - 4 9 5 -15.3991 -17.7715 -3.55 90. 139.09 90. 229.09 0. 0. - 4 9 6 -15.5497 -17.9453 -11.05 90. 139.09 90. 229.09 0. 0. - 4 9 7 -15.3991 -17.7715 -18.30 90. 139.09 90. 229.09 0. 0. - 4 9 8 -15.5497 -17.9453 -25.90 90. 139.09 90. 229.09 0. 0. - 4 10 1 -9.9970 -21.8903 25.90 90. 155.45 90. 245.45 0. 0. - 4 10 2 -10.0925 -22.0995 18.75 90. 155.45 90. 245.45 0. 0. - 4 10 3 -9.9970 -21.8903 11.15 90. 155.45 90. 245.45 0. 0. - 4 10 4 -10.0925 -22.0995 3.85 90. 155.45 90. 245.45 0. 0. - 4 10 5 -9.9970 -21.8903 -3.55 90. 155.45 90. 245.45 0. 0. - 4 10 6 -10.0925 -22.0995 -11.05 90. 155.45 90. 245.45 0. 0. - 4 10 7 -9.9970 -21.8903 -18.30 90. 155.45 90. 245.45 0. 0. - 4 10 8 -10.0925 -22.0995 -25.90 90. 155.45 90. 245.45 0. 0. - 4 11 1 -3.3465 -23.2757 25.90 90. 171.82 90. 261.82 0. 0. - 4 11 2 -3.3793 -23.5033 18.75 90. 171.82 90. 261.82 0. 0. - 4 11 3 -3.3465 -23.2757 11.15 90. 171.82 90. 261.82 0. 0. - 4 11 4 -3.3793 -23.5033 3.85 90. 171.82 90. 261.82 0. 0. - 4 11 5 -3.3465 -23.2757 -3.55 90. 171.82 90. 261.82 0. 0. - 4 11 6 -3.3793 -23.5033 -11.05 90. 171.82 90. 261.82 0. 0. - 4 11 7 -3.3465 -23.2757 -18.30 90. 171.82 90. 261.82 0. 0. - 4 11 8 -3.3793 -23.5033 -25.90 90. 171.82 90. 261.82 0. 0. - 4 12 1 3.4248 -23.8201 25.90 90. 188.18 90. 278.18 0. 0. - 4 12 2 3.4575 -24.0477 18.75 90. 188.18 90. 278.18 0. 0. - 4 12 3 3.4248 -23.8201 11.15 90. 188.18 90. 278.18 0. 0. - 4 12 4 3.4575 -24.0477 3.85 90. 188.18 90. 278.18 0. 0. - 4 12 5 3.4248 -23.8201 -3.55 90. 188.18 90. 278.18 0. 0. - 4 12 6 3.4575 -24.0477 -11.05 90. 188.18 90. 278.18 0. 0. - 4 12 7 3.4248 -23.8201 -18.30 90. 188.18 90. 278.18 0. 0. - 4 12 8 3.4575 -24.0477 -25.90 90. 188.18 90. 278.18 0. 0. - 4 13 1 9.7685 -21.3900 25.90 90. 204.55 90. 294.55 0. 0. - 4 13 2 9.8640 -21.5992 18.75 90. 204.55 90. 294.55 0. 0. - 4 13 3 9.7685 -21.3900 11.15 90. 204.55 90. 294.55 0. 0. - 4 13 4 9.8640 -21.5992 3.85 90. 204.55 90. 294.55 0. 0. - 4 13 5 9.7685 -21.3900 -3.55 90. 204.55 90. 294.55 0. 0. - 4 13 6 9.8640 -21.5992 -11.05 90. 204.55 90. 294.55 0. 0. - 4 13 7 9.7685 -21.3900 -18.30 90. 204.55 90. 294.55 0. 0. - 4 13 8 9.8640 -21.5992 -25.90 90. 204.55 90. 294.55 0. 0. - 4 14 1 15.7592 -18.1871 25.90 90. 220.91 90. 310.91 0. 0. - 4 14 2 15.9098 -18.3609 18.75 90. 220.91 90. 310.91 0. 0. - 4 14 3 15.7592 -18.1871 11.15 90. 220.91 90. 310.91 0. 0. - 4 14 4 15.9098 -18.3609 3.85 90. 220.91 90. 310.91 0. 0. - 4 14 5 15.7592 -18.1871 -3.55 90. 220.91 90. 310.91 0. 0. - 4 14 6 15.9098 -18.3609 -11.05 90. 220.91 90. 310.91 0. 0. - 4 14 7 15.7592 -18.1871 -18.30 90. 220.91 90. 310.91 0. 0. - 4 14 8 15.9098 -18.3609 -25.90 90. 220.91 90. 310.91 0. 0. - 4 15 1 19.7820 -12.7132 25.90 90. 237.27 90. 327.27 0. 0. - 4 15 2 19.9755 -12.8375 18.75 90. 237.27 90. 327.27 0. 0. - 4 15 3 19.7820 -12.7132 11.15 90. 237.27 90. 327.27 0. 0. - 4 15 4 19.9755 -12.8375 3.85 90. 237.27 90. 327.27 0. 0. - 4 15 5 19.7820 -12.7132 -3.55 90. 237.27 90. 327.27 0. 0. - 4 15 6 19.9755 -12.8375 -11.05 90. 237.27 90. 327.27 0. 0. - 4 15 7 19.7820 -12.7132 -18.30 90. 237.27 90. 327.27 0. 0. - 4 15 8 19.9755 -12.8375 -25.90 90. 237.27 90. 327.27 0. 0. - 4 16 1 23.0902 -6.7799 25.90 90. 253.64 90. 343.64 0. 0. - 4 16 2 23.3108 -6.8447 18.75 90. 253.64 90. 343.64 0. 0. - 4 16 3 23.0902 -6.7799 11.15 90. 253.64 90. 343.64 0. 0. - 4 16 4 23.3108 -6.8447 3.85 90. 253.64 90. 343.64 0. 0. - 4 16 5 23.0902 -6.7799 -3.55 90. 253.64 90. 343.64 0. 0. - 4 16 6 23.3108 -6.8447 -11.05 90. 253.64 90. 343.64 0. 0. - 4 16 7 23.0902 -6.7799 -18.30 90. 253.64 90. 343.64 0. 0. - 4 16 8 23.3108 -6.8447 -25.90 90. 253.64 90. 343.64 0. 0. - 4 17 1 23.5150 0.0000 25.90 90. 270.00 90. 0.00 0. 0. - 4 17 2 23.7450 0.0000 18.75 90. 270.00 90. 0.00 0. 0. - 4 17 3 23.5150 0.0000 11.15 90. 270.00 90. 0.00 0. 0. - 4 17 4 23.7450 0.0000 3.85 90. 270.00 90. 0.00 0. 0. - 4 17 5 23.5150 0.0000 -3.55 90. 270.00 90. 0.00 0. 0. - 4 17 6 23.7450 0.0000 -11.05 90. 270.00 90. 0.00 0. 0. - 4 17 7 23.5150 0.0000 -18.30 90. 270.00 90. 0.00 0. 0. - 4 17 8 23.7450 0.0000 -25.90 90. 270.00 90. 0.00 0. 0. - 4 18 1 23.0902 6.7799 25.90 90. 286.36 90. 16.36 0. 0. - 4 18 2 23.3109 6.8447 18.75 90. 286.36 90. 16.36 0. 0. - 4 18 3 23.0902 6.7799 11.15 90. 286.36 90. 16.36 0. 0. - 4 18 4 23.3109 6.8447 3.85 90. 286.36 90. 16.36 0. 0. - 4 18 5 23.0902 6.7799 -3.55 90. 286.36 90. 16.36 0. 0. - 4 18 6 23.3109 6.8447 -11.05 90. 286.36 90. 16.36 0. 0. - 4 18 7 23.0902 6.7799 -18.30 90. 286.36 90. 16.36 0. 0. - 4 18 8 23.3109 6.8447 -25.90 90. 286.36 90. 16.36 0. 0. - 4 19 1 19.7820 12.7131 25.90 90. 302.73 90. 32.73 0. 0. - 4 19 2 19.9755 12.8375 18.75 90. 302.73 90. 32.73 0. 0. - 4 19 3 19.7820 12.7131 11.15 90. 302.73 90. 32.73 0. 0. - 4 19 4 19.9755 12.8375 3.85 90. 302.73 90. 32.73 0. 0. - 4 19 5 19.7820 12.7131 -3.55 90. 302.73 90. 32.73 0. 0. - 4 19 6 19.9755 12.8375 -11.05 90. 302.73 90. 32.73 0. 0. - 4 19 7 19.7820 12.7131 -18.30 90. 302.73 90. 32.73 0. 0. - 4 19 8 19.9755 12.8375 -25.90 90. 302.73 90. 32.73 0. 0. - 4 20 1 15.7592 18.1871 25.90 90. 319.09 90. 49.09 0. 0. - 4 20 2 15.9098 18.3609 18.75 90. 319.09 90. 49.09 0. 0. - 4 20 3 15.7592 18.1871 11.15 90. 319.09 90. 49.09 0. 0. - 4 20 4 15.9098 18.3609 3.85 90. 319.09 90. 49.09 0. 0. - 4 20 5 15.7592 18.1871 -3.55 90. 319.09 90. 49.09 0. 0. - 4 20 6 15.9098 18.3609 -11.05 90. 319.09 90. 49.09 0. 0. - 4 20 7 15.7592 18.1871 -18.30 90. 319.09 90. 49.09 0. 0. - 4 20 8 15.9098 18.3609 -25.90 90. 319.09 90. 49.09 0. 0. - 4 21 1 9.7685 21.3900 25.90 90. 335.45 90. 65.45 0. 0. - 4 21 2 9.8640 21.5992 18.75 90. 335.45 90. 65.45 0. 0. - 4 21 3 9.7685 21.3900 11.15 90. 335.45 90. 65.45 0. 0. - 4 21 4 9.8640 21.5992 3.85 90. 335.45 90. 65.45 0. 0. - 4 21 5 9.7685 21.3900 -3.55 90. 335.45 90. 65.45 0. 0. - 4 21 6 9.8640 21.5992 -11.05 90. 335.45 90. 65.45 0. 0. - 4 21 7 9.7685 21.3900 -18.30 90. 335.45 90. 65.45 0. 0. - 4 21 8 9.8640 21.5992 -25.90 90. 335.45 90. 65.45 0. 0. - 4 22 1 3.4248 23.8201 25.90 90. 351.82 90. 81.82 0. 0. - 4 22 2 3.4575 24.0477 18.75 90. 351.82 90. 81.82 0. 0. - 4 22 3 3.4248 23.8201 11.15 90. 351.82 90. 81.82 0. 0. - 4 22 4 3.4575 24.0477 3.85 90. 351.82 90. 81.82 0. 0. - 4 22 5 3.4248 23.8201 -3.55 90. 351.82 90. 81.82 0. 0. - 4 22 6 3.4575 24.0477 -11.05 90. 351.82 90. 81.82 0. 0. - 4 22 7 3.4248 23.8201 -18.30 90. 351.82 90. 81.82 0. 0. - 4 22 8 3.4575 24.0477 -25.90 90. 351.82 90. 81.82 0. 0. - 5 1 1 0.0000 39.0150 43.0197 90. 0.00 90. 90.00 0. 0. - 5 1 2 0.0000 39.0750 39.1097 90. 0.00 90. 90.00 0. 0. - 5 1 3 0.0000 39.0150 35.1797 90. 0.00 90. 90.00 0. 0. - 5 1 4 0.0000 39.0750 31.2697 90. 0.00 90. 90.00 0. 0. - 5 1 5 0.0000 39.0150 27.3397 90. 0.00 90. 90.00 0. 0. - 5 1 6 0.0000 39.0750 23.4297 90. 0.00 90. 90.00 0. 0. - 5 1 7 0.0000 39.0150 19.4997 90. 0.00 90. 90.00 0. 0. - 5 1 8 0.0000 39.0750 15.5897 90. 0.00 90. 90.00 0. 0. - 5 1 9 0.0000 39.0150 11.6597 90. 0.00 90. 90.00 0. 0. - 5 1 10 0.0000 39.0750 7.7497 90. 0.00 90. 90.00 0. 0. - 5 1 11 0.0000 39.0150 3.8197 90. 0.00 90. 90.00 0. 0. - 5 1 12 0.0000 39.0750 -0.0903 90. 0.00 90. 90.00 0. 0. - 5 1 13 0.0000 39.0150 -4.0203 90. 0.00 90. 90.00 0. 0. - 5 1 14 0.0000 39.0750 -7.9303 90. 0.00 90. 90.00 0. 0. - 5 1 15 0.0000 39.0150 -11.8603 90. 0.00 90. 90.00 0. 0. - 5 1 16 0.0000 39.0750 -15.7703 90. 0.00 90. 90.00 0. 0. - 5 1 17 0.0000 39.0150 -19.7003 90. 0.00 90. 90.00 0. 0. - 5 1 18 0.0000 39.0750 -23.6103 90. 0.00 90. 90.00 0. 0. - 5 1 19 0.0000 39.0150 -27.5403 90. 0.00 90. 90.00 0. 0. - 5 1 20 0.0000 39.0750 -31.4503 90. 0.00 90. 90.00 0. 0. - 5 1 21 0.0000 39.0150 -35.3803 90. 0.00 90. 90.00 0. 0. - 5 1 22 0.0000 39.0750 -39.2903 90. 0.00 90. 90.00 0. 0. - 5 1 23 0.0000 39.0150 -43.2003 90. 0.00 90. 90.00 0. 0. - 5 2 1 -7.1972 38.5016 43.0197 90. 10.59 90. 100.59 0. 0. - 5 2 2 -7.2082 38.5606 39.1097 90. 10.59 90. 100.59 0. 0. - 5 2 3 -7.1972 38.5016 35.1797 90. 10.59 90. 100.59 0. 0. - 5 2 4 -7.2082 38.5606 31.2697 90. 10.59 90. 100.59 0. 0. - 5 2 5 -7.1972 38.5016 27.3397 90. 10.59 90. 100.59 0. 0. - 5 2 6 -7.2082 38.5606 23.4297 90. 10.59 90. 100.59 0. 0. - 5 2 7 -7.1972 38.5016 19.4997 90. 10.59 90. 100.59 0. 0. - 5 2 8 -7.2082 38.5606 15.5897 90. 10.59 90. 100.59 0. 0. - 5 2 9 -7.1972 38.5016 11.6597 90. 10.59 90. 100.59 0. 0. - 5 2 10 -7.2082 38.5606 7.7497 90. 10.59 90. 100.59 0. 0. - 5 2 11 -7.1972 38.5016 3.8197 90. 10.59 90. 100.59 0. 0. - 5 2 12 -7.2082 38.5606 -0.0903 90. 10.59 90. 100.59 0. 0. - 5 2 13 -7.1972 38.5016 -4.0203 90. 10.59 90. 100.59 0. 0. - 5 2 14 -7.2082 38.5606 -7.9303 90. 10.59 90. 100.59 0. 0. - 5 2 15 -7.1972 38.5016 -11.8603 90. 10.59 90. 100.59 0. 0. - 5 2 16 -7.2082 38.5606 -15.7703 90. 10.59 90. 100.59 0. 0. - 5 2 17 -7.1972 38.5016 -19.7003 90. 10.59 90. 100.59 0. 0. - 5 2 18 -7.2082 38.5606 -23.6103 90. 10.59 90. 100.59 0. 0. - 5 2 19 -7.1972 38.5016 -27.5403 90. 10.59 90. 100.59 0. 0. - 5 2 20 -7.2082 38.5606 -31.4503 90. 10.59 90. 100.59 0. 0. - 5 2 21 -7.1972 38.5016 -35.3803 90. 10.59 90. 100.59 0. 0. - 5 2 22 -7.2082 38.5606 -39.2903 90. 10.59 90. 100.59 0. 0. - 5 2 23 -7.1972 38.5016 -43.2003 90. 10.59 90. 100.59 0. 0. - 5 3 1 -14.0939 36.3804 43.0197 90. 21.18 90. 111.18 0. 0. - 5 3 2 -14.1155 36.4364 39.1097 90. 21.18 90. 111.18 0. 0. - 5 3 3 -14.0939 36.3804 35.1797 90. 21.18 90. 111.18 0. 0. - 5 3 4 -14.1155 36.4364 31.2697 90. 21.18 90. 111.18 0. 0. - 5 3 5 -14.0939 36.3804 27.3397 90. 21.18 90. 111.18 0. 0. - 5 3 6 -14.1155 36.4364 23.4297 90. 21.18 90. 111.18 0. 0. - 5 3 7 -14.0939 36.3804 19.4997 90. 21.18 90. 111.18 0. 0. - 5 3 8 -14.1155 36.4364 15.5897 90. 21.18 90. 111.18 0. 0. - 5 3 9 -14.0939 36.3804 11.6597 90. 21.18 90. 111.18 0. 0. - 5 3 10 -14.1155 36.4364 7.7497 90. 21.18 90. 111.18 0. 0. - 5 3 11 -14.0939 36.3804 3.8197 90. 21.18 90. 111.18 0. 0. - 5 3 12 -14.1155 36.4364 -0.0903 90. 21.18 90. 111.18 0. 0. - 5 3 13 -14.0939 36.3804 -4.0203 90. 21.18 90. 111.18 0. 0. - 5 3 14 -14.1155 36.4364 -7.9303 90. 21.18 90. 111.18 0. 0. - 5 3 15 -14.0939 36.3804 -11.8603 90. 21.18 90. 111.18 0. 0. - 5 3 16 -14.1155 36.4364 -15.7703 90. 21.18 90. 111.18 0. 0. - 5 3 17 -14.0939 36.3804 -19.7003 90. 21.18 90. 111.18 0. 0. - 5 3 18 -14.1155 36.4364 -23.6103 90. 21.18 90. 111.18 0. 0. - 5 3 19 -14.0939 36.3804 -27.5403 90. 21.18 90. 111.18 0. 0. - 5 3 20 -14.1155 36.4364 -31.4503 90. 21.18 90. 111.18 0. 0. - 5 3 21 -14.0939 36.3804 -35.3803 90. 21.18 90. 111.18 0. 0. - 5 3 22 -14.1155 36.4364 -39.2903 90. 21.18 90. 111.18 0. 0. - 5 3 23 -14.0939 36.3804 -43.2003 90. 21.18 90. 111.18 0. 0. - 5 4 1 -20.6196 33.3017 43.0197 90. 31.76 90. 121.76 0. 0. - 5 4 2 -20.6511 33.3527 39.1097 90. 31.76 90. 121.76 0. 0. - 5 4 3 -20.6196 33.3017 35.1797 90. 31.76 90. 121.76 0. 0. - 5 4 4 -20.6511 33.3527 31.2697 90. 31.76 90. 121.76 0. 0. - 5 4 5 -20.6196 33.3017 27.3397 90. 31.76 90. 121.76 0. 0. - 5 4 6 -20.6511 33.3527 23.4297 90. 31.76 90. 121.76 0. 0. - 5 4 7 -20.6196 33.3017 19.4997 90. 31.76 90. 121.76 0. 0. - 5 4 8 -20.6511 33.3527 15.5897 90. 31.76 90. 121.76 0. 0. - 5 4 9 -20.6196 33.3017 11.6597 90. 31.76 90. 121.76 0. 0. - 5 4 10 -20.6511 33.3527 7.7497 90. 31.76 90. 121.76 0. 0. - 5 4 11 -20.6196 33.3017 3.8197 90. 31.76 90. 121.76 0. 0. - 5 4 12 -20.6511 33.3527 -0.0903 90. 31.76 90. 121.76 0. 0. - 5 4 13 -20.6196 33.3017 -4.0203 90. 31.76 90. 121.76 0. 0. - 5 4 14 -20.6511 33.3527 -7.9303 90. 31.76 90. 121.76 0. 0. - 5 4 15 -20.6196 33.3017 -11.8603 90. 31.76 90. 121.76 0. 0. - 5 4 16 -20.6511 33.3527 -15.7703 90. 31.76 90. 121.76 0. 0. - 5 4 17 -20.6196 33.3017 -19.7003 90. 31.76 90. 121.76 0. 0. - 5 4 18 -20.6511 33.3527 -23.6103 90. 31.76 90. 121.76 0. 0. - 5 4 19 -20.6196 33.3017 -27.5403 90. 31.76 90. 121.76 0. 0. - 5 4 20 -20.6511 33.3527 -31.4503 90. 31.76 90. 121.76 0. 0. - 5 4 21 -20.6196 33.3017 -35.3803 90. 31.76 90. 121.76 0. 0. - 5 4 22 -20.6511 33.3527 -39.2903 90. 31.76 90. 121.76 0. 0. - 5 4 23 -20.6196 33.3017 -43.2003 90. 31.76 90. 121.76 0. 0. - 5 5 1 -26.2842 28.8324 43.0197 90. 42.35 90. 132.35 0. 0. - 5 5 2 -26.3246 28.8768 39.1097 90. 42.35 90. 132.35 0. 0. - 5 5 3 -26.2842 28.8324 35.1797 90. 42.35 90. 132.35 0. 0. - 5 5 4 -26.3246 28.8768 31.2697 90. 42.35 90. 132.35 0. 0. - 5 5 5 -26.2842 28.8324 27.3397 90. 42.35 90. 132.35 0. 0. - 5 5 6 -26.3246 28.8768 23.4297 90. 42.35 90. 132.35 0. 0. - 5 5 7 -26.2842 28.8324 19.4997 90. 42.35 90. 132.35 0. 0. - 5 5 8 -26.3246 28.8768 15.5897 90. 42.35 90. 132.35 0. 0. - 5 5 9 -26.2842 28.8324 11.6597 90. 42.35 90. 132.35 0. 0. - 5 5 10 -26.3246 28.8768 7.7497 90. 42.35 90. 132.35 0. 0. - 5 5 11 -26.2842 28.8324 3.8197 90. 42.35 90. 132.35 0. 0. - 5 5 12 -26.3246 28.8768 -0.0903 90. 42.35 90. 132.35 0. 0. - 5 5 13 -26.2842 28.8324 -4.0203 90. 42.35 90. 132.35 0. 0. - 5 5 14 -26.3246 28.8768 -7.9303 90. 42.35 90. 132.35 0. 0. - 5 5 15 -26.2842 28.8324 -11.8603 90. 42.35 90. 132.35 0. 0. - 5 5 16 -26.3246 28.8768 -15.7703 90. 42.35 90. 132.35 0. 0. - 5 5 17 -26.2842 28.8324 -19.7003 90. 42.35 90. 132.35 0. 0. - 5 5 18 -26.3246 28.8768 -23.6103 90. 42.35 90. 132.35 0. 0. - 5 5 19 -26.2842 28.8324 -27.5403 90. 42.35 90. 132.35 0. 0. - 5 5 20 -26.3246 28.8768 -31.4503 90. 42.35 90. 132.35 0. 0. - 5 5 21 -26.2842 28.8324 -35.3803 90. 42.35 90. 132.35 0. 0. - 5 5 22 -26.3246 28.8768 -39.2903 90. 42.35 90. 132.35 0. 0. - 5 5 23 -26.2842 28.8324 -43.2003 90. 42.35 90. 132.35 0. 0. - 5 6 1 -31.2572 23.6043 43.0197 90. 52.94 90. 142.94 0. 0. - 5 6 2 -31.3050 23.6405 39.1097 90. 52.94 90. 142.94 0. 0. - 5 6 3 -31.2572 23.6043 35.1797 90. 52.94 90. 142.94 0. 0. - 5 6 4 -31.3050 23.6405 31.2697 90. 52.94 90. 142.94 0. 0. - 5 6 5 -31.2572 23.6043 27.3397 90. 52.94 90. 142.94 0. 0. - 5 6 6 -31.3050 23.6405 23.4297 90. 52.94 90. 142.94 0. 0. - 5 6 7 -31.2572 23.6043 19.4997 90. 52.94 90. 142.94 0. 0. - 5 6 8 -31.3050 23.6405 15.5897 90. 52.94 90. 142.94 0. 0. - 5 6 9 -31.2572 23.6043 11.6597 90. 52.94 90. 142.94 0. 0. - 5 6 10 -31.3050 23.6405 7.7497 90. 52.94 90. 142.94 0. 0. - 5 6 11 -31.2572 23.6043 3.8197 90. 52.94 90. 142.94 0. 0. - 5 6 12 -31.3050 23.6405 -0.0903 90. 52.94 90. 142.94 0. 0. - 5 6 13 -31.2572 23.6043 -4.0203 90. 52.94 90. 142.94 0. 0. - 5 6 14 -31.3050 23.6405 -7.9303 90. 52.94 90. 142.94 0. 0. - 5 6 15 -31.2572 23.6043 -11.8603 90. 52.94 90. 142.94 0. 0. - 5 6 16 -31.3050 23.6405 -15.7703 90. 52.94 90. 142.94 0. 0. - 5 6 17 -31.2572 23.6043 -19.7003 90. 52.94 90. 142.94 0. 0. - 5 6 18 -31.3050 23.6405 -23.6103 90. 52.94 90. 142.94 0. 0. - 5 6 19 -31.2572 23.6043 -27.5403 90. 52.94 90. 142.94 0. 0. - 5 6 20 -31.3050 23.6405 -31.4503 90. 52.94 90. 142.94 0. 0. - 5 6 21 -31.2572 23.6043 -35.3803 90. 52.94 90. 142.94 0. 0. - 5 6 22 -31.3050 23.6405 -39.2903 90. 52.94 90. 142.94 0. 0. - 5 6 23 -31.2572 23.6043 -43.2003 90. 52.94 90. 142.94 0. 0. - 5 7 1 -34.9249 17.3905 43.0197 90. 63.53 90. 153.53 0. 0. - 5 7 2 -34.9786 17.4173 39.1097 90. 63.53 90. 153.53 0. 0. - 5 7 3 -34.9249 17.3905 35.1797 90. 63.53 90. 153.53 0. 0. - 5 7 4 -34.9786 17.4173 31.2697 90. 63.53 90. 153.53 0. 0. - 5 7 5 -34.9249 17.3905 27.3397 90. 63.53 90. 153.53 0. 0. - 5 7 6 -34.9786 17.4173 23.4297 90. 63.53 90. 153.53 0. 0. - 5 7 7 -34.9249 17.3905 19.4997 90. 63.53 90. 153.53 0. 0. - 5 7 8 -34.9786 17.4173 15.5897 90. 63.53 90. 153.53 0. 0. - 5 7 9 -34.9249 17.3905 11.6597 90. 63.53 90. 153.53 0. 0. - 5 7 10 -34.9786 17.4173 7.7497 90. 63.53 90. 153.53 0. 0. - 5 7 11 -34.9249 17.3905 3.8197 90. 63.53 90. 153.53 0. 0. - 5 7 12 -34.9786 17.4173 -0.0903 90. 63.53 90. 153.53 0. 0. - 5 7 13 -34.9249 17.3905 -4.0203 90. 63.53 90. 153.53 0. 0. - 5 7 14 -34.9786 17.4173 -7.9303 90. 63.53 90. 153.53 0. 0. - 5 7 15 -34.9249 17.3905 -11.8603 90. 63.53 90. 153.53 0. 0. - 5 7 16 -34.9786 17.4173 -15.7703 90. 63.53 90. 153.53 0. 0. - 5 7 17 -34.9249 17.3905 -19.7003 90. 63.53 90. 153.53 0. 0. - 5 7 18 -34.9786 17.4173 -23.6103 90. 63.53 90. 153.53 0. 0. - 5 7 19 -34.9249 17.3905 -27.5403 90. 63.53 90. 153.53 0. 0. - 5 7 20 -34.9786 17.4173 -31.4503 90. 63.53 90. 153.53 0. 0. - 5 7 21 -34.9249 17.3905 -35.3803 90. 63.53 90. 153.53 0. 0. - 5 7 22 -34.9786 17.4173 -39.2903 90. 63.53 90. 153.53 0. 0. - 5 7 23 -34.9249 17.3905 -43.2003 90. 63.53 90. 153.53 0. 0. - 5 8 1 -37.6733 10.7190 43.0197 90. 74.12 90. 164.12 0. 0. - 5 8 2 -37.7310 10.7354 39.1097 90. 74.12 90. 164.12 0. 0. - 5 8 3 -37.6733 10.7190 35.1797 90. 74.12 90. 164.12 0. 0. - 5 8 4 -37.7310 10.7354 31.2697 90. 74.12 90. 164.12 0. 0. - 5 8 5 -37.6733 10.7190 27.3397 90. 74.12 90. 164.12 0. 0. - 5 8 6 -37.7310 10.7354 23.4297 90. 74.12 90. 164.12 0. 0. - 5 8 7 -37.6733 10.7190 19.4997 90. 74.12 90. 164.12 0. 0. - 5 8 8 -37.7310 10.7354 15.5897 90. 74.12 90. 164.12 0. 0. - 5 8 9 -37.6733 10.7190 11.6597 90. 74.12 90. 164.12 0. 0. - 5 8 10 -37.7310 10.7354 7.7497 90. 74.12 90. 164.12 0. 0. - 5 8 11 -37.6733 10.7190 3.8197 90. 74.12 90. 164.12 0. 0. - 5 8 12 -37.7310 10.7354 -0.0903 90. 74.12 90. 164.12 0. 0. - 5 8 13 -37.6733 10.7190 -4.0203 90. 74.12 90. 164.12 0. 0. - 5 8 14 -37.7310 10.7354 -7.9303 90. 74.12 90. 164.12 0. 0. - 5 8 15 -37.6733 10.7190 -11.8603 90. 74.12 90. 164.12 0. 0. - 5 8 16 -37.7310 10.7354 -15.7703 90. 74.12 90. 164.12 0. 0. - 5 8 17 -37.6733 10.7190 -19.7003 90. 74.12 90. 164.12 0. 0. - 5 8 18 -37.7310 10.7354 -23.6103 90. 74.12 90. 164.12 0. 0. - 5 8 19 -37.6733 10.7190 -27.5403 90. 74.12 90. 164.12 0. 0. - 5 8 20 -37.7310 10.7354 -31.4503 90. 74.12 90. 164.12 0. 0. - 5 8 21 -37.6733 10.7190 -35.3803 90. 74.12 90. 164.12 0. 0. - 5 8 22 -37.7310 10.7354 -39.2903 90. 74.12 90. 164.12 0. 0. - 5 8 23 -37.6733 10.7190 -43.2003 90. 74.12 90. 164.12 0. 0. - 5 9 1 -38.8485 3.5998 43.0197 90. 84.71 90. 174.71 0. 0. - 5 9 2 -38.9083 3.6054 39.1097 90. 84.71 90. 174.71 0. 0. - 5 9 3 -38.8485 3.5998 35.1797 90. 84.71 90. 174.71 0. 0. - 5 9 4 -38.9083 3.6054 31.2697 90. 84.71 90. 174.71 0. 0. - 5 9 5 -38.8485 3.5998 27.3397 90. 84.71 90. 174.71 0. 0. - 5 9 6 -38.9083 3.6054 23.4297 90. 84.71 90. 174.71 0. 0. - 5 9 7 -38.8485 3.5998 19.4997 90. 84.71 90. 174.71 0. 0. - 5 9 8 -38.9083 3.6054 15.5897 90. 84.71 90. 174.71 0. 0. - 5 9 9 -38.8485 3.5998 11.6597 90. 84.71 90. 174.71 0. 0. - 5 9 10 -38.9083 3.6054 7.7497 90. 84.71 90. 174.71 0. 0. - 5 9 11 -38.8485 3.5998 3.8197 90. 84.71 90. 174.71 0. 0. - 5 9 12 -38.9083 3.6054 -0.0903 90. 84.71 90. 174.71 0. 0. - 5 9 13 -38.8485 3.5998 -4.0203 90. 84.71 90. 174.71 0. 0. - 5 9 14 -38.9083 3.6054 -7.9303 90. 84.71 90. 174.71 0. 0. - 5 9 15 -38.8485 3.5998 -11.8603 90. 84.71 90. 174.71 0. 0. - 5 9 16 -38.9083 3.6054 -15.7703 90. 84.71 90. 174.71 0. 0. - 5 9 17 -38.8485 3.5998 -19.7003 90. 84.71 90. 174.71 0. 0. - 5 9 18 -38.9083 3.6054 -23.6103 90. 84.71 90. 174.71 0. 0. - 5 9 19 -38.8485 3.5998 -27.5403 90. 84.71 90. 174.71 0. 0. - 5 9 20 -38.9083 3.6054 -31.4503 90. 84.71 90. 174.71 0. 0. - 5 9 21 -38.8485 3.5998 -35.3803 90. 84.71 90. 174.71 0. 0. - 5 9 22 -38.9083 3.6054 -39.2903 90. 84.71 90. 174.71 0. 0. - 5 9 23 -38.8485 3.5998 -43.2003 90. 84.71 90. 174.71 0. 0. - 5 10 1 -39.0014 -3.6140 43.0197 90. 95.29 90. 185.29 0. 0. - 5 10 2 -39.0612 -3.6195 39.1097 90. 95.29 90. 185.29 0. 0. - 5 10 3 -39.0014 -3.6140 35.1797 90. 95.29 90. 185.29 0. 0. - 5 10 4 -39.0612 -3.6195 31.2697 90. 95.29 90. 185.29 0. 0. - 5 10 5 -39.0014 -3.6140 27.3397 90. 95.29 90. 185.29 0. 0. - 5 10 6 -39.0612 -3.6195 23.4297 90. 95.29 90. 185.29 0. 0. - 5 10 7 -39.0014 -3.6140 19.4997 90. 95.29 90. 185.29 0. 0. - 5 10 8 -39.0612 -3.6195 15.5897 90. 95.29 90. 185.29 0. 0. - 5 10 9 -39.0014 -3.6140 11.6597 90. 95.29 90. 185.29 0. 0. - 5 10 10 -39.0612 -3.6195 7.7497 90. 95.29 90. 185.29 0. 0. - 5 10 11 -39.0014 -3.6140 3.8197 90. 95.29 90. 185.29 0. 0. - 5 10 12 -39.0612 -3.6195 -0.0903 90. 95.29 90. 185.29 0. 0. - 5 10 13 -39.0014 -3.6140 -4.0203 90. 95.29 90. 185.29 0. 0. - 5 10 14 -39.0612 -3.6195 -7.9303 90. 95.29 90. 185.29 0. 0. - 5 10 15 -39.0014 -3.6140 -11.8603 90. 95.29 90. 185.29 0. 0. - 5 10 16 -39.0612 -3.6195 -15.7703 90. 95.29 90. 185.29 0. 0. - 5 10 17 -39.0014 -3.6140 -19.7003 90. 95.29 90. 185.29 0. 0. - 5 10 18 -39.0612 -3.6195 -23.6103 90. 95.29 90. 185.29 0. 0. - 5 10 19 -39.0014 -3.6140 -27.5403 90. 95.29 90. 185.29 0. 0. - 5 10 20 -39.0612 -3.6195 -31.4503 90. 95.29 90. 185.29 0. 0. - 5 10 21 -39.0014 -3.6140 -35.3803 90. 95.29 90. 185.29 0. 0. - 5 10 22 -39.0612 -3.6195 -39.2903 90. 95.29 90. 185.29 0. 0. - 5 10 23 -39.0014 -3.6140 -43.2003 90. 95.29 90. 185.29 0. 0. - 5 11 1 -37.5257 -10.6770 43.0197 90. 105.88 90. 195.88 0. 0. - 5 11 2 -37.5834 -10.6934 39.1097 90. 105.88 90. 195.88 0. 0. - 5 11 3 -37.5257 -10.6770 35.1797 90. 105.88 90. 195.88 0. 0. - 5 11 4 -37.5834 -10.6934 31.2697 90. 105.88 90. 195.88 0. 0. - 5 11 5 -37.5257 -10.6770 27.3397 90. 105.88 90. 195.88 0. 0. - 5 11 6 -37.5834 -10.6934 23.4297 90. 105.88 90. 195.88 0. 0. - 5 11 7 -37.5257 -10.6770 19.4997 90. 105.88 90. 195.88 0. 0. - 5 11 8 -37.5834 -10.6934 15.5897 90. 105.88 90. 195.88 0. 0. - 5 11 9 -37.5257 -10.6770 11.6597 90. 105.88 90. 195.88 0. 0. - 5 11 10 -37.5834 -10.6934 7.7497 90. 105.88 90. 195.88 0. 0. - 5 11 11 -37.5257 -10.6770 3.8197 90. 105.88 90. 195.88 0. 0. - 5 11 12 -37.5834 -10.6934 -0.0903 90. 105.88 90. 195.88 0. 0. - 5 11 13 -37.5257 -10.6770 -4.0203 90. 105.88 90. 195.88 0. 0. - 5 11 14 -37.5834 -10.6934 -7.9303 90. 105.88 90. 195.88 0. 0. - 5 11 15 -37.5257 -10.6770 -11.8603 90. 105.88 90. 195.88 0. 0. - 5 11 16 -37.5834 -10.6934 -15.7703 90. 105.88 90. 195.88 0. 0. - 5 11 17 -37.5257 -10.6770 -19.7003 90. 105.88 90. 195.88 0. 0. - 5 11 18 -37.5834 -10.6934 -23.6103 90. 105.88 90. 195.88 0. 0. - 5 11 19 -37.5257 -10.6770 -27.5403 90. 105.88 90. 195.88 0. 0. - 5 11 20 -37.5834 -10.6934 -31.4503 90. 105.88 90. 195.88 0. 0. - 5 11 21 -37.5257 -10.6770 -35.3803 90. 105.88 90. 195.88 0. 0. - 5 11 22 -37.5834 -10.6934 -39.2903 90. 105.88 90. 195.88 0. 0. - 5 11 23 -37.5257 -10.6770 -43.2003 90. 105.88 90. 195.88 0. 0. - 5 12 1 -35.0622 -17.4589 43.0197 90. 116.47 90. 206.47 0. 0. - 5 12 2 -35.1160 -17.4857 39.1097 90. 116.47 90. 206.47 0. 0. - 5 12 3 -35.0622 -17.4589 35.1797 90. 116.47 90. 206.47 0. 0. - 5 12 4 -35.1160 -17.4857 31.2697 90. 116.47 90. 206.47 0. 0. - 5 12 5 -35.0622 -17.4589 27.3397 90. 116.47 90. 206.47 0. 0. - 5 12 6 -35.1160 -17.4857 23.4297 90. 116.47 90. 206.47 0. 0. - 5 12 7 -35.0622 -17.4589 19.4997 90. 116.47 90. 206.47 0. 0. - 5 12 8 -35.1160 -17.4857 15.5897 90. 116.47 90. 206.47 0. 0. - 5 12 9 -35.0622 -17.4589 11.6597 90. 116.47 90. 206.47 0. 0. - 5 12 10 -35.1160 -17.4857 7.7497 90. 116.47 90. 206.47 0. 0. - 5 12 11 -35.0622 -17.4589 3.8197 90. 116.47 90. 206.47 0. 0. - 5 12 12 -35.1160 -17.4857 -0.0903 90. 116.47 90. 206.47 0. 0. - 5 12 13 -35.0622 -17.4589 -4.0203 90. 116.47 90. 206.47 0. 0. - 5 12 14 -35.1160 -17.4857 -7.9303 90. 116.47 90. 206.47 0. 0. - 5 12 15 -35.0622 -17.4589 -11.8603 90. 116.47 90. 206.47 0. 0. - 5 12 16 -35.1160 -17.4857 -15.7703 90. 116.47 90. 206.47 0. 0. - 5 12 17 -35.0622 -17.4589 -19.7003 90. 116.47 90. 206.47 0. 0. - 5 12 18 -35.1160 -17.4857 -23.6103 90. 116.47 90. 206.47 0. 0. - 5 12 19 -35.0622 -17.4589 -27.5403 90. 116.47 90. 206.47 0. 0. - 5 12 20 -35.1160 -17.4857 -31.4503 90. 116.47 90. 206.47 0. 0. - 5 12 21 -35.0622 -17.4589 -35.3803 90. 116.47 90. 206.47 0. 0. - 5 12 22 -35.1160 -17.4857 -39.2903 90. 116.47 90. 206.47 0. 0. - 5 12 23 -35.0622 -17.4589 -43.2003 90. 116.47 90. 206.47 0. 0. - 5 13 1 -31.1347 -23.5118 43.0197 90. 127.06 90. 217.06 0. 0. - 5 13 2 -31.1826 -23.5480 39.1097 90. 127.06 90. 217.06 0. 0. - 5 13 3 -31.1347 -23.5118 35.1797 90. 127.06 90. 217.06 0. 0. - 5 13 4 -31.1826 -23.5480 31.2697 90. 127.06 90. 217.06 0. 0. - 5 13 5 -31.1347 -23.5118 27.3397 90. 127.06 90. 217.06 0. 0. - 5 13 6 -31.1826 -23.5480 23.4297 90. 127.06 90. 217.06 0. 0. - 5 13 7 -31.1347 -23.5118 19.4997 90. 127.06 90. 217.06 0. 0. - 5 13 8 -31.1826 -23.5480 15.5897 90. 127.06 90. 217.06 0. 0. - 5 13 9 -31.1347 -23.5118 11.6597 90. 127.06 90. 217.06 0. 0. - 5 13 10 -31.1826 -23.5480 7.7497 90. 127.06 90. 217.06 0. 0. - 5 13 11 -31.1347 -23.5118 3.8197 90. 127.06 90. 217.06 0. 0. - 5 13 12 -31.1826 -23.5480 -0.0903 90. 127.06 90. 217.06 0. 0. - 5 13 13 -31.1347 -23.5118 -4.0203 90. 127.06 90. 217.06 0. 0. - 5 13 14 -31.1826 -23.5480 -7.9303 90. 127.06 90. 217.06 0. 0. - 5 13 15 -31.1347 -23.5118 -11.8603 90. 127.06 90. 217.06 0. 0. - 5 13 16 -31.1826 -23.5480 -15.7703 90. 127.06 90. 217.06 0. 0. - 5 13 17 -31.1347 -23.5118 -19.7003 90. 127.06 90. 217.06 0. 0. - 5 13 18 -31.1826 -23.5480 -23.6103 90. 127.06 90. 217.06 0. 0. - 5 13 19 -31.1347 -23.5118 -27.5403 90. 127.06 90. 217.06 0. 0. - 5 13 20 -31.1826 -23.5480 -31.4503 90. 127.06 90. 217.06 0. 0. - 5 13 21 -31.1347 -23.5118 -35.3803 90. 127.06 90. 217.06 0. 0. - 5 13 22 -31.1826 -23.5480 -39.2903 90. 127.06 90. 217.06 0. 0. - 5 13 23 -31.1347 -23.5118 -43.2003 90. 127.06 90. 217.06 0. 0. - 5 14 1 -26.3877 -28.9459 43.0197 90. 137.65 90. 227.65 0. 0. - 5 14 2 -26.4281 -28.9902 39.1097 90. 137.65 90. 227.65 0. 0. - 5 14 3 -26.3877 -28.9459 35.1797 90. 137.65 90. 227.65 0. 0. - 5 14 4 -26.4281 -28.9902 31.2697 90. 137.65 90. 227.65 0. 0. - 5 14 5 -26.3877 -28.9459 27.3397 90. 137.65 90. 227.65 0. 0. - 5 14 6 -26.4281 -28.9902 23.4297 90. 137.65 90. 227.65 0. 0. - 5 14 7 -26.3877 -28.9459 19.4997 90. 137.65 90. 227.65 0. 0. - 5 14 8 -26.4281 -28.9902 15.5897 90. 137.65 90. 227.65 0. 0. - 5 14 9 -26.3877 -28.9459 11.6597 90. 137.65 90. 227.65 0. 0. - 5 14 10 -26.4281 -28.9902 7.7497 90. 137.65 90. 227.65 0. 0. - 5 14 11 -26.3877 -28.9459 3.8197 90. 137.65 90. 227.65 0. 0. - 5 14 12 -26.4281 -28.9902 -0.0903 90. 137.65 90. 227.65 0. 0. - 5 14 13 -26.3877 -28.9459 -4.0203 90. 137.65 90. 227.65 0. 0. - 5 14 14 -26.4281 -28.9902 -7.9303 90. 137.65 90. 227.65 0. 0. - 5 14 15 -26.3877 -28.9459 -11.8603 90. 137.65 90. 227.65 0. 0. - 5 14 16 -26.4281 -28.9902 -15.7703 90. 137.65 90. 227.65 0. 0. - 5 14 17 -26.3877 -28.9459 -19.7003 90. 137.65 90. 227.65 0. 0. - 5 14 18 -26.4281 -28.9902 -23.6103 90. 137.65 90. 227.65 0. 0. - 5 14 19 -26.3877 -28.9459 -27.5403 90. 137.65 90. 227.65 0. 0. - 5 14 20 -26.4281 -28.9902 -31.4503 90. 137.65 90. 227.65 0. 0. - 5 14 21 -26.3877 -28.9459 -35.3803 90. 137.65 90. 227.65 0. 0. - 5 14 22 -26.4281 -28.9902 -39.2903 90. 137.65 90. 227.65 0. 0. - 5 14 23 -26.3877 -28.9459 -43.2003 90. 137.65 90. 227.65 0. 0. - 5 15 1 -20.5388 -33.1712 43.0197 90. 148.24 90. 238.24 0. 0. - 5 15 2 -20.5703 -33.2222 39.1097 90. 148.24 90. 238.24 0. 0. - 5 15 3 -20.5388 -33.1712 35.1797 90. 148.24 90. 238.24 0. 0. - 5 15 4 -20.5703 -33.2222 31.2697 90. 148.24 90. 238.24 0. 0. - 5 15 5 -20.5388 -33.1712 27.3397 90. 148.24 90. 238.24 0. 0. - 5 15 6 -20.5703 -33.2222 23.4297 90. 148.24 90. 238.24 0. 0. - 5 15 7 -20.5388 -33.1712 19.4997 90. 148.24 90. 238.24 0. 0. - 5 15 8 -20.5703 -33.2222 15.5897 90. 148.24 90. 238.24 0. 0. - 5 15 9 -20.5388 -33.1712 11.6597 90. 148.24 90. 238.24 0. 0. - 5 15 10 -20.5703 -33.2222 7.7497 90. 148.24 90. 238.24 0. 0. - 5 15 11 -20.5388 -33.1712 3.8197 90. 148.24 90. 238.24 0. 0. - 5 15 12 -20.5703 -33.2222 -0.0903 90. 148.24 90. 238.24 0. 0. - 5 15 13 -20.5388 -33.1712 -4.0203 90. 148.24 90. 238.24 0. 0. - 5 15 14 -20.5703 -33.2222 -7.9303 90. 148.24 90. 238.24 0. 0. - 5 15 15 -20.5388 -33.1712 -11.8603 90. 148.24 90. 238.24 0. 0. - 5 15 16 -20.5703 -33.2222 -15.7703 90. 148.24 90. 238.24 0. 0. - 5 15 17 -20.5388 -33.1712 -19.7003 90. 148.24 90. 238.24 0. 0. - 5 15 18 -20.5703 -33.2222 -23.6103 90. 148.24 90. 238.24 0. 0. - 5 15 19 -20.5388 -33.1712 -27.5403 90. 148.24 90. 238.24 0. 0. - 5 15 20 -20.5703 -33.2222 -31.4503 90. 148.24 90. 238.24 0. 0. - 5 15 21 -20.5388 -33.1712 -35.3803 90. 148.24 90. 238.24 0. 0. - 5 15 22 -20.5703 -33.2222 -39.2903 90. 148.24 90. 238.24 0. 0. - 5 15 23 -20.5388 -33.1712 -43.2003 90. 148.24 90. 238.24 0. 0. - 5 16 1 -14.1493 -36.5235 43.0197 90. 158.82 90. 248.82 0. 0. - 5 16 2 -14.1710 -36.5795 39.1097 90. 158.82 90. 248.82 0. 0. - 5 16 3 -14.1493 -36.5235 35.1797 90. 158.82 90. 248.82 0. 0. - 5 16 4 -14.1710 -36.5795 31.2697 90. 158.82 90. 248.82 0. 0. - 5 16 5 -14.1493 -36.5235 27.3397 90. 158.82 90. 248.82 0. 0. - 5 16 6 -14.1710 -36.5795 23.4297 90. 158.82 90. 248.82 0. 0. - 5 16 7 -14.1493 -36.5235 19.4997 90. 158.82 90. 248.82 0. 0. - 5 16 8 -14.1710 -36.5795 15.5897 90. 158.82 90. 248.82 0. 0. - 5 16 9 -14.1493 -36.5235 11.6597 90. 158.82 90. 248.82 0. 0. - 5 16 10 -14.1710 -36.5795 7.7497 90. 158.82 90. 248.82 0. 0. - 5 16 11 -14.1493 -36.5235 3.8197 90. 158.82 90. 248.82 0. 0. - 5 16 12 -14.1710 -36.5795 -0.0903 90. 158.82 90. 248.82 0. 0. - 5 16 13 -14.1493 -36.5235 -4.0203 90. 158.82 90. 248.82 0. 0. - 5 16 14 -14.1710 -36.5795 -7.9303 90. 158.82 90. 248.82 0. 0. - 5 16 15 -14.1493 -36.5235 -11.8603 90. 158.82 90. 248.82 0. 0. - 5 16 16 -14.1710 -36.5795 -15.7703 90. 158.82 90. 248.82 0. 0. - 5 16 17 -14.1493 -36.5235 -19.7003 90. 158.82 90. 248.82 0. 0. - 5 16 18 -14.1710 -36.5795 -23.6103 90. 158.82 90. 248.82 0. 0. - 5 16 19 -14.1493 -36.5235 -27.5403 90. 158.82 90. 248.82 0. 0. - 5 16 20 -14.1710 -36.5795 -31.4503 90. 158.82 90. 248.82 0. 0. - 5 16 21 -14.1493 -36.5235 -35.3803 90. 158.82 90. 248.82 0. 0. - 5 16 22 -14.1710 -36.5795 -39.2903 90. 158.82 90. 248.82 0. 0. - 5 16 23 -14.1493 -36.5235 -43.2003 90. 158.82 90. 248.82 0. 0. - 5 17 1 -7.1690 -38.3507 43.0197 90. 169.41 90. 259.41 0. 0. - 5 17 2 -7.1800 -38.4097 39.1097 90. 169.41 90. 259.41 0. 0. - 5 17 3 -7.1690 -38.3507 35.1797 90. 169.41 90. 259.41 0. 0. - 5 17 4 -7.1800 -38.4097 31.2697 90. 169.41 90. 259.41 0. 0. - 5 17 5 -7.1690 -38.3507 27.3397 90. 169.41 90. 259.41 0. 0. - 5 17 6 -7.1800 -38.4097 23.4297 90. 169.41 90. 259.41 0. 0. - 5 17 7 -7.1690 -38.3507 19.4997 90. 169.41 90. 259.41 0. 0. - 5 17 8 -7.1800 -38.4097 15.5897 90. 169.41 90. 259.41 0. 0. - 5 17 9 -7.1690 -38.3507 11.6597 90. 169.41 90. 259.41 0. 0. - 5 17 10 -7.1800 -38.4097 7.7497 90. 169.41 90. 259.41 0. 0. - 5 17 11 -7.1690 -38.3507 3.8197 90. 169.41 90. 259.41 0. 0. - 5 17 12 -7.1800 -38.4097 -0.0903 90. 169.41 90. 259.41 0. 0. - 5 17 13 -7.1690 -38.3507 -4.0203 90. 169.41 90. 259.41 0. 0. - 5 17 14 -7.1800 -38.4097 -7.9303 90. 169.41 90. 259.41 0. 0. - 5 17 15 -7.1690 -38.3507 -11.8603 90. 169.41 90. 259.41 0. 0. - 5 17 16 -7.1800 -38.4097 -15.7703 90. 169.41 90. 259.41 0. 0. - 5 17 17 -7.1690 -38.3507 -19.7003 90. 169.41 90. 259.41 0. 0. - 5 17 18 -7.1800 -38.4097 -23.6103 90. 169.41 90. 259.41 0. 0. - 5 17 19 -7.1690 -38.3507 -27.5403 90. 169.41 90. 259.41 0. 0. - 5 17 20 -7.1800 -38.4097 -31.4503 90. 169.41 90. 259.41 0. 0. - 5 17 21 -7.1690 -38.3507 -35.3803 90. 169.41 90. 259.41 0. 0. - 5 17 22 -7.1800 -38.4097 -39.2903 90. 169.41 90. 259.41 0. 0. - 5 17 23 -7.1690 -38.3507 -43.2003 90. 169.41 90. 259.41 0. 0. - 5 18 1 0.0000 -39.1685 43.0197 90. 180.00 90. 270.00 0. 0. - 5 18 2 0.0000 -39.2285 39.1097 90. 180.00 90. 270.00 0. 0. - 5 18 3 0.0000 -39.1685 35.1797 90. 180.00 90. 270.00 0. 0. - 5 18 4 0.0000 -39.2285 31.2697 90. 180.00 90. 270.00 0. 0. - 5 18 5 0.0000 -39.1685 27.3397 90. 180.00 90. 270.00 0. 0. - 5 18 6 0.0000 -39.2285 23.4297 90. 180.00 90. 270.00 0. 0. - 5 18 7 0.0000 -39.1685 19.4997 90. 180.00 90. 270.00 0. 0. - 5 18 8 0.0000 -39.2285 15.5897 90. 180.00 90. 270.00 0. 0. - 5 18 9 0.0000 -39.1685 11.6597 90. 180.00 90. 270.00 0. 0. - 5 18 10 0.0000 -39.2285 7.7497 90. 180.00 90. 270.00 0. 0. - 5 18 11 0.0000 -39.1685 3.8197 90. 180.00 90. 270.00 0. 0. - 5 18 12 0.0000 -39.2285 -0.0903 90. 180.00 90. 270.00 0. 0. - 5 18 13 0.0000 -39.1685 -4.0203 90. 180.00 90. 270.00 0. 0. - 5 18 14 0.0000 -39.2285 -7.9303 90. 180.00 90. 270.00 0. 0. - 5 18 15 0.0000 -39.1685 -11.8603 90. 180.00 90. 270.00 0. 0. - 5 18 16 0.0000 -39.2285 -15.7703 90. 180.00 90. 270.00 0. 0. - 5 18 17 0.0000 -39.1685 -19.7003 90. 180.00 90. 270.00 0. 0. - 5 18 18 0.0000 -39.2285 -23.6103 90. 180.00 90. 270.00 0. 0. - 5 18 19 0.0000 -39.1685 -27.5403 90. 180.00 90. 270.00 0. 0. - 5 18 20 0.0000 -39.2285 -31.4503 90. 180.00 90. 270.00 0. 0. - 5 18 21 0.0000 -39.1685 -35.3803 90. 180.00 90. 270.00 0. 0. - 5 18 22 0.0000 -39.2285 -39.2903 90. 180.00 90. 270.00 0. 0. - 5 18 23 0.0000 -39.1685 -43.2003 90. 180.00 90. 270.00 0. 0. - 5 19 1 7.1545 -38.2734 43.0197 90. 190.59 90. 280.59 0. 0. - 5 19 2 7.1656 -38.3324 39.1097 90. 190.59 90. 280.59 0. 0. - 5 19 3 7.1545 -38.2734 35.1797 90. 190.59 90. 280.59 0. 0. - 5 19 4 7.1656 -38.3324 31.2697 90. 190.59 90. 280.59 0. 0. - 5 19 5 7.1545 -38.2734 27.3397 90. 190.59 90. 280.59 0. 0. - 5 19 6 7.1656 -38.3324 23.4297 90. 190.59 90. 280.59 0. 0. - 5 19 7 7.1545 -38.2734 19.4997 90. 190.59 90. 280.59 0. 0. - 5 19 8 7.1656 -38.3324 15.5897 90. 190.59 90. 280.59 0. 0. - 5 19 9 7.1545 -38.2734 11.6597 90. 190.59 90. 280.59 0. 0. - 5 19 10 7.1656 -38.3324 7.7497 90. 190.59 90. 280.59 0. 0. - 5 19 11 7.1545 -38.2734 3.8197 90. 190.59 90. 280.59 0. 0. - 5 19 12 7.1656 -38.3324 -0.0903 90. 190.59 90. 280.59 0. 0. - 5 19 13 7.1545 -38.2734 -4.0203 90. 190.59 90. 280.59 0. 0. - 5 19 14 7.1656 -38.3324 -7.9303 90. 190.59 90. 280.59 0. 0. - 5 19 15 7.1545 -38.2734 -11.8603 90. 190.59 90. 280.59 0. 0. - 5 19 16 7.1656 -38.3324 -15.7703 90. 190.59 90. 280.59 0. 0. - 5 19 17 7.1545 -38.2734 -19.7003 90. 190.59 90. 280.59 0. 0. - 5 19 18 7.1656 -38.3324 -23.6103 90. 190.59 90. 280.59 0. 0. - 5 19 19 7.1545 -38.2734 -27.5403 90. 190.59 90. 280.59 0. 0. - 5 19 20 7.1656 -38.3324 -31.4503 90. 190.59 90. 280.59 0. 0. - 5 19 21 7.1545 -38.2734 -35.3803 90. 190.59 90. 280.59 0. 0. - 5 19 22 7.1656 -38.3324 -39.2903 90. 190.59 90. 280.59 0. 0. - 5 19 23 7.1545 -38.2734 -43.2003 90. 190.59 90. 280.59 0. 0. - 5 20 1 14.1493 -36.5235 43.0197 90. 201.18 90. 291.18 0. 0. - 5 20 2 14.1710 -36.5795 39.1097 90. 201.18 90. 291.18 0. 0. - 5 20 3 14.1493 -36.5235 35.1797 90. 201.18 90. 291.18 0. 0. - 5 20 4 14.1710 -36.5795 31.2697 90. 201.18 90. 291.18 0. 0. - 5 20 5 14.1493 -36.5235 27.3397 90. 201.18 90. 291.18 0. 0. - 5 20 6 14.1710 -36.5795 23.4297 90. 201.18 90. 291.18 0. 0. - 5 20 7 14.1493 -36.5235 19.4997 90. 201.18 90. 291.18 0. 0. - 5 20 8 14.1710 -36.5795 15.5897 90. 201.18 90. 291.18 0. 0. - 5 20 9 14.1493 -36.5235 11.6597 90. 201.18 90. 291.18 0. 0. - 5 20 10 14.1710 -36.5795 7.7497 90. 201.18 90. 291.18 0. 0. - 5 20 11 14.1493 -36.5235 3.8197 90. 201.18 90. 291.18 0. 0. - 5 20 12 14.1710 -36.5795 -0.0903 90. 201.18 90. 291.18 0. 0. - 5 20 13 14.1493 -36.5235 -4.0203 90. 201.18 90. 291.18 0. 0. - 5 20 14 14.1710 -36.5795 -7.9303 90. 201.18 90. 291.18 0. 0. - 5 20 15 14.1493 -36.5235 -11.8603 90. 201.18 90. 291.18 0. 0. - 5 20 16 14.1710 -36.5795 -15.7703 90. 201.18 90. 291.18 0. 0. - 5 20 17 14.1493 -36.5235 -19.7003 90. 201.18 90. 291.18 0. 0. - 5 20 18 14.1710 -36.5795 -23.6103 90. 201.18 90. 291.18 0. 0. - 5 20 19 14.1493 -36.5235 -27.5403 90. 201.18 90. 291.18 0. 0. - 5 20 20 14.1710 -36.5795 -31.4503 90. 201.18 90. 291.18 0. 0. - 5 20 21 14.1493 -36.5235 -35.3803 90. 201.18 90. 291.18 0. 0. - 5 20 22 14.1710 -36.5795 -39.2903 90. 201.18 90. 291.18 0. 0. - 5 20 23 14.1493 -36.5235 -43.2003 90. 201.18 90. 291.18 0. 0. - 5 21 1 20.5387 -33.1712 43.0197 90. 211.76 90. 301.76 0. 0. - 5 21 2 20.5703 -33.2222 39.1097 90. 211.76 90. 301.76 0. 0. - 5 21 3 20.5387 -33.1712 35.1797 90. 211.76 90. 301.76 0. 0. - 5 21 4 20.5703 -33.2222 31.2697 90. 211.76 90. 301.76 0. 0. - 5 21 5 20.5387 -33.1712 27.3397 90. 211.76 90. 301.76 0. 0. - 5 21 6 20.5703 -33.2222 23.4297 90. 211.76 90. 301.76 0. 0. - 5 21 7 20.5387 -33.1712 19.4997 90. 211.76 90. 301.76 0. 0. - 5 21 8 20.5703 -33.2222 15.5897 90. 211.76 90. 301.76 0. 0. - 5 21 9 20.5387 -33.1712 11.6597 90. 211.76 90. 301.76 0. 0. - 5 21 10 20.5703 -33.2222 7.7497 90. 211.76 90. 301.76 0. 0. - 5 21 11 20.5387 -33.1712 3.8197 90. 211.76 90. 301.76 0. 0. - 5 21 12 20.5703 -33.2222 -0.0903 90. 211.76 90. 301.76 0. 0. - 5 21 13 20.5387 -33.1712 -4.0203 90. 211.76 90. 301.76 0. 0. - 5 21 14 20.5703 -33.2222 -7.9303 90. 211.76 90. 301.76 0. 0. - 5 21 15 20.5387 -33.1712 -11.8603 90. 211.76 90. 301.76 0. 0. - 5 21 16 20.5703 -33.2222 -15.7703 90. 211.76 90. 301.76 0. 0. - 5 21 17 20.5387 -33.1712 -19.7003 90. 211.76 90. 301.76 0. 0. - 5 21 18 20.5703 -33.2222 -23.6103 90. 211.76 90. 301.76 0. 0. - 5 21 19 20.5387 -33.1712 -27.5403 90. 211.76 90. 301.76 0. 0. - 5 21 20 20.5703 -33.2222 -31.4503 90. 211.76 90. 301.76 0. 0. - 5 21 21 20.5387 -33.1712 -35.3803 90. 211.76 90. 301.76 0. 0. - 5 21 22 20.5703 -33.2222 -39.2903 90. 211.76 90. 301.76 0. 0. - 5 21 23 20.5387 -33.1712 -43.2003 90. 211.76 90. 301.76 0. 0. - 5 22 1 26.3876 -28.9458 43.0197 90. 222.35 90. 312.35 0. 0. - 5 22 2 26.4280 -28.9902 39.1097 90. 222.35 90. 312.35 0. 0. - 5 22 3 26.3876 -28.9458 35.1797 90. 222.35 90. 312.35 0. 0. - 5 22 4 26.4280 -28.9902 31.2697 90. 222.35 90. 312.35 0. 0. - 5 22 5 26.3876 -28.9458 27.3397 90. 222.35 90. 312.35 0. 0. - 5 22 6 26.4280 -28.9902 23.4297 90. 222.35 90. 312.35 0. 0. - 5 22 7 26.3876 -28.9458 19.4997 90. 222.35 90. 312.35 0. 0. - 5 22 8 26.4280 -28.9902 15.5897 90. 222.35 90. 312.35 0. 0. - 5 22 9 26.3876 -28.9458 11.6597 90. 222.35 90. 312.35 0. 0. - 5 22 10 26.4280 -28.9902 7.7497 90. 222.35 90. 312.35 0. 0. - 5 22 11 26.3876 -28.9458 3.8197 90. 222.35 90. 312.35 0. 0. - 5 22 12 26.4280 -28.9902 -0.0903 90. 222.35 90. 312.35 0. 0. - 5 22 13 26.3876 -28.9458 -4.0203 90. 222.35 90. 312.35 0. 0. - 5 22 14 26.4280 -28.9902 -7.9303 90. 222.35 90. 312.35 0. 0. - 5 22 15 26.3876 -28.9458 -11.8603 90. 222.35 90. 312.35 0. 0. - 5 22 16 26.4280 -28.9902 -15.7703 90. 222.35 90. 312.35 0. 0. - 5 22 17 26.3876 -28.9458 -19.7003 90. 222.35 90. 312.35 0. 0. - 5 22 18 26.4280 -28.9902 -23.6103 90. 222.35 90. 312.35 0. 0. - 5 22 19 26.3876 -28.9458 -27.5403 90. 222.35 90. 312.35 0. 0. - 5 22 20 26.4280 -28.9902 -31.4503 90. 222.35 90. 312.35 0. 0. - 5 22 21 26.3876 -28.9458 -35.3803 90. 222.35 90. 312.35 0. 0. - 5 22 22 26.4280 -28.9902 -39.2903 90. 222.35 90. 312.35 0. 0. - 5 22 23 26.3876 -28.9458 -43.2003 90. 222.35 90. 312.35 0. 0. - 5 23 1 31.1347 -23.5118 43.0197 90. 232.94 90. 322.94 0. 0. - 5 23 2 31.1825 -23.5480 39.1097 90. 232.94 90. 322.94 0. 0. - 5 23 3 31.1347 -23.5118 35.1797 90. 232.94 90. 322.94 0. 0. - 5 23 4 31.1825 -23.5480 31.2697 90. 232.94 90. 322.94 0. 0. - 5 23 5 31.1347 -23.5118 27.3397 90. 232.94 90. 322.94 0. 0. - 5 23 6 31.1825 -23.5480 23.4297 90. 232.94 90. 322.94 0. 0. - 5 23 7 31.1347 -23.5118 19.4997 90. 232.94 90. 322.94 0. 0. - 5 23 8 31.1825 -23.5480 15.5897 90. 232.94 90. 322.94 0. 0. - 5 23 9 31.1347 -23.5118 11.6597 90. 232.94 90. 322.94 0. 0. - 5 23 10 31.1825 -23.5480 7.7497 90. 232.94 90. 322.94 0. 0. - 5 23 11 31.1347 -23.5118 3.8197 90. 232.94 90. 322.94 0. 0. - 5 23 12 31.1825 -23.5480 -0.0903 90. 232.94 90. 322.94 0. 0. - 5 23 13 31.1347 -23.5118 -4.0203 90. 232.94 90. 322.94 0. 0. - 5 23 14 31.1825 -23.5480 -7.9303 90. 232.94 90. 322.94 0. 0. - 5 23 15 31.1347 -23.5118 -11.8603 90. 232.94 90. 322.94 0. 0. - 5 23 16 31.1825 -23.5480 -15.7703 90. 232.94 90. 322.94 0. 0. - 5 23 17 31.1347 -23.5118 -19.7003 90. 232.94 90. 322.94 0. 0. - 5 23 18 31.1825 -23.5480 -23.6103 90. 232.94 90. 322.94 0. 0. - 5 23 19 31.1347 -23.5118 -27.5403 90. 232.94 90. 322.94 0. 0. - 5 23 20 31.1825 -23.5480 -31.4503 90. 232.94 90. 322.94 0. 0. - 5 23 21 31.1347 -23.5118 -35.3803 90. 232.94 90. 322.94 0. 0. - 5 23 22 31.1825 -23.5480 -39.2903 90. 232.94 90. 322.94 0. 0. - 5 23 23 31.1347 -23.5118 -43.2003 90. 232.94 90. 322.94 0. 0. - 5 24 1 35.0622 -17.4589 43.0197 90. 243.53 90. 333.53 0. 0. - 5 24 2 35.1159 -17.4856 39.1097 90. 243.53 90. 333.53 0. 0. - 5 24 3 35.0622 -17.4589 35.1797 90. 243.53 90. 333.53 0. 0. - 5 24 4 35.1159 -17.4856 31.2697 90. 243.53 90. 333.53 0. 0. - 5 24 5 35.0622 -17.4589 27.3397 90. 243.53 90. 333.53 0. 0. - 5 24 6 35.1159 -17.4856 23.4297 90. 243.53 90. 333.53 0. 0. - 5 24 7 35.0622 -17.4589 19.4997 90. 243.53 90. 333.53 0. 0. - 5 24 8 35.1159 -17.4856 15.5897 90. 243.53 90. 333.53 0. 0. - 5 24 9 35.0622 -17.4589 11.6597 90. 243.53 90. 333.53 0. 0. - 5 24 10 35.1159 -17.4856 7.7497 90. 243.53 90. 333.53 0. 0. - 5 24 11 35.0622 -17.4589 3.8197 90. 243.53 90. 333.53 0. 0. - 5 24 12 35.1159 -17.4856 -0.0903 90. 243.53 90. 333.53 0. 0. - 5 24 13 35.0622 -17.4589 -4.0203 90. 243.53 90. 333.53 0. 0. - 5 24 14 35.1159 -17.4856 -7.9303 90. 243.53 90. 333.53 0. 0. - 5 24 15 35.0622 -17.4589 -11.8603 90. 243.53 90. 333.53 0. 0. - 5 24 16 35.1159 -17.4856 -15.7703 90. 243.53 90. 333.53 0. 0. - 5 24 17 35.0622 -17.4589 -19.7003 90. 243.53 90. 333.53 0. 0. - 5 24 18 35.1159 -17.4856 -23.6103 90. 243.53 90. 333.53 0. 0. - 5 24 19 35.0622 -17.4589 -27.5403 90. 243.53 90. 333.53 0. 0. - 5 24 20 35.1159 -17.4856 -31.4503 90. 243.53 90. 333.53 0. 0. - 5 24 21 35.0622 -17.4589 -35.3803 90. 243.53 90. 333.53 0. 0. - 5 24 22 35.1159 -17.4856 -39.2903 90. 243.53 90. 333.53 0. 0. - 5 24 23 35.0622 -17.4589 -43.2003 90. 243.53 90. 333.53 0. 0. - 5 25 1 37.5257 -10.6770 43.0197 90. 254.12 90. 344.12 0. 0. - 5 25 2 37.5834 -10.6934 39.1097 90. 254.12 90. 344.12 0. 0. - 5 25 3 37.5257 -10.6770 35.1797 90. 254.12 90. 344.12 0. 0. - 5 25 4 37.5834 -10.6934 31.2697 90. 254.12 90. 344.12 0. 0. - 5 25 5 37.5257 -10.6770 27.3397 90. 254.12 90. 344.12 0. 0. - 5 25 6 37.5834 -10.6934 23.4297 90. 254.12 90. 344.12 0. 0. - 5 25 7 37.5257 -10.6770 19.4997 90. 254.12 90. 344.12 0. 0. - 5 25 8 37.5834 -10.6934 15.5897 90. 254.12 90. 344.12 0. 0. - 5 25 9 37.5257 -10.6770 11.6597 90. 254.12 90. 344.12 0. 0. - 5 25 10 37.5834 -10.6934 7.7497 90. 254.12 90. 344.12 0. 0. - 5 25 11 37.5257 -10.6770 3.8197 90. 254.12 90. 344.12 0. 0. - 5 25 12 37.5834 -10.6934 -0.0903 90. 254.12 90. 344.12 0. 0. - 5 25 13 37.5257 -10.6770 -4.0203 90. 254.12 90. 344.12 0. 0. - 5 25 14 37.5834 -10.6934 -7.9303 90. 254.12 90. 344.12 0. 0. - 5 25 15 37.5257 -10.6770 -11.8603 90. 254.12 90. 344.12 0. 0. - 5 25 16 37.5834 -10.6934 -15.7703 90. 254.12 90. 344.12 0. 0. - 5 25 17 37.5257 -10.6770 -19.7003 90. 254.12 90. 344.12 0. 0. - 5 25 18 37.5834 -10.6934 -23.6103 90. 254.12 90. 344.12 0. 0. - 5 25 19 37.5257 -10.6770 -27.5403 90. 254.12 90. 344.12 0. 0. - 5 25 20 37.5834 -10.6934 -31.4503 90. 254.12 90. 344.12 0. 0. - 5 25 21 37.5257 -10.6770 -35.3803 90. 254.12 90. 344.12 0. 0. - 5 25 22 37.5834 -10.6934 -39.2903 90. 254.12 90. 344.12 0. 0. - 5 25 23 37.5257 -10.6770 -43.2003 90. 254.12 90. 344.12 0. 0. - 5 26 1 38.9833 -3.6123 43.0197 90. 264.71 90. 354.71 0. 0. - 5 26 2 39.0430 -3.6179 39.1097 90. 264.71 90. 354.71 0. 0. - 5 26 3 38.9833 -3.6123 35.1797 90. 264.71 90. 354.71 0. 0. - 5 26 4 39.0430 -3.6179 31.2697 90. 264.71 90. 354.71 0. 0. - 5 26 5 38.9833 -3.6123 27.3397 90. 264.71 90. 354.71 0. 0. - 5 26 6 39.0430 -3.6179 23.4297 90. 264.71 90. 354.71 0. 0. - 5 26 7 38.9833 -3.6123 19.4997 90. 264.71 90. 354.71 0. 0. - 5 26 8 39.0430 -3.6179 15.5897 90. 264.71 90. 354.71 0. 0. - 5 26 9 38.9833 -3.6123 11.6597 90. 264.71 90. 354.71 0. 0. - 5 26 10 39.0430 -3.6179 7.7497 90. 264.71 90. 354.71 0. 0. - 5 26 11 38.9833 -3.6123 3.8197 90. 264.71 90. 354.71 0. 0. - 5 26 12 39.0430 -3.6179 -0.0903 90. 264.71 90. 354.71 0. 0. - 5 26 13 38.9833 -3.6123 -4.0203 90. 264.71 90. 354.71 0. 0. - 5 26 14 39.0430 -3.6179 -7.9303 90. 264.71 90. 354.71 0. 0. - 5 26 15 38.9833 -3.6123 -11.8603 90. 264.71 90. 354.71 0. 0. - 5 26 16 39.0430 -3.6179 -15.7703 90. 264.71 90. 354.71 0. 0. - 5 26 17 38.9833 -3.6123 -19.7003 90. 264.71 90. 354.71 0. 0. - 5 26 18 39.0430 -3.6179 -23.6103 90. 264.71 90. 354.71 0. 0. - 5 26 19 38.9833 -3.6123 -27.5403 90. 264.71 90. 354.71 0. 0. - 5 26 20 39.0430 -3.6179 -31.4503 90. 264.71 90. 354.71 0. 0. - 5 26 21 38.9833 -3.6123 -35.3803 90. 264.71 90. 354.71 0. 0. - 5 26 22 39.0430 -3.6179 -39.2903 90. 264.71 90. 354.71 0. 0. - 5 26 23 38.9833 -3.6123 -43.2003 90. 264.71 90. 354.71 0. 0. - 5 27 1 38.8485 3.5998 43.0197 90. 275.29 90. 5.29 0. 0. - 5 27 2 38.9083 3.6054 39.1097 90. 275.29 90. 5.29 0. 0. - 5 27 3 38.8485 3.5998 35.1797 90. 275.29 90. 5.29 0. 0. - 5 27 4 38.9083 3.6054 31.2697 90. 275.29 90. 5.29 0. 0. - 5 27 5 38.8485 3.5998 27.3397 90. 275.29 90. 5.29 0. 0. - 5 27 6 38.9083 3.6054 23.4297 90. 275.29 90. 5.29 0. 0. - 5 27 7 38.8485 3.5998 19.4997 90. 275.29 90. 5.29 0. 0. - 5 27 8 38.9083 3.6054 15.5897 90. 275.29 90. 5.29 0. 0. - 5 27 9 38.8485 3.5998 11.6597 90. 275.29 90. 5.29 0. 0. - 5 27 10 38.9083 3.6054 7.7497 90. 275.29 90. 5.29 0. 0. - 5 27 11 38.8485 3.5998 3.8197 90. 275.29 90. 5.29 0. 0. - 5 27 12 38.9083 3.6054 -0.0903 90. 275.29 90. 5.29 0. 0. - 5 27 13 38.8485 3.5998 -4.0203 90. 275.29 90. 5.29 0. 0. - 5 27 14 38.9083 3.6054 -7.9303 90. 275.29 90. 5.29 0. 0. - 5 27 15 38.8485 3.5998 -11.8603 90. 275.29 90. 5.29 0. 0. - 5 27 16 38.9083 3.6054 -15.7703 90. 275.29 90. 5.29 0. 0. - 5 27 17 38.8485 3.5998 -19.7003 90. 275.29 90. 5.29 0. 0. - 5 27 18 38.9083 3.6054 -23.6103 90. 275.29 90. 5.29 0. 0. - 5 27 19 38.8485 3.5998 -27.5403 90. 275.29 90. 5.29 0. 0. - 5 27 20 38.9083 3.6054 -31.4503 90. 275.29 90. 5.29 0. 0. - 5 27 21 38.8485 3.5998 -35.3803 90. 275.29 90. 5.29 0. 0. - 5 27 22 38.9083 3.6054 -39.2903 90. 275.29 90. 5.29 0. 0. - 5 27 23 38.8485 3.5998 -43.2003 90. 275.29 90. 5.29 0. 0. - 5 28 1 37.6733 10.7190 43.0197 90. 285.88 90. 15.88 0. 0. - 5 28 2 37.7310 10.7354 39.1097 90. 285.88 90. 15.88 0. 0. - 5 28 3 37.6733 10.7190 35.1797 90. 285.88 90. 15.88 0. 0. - 5 28 4 37.7310 10.7354 31.2697 90. 285.88 90. 15.88 0. 0. - 5 28 5 37.6733 10.7190 27.3397 90. 285.88 90. 15.88 0. 0. - 5 28 6 37.7310 10.7354 23.4297 90. 285.88 90. 15.88 0. 0. - 5 28 7 37.6733 10.7190 19.4997 90. 285.88 90. 15.88 0. 0. - 5 28 8 37.7310 10.7354 15.5897 90. 285.88 90. 15.88 0. 0. - 5 28 9 37.6733 10.7190 11.6597 90. 285.88 90. 15.88 0. 0. - 5 28 10 37.7310 10.7354 7.7497 90. 285.88 90. 15.88 0. 0. - 5 28 11 37.6733 10.7190 3.8197 90. 285.88 90. 15.88 0. 0. - 5 28 12 37.7310 10.7354 -0.0903 90. 285.88 90. 15.88 0. 0. - 5 28 13 37.6733 10.7190 -4.0203 90. 285.88 90. 15.88 0. 0. - 5 28 14 37.7310 10.7354 -7.9303 90. 285.88 90. 15.88 0. 0. - 5 28 15 37.6733 10.7190 -11.8603 90. 285.88 90. 15.88 0. 0. - 5 28 16 37.7310 10.7354 -15.7703 90. 285.88 90. 15.88 0. 0. - 5 28 17 37.6733 10.7190 -19.7003 90. 285.88 90. 15.88 0. 0. - 5 28 18 37.7310 10.7354 -23.6103 90. 285.88 90. 15.88 0. 0. - 5 28 19 37.6733 10.7190 -27.5403 90. 285.88 90. 15.88 0. 0. - 5 28 20 37.7310 10.7354 -31.4503 90. 285.88 90. 15.88 0. 0. - 5 28 21 37.6733 10.7190 -35.3803 90. 285.88 90. 15.88 0. 0. - 5 28 22 37.7310 10.7354 -39.2903 90. 285.88 90. 15.88 0. 0. - 5 28 23 37.6733 10.7190 -43.2003 90. 285.88 90. 15.88 0. 0. - 5 29 1 34.9248 17.3905 43.0197 90. 296.47 90. 26.47 0. 0. - 5 29 2 34.9785 17.4172 39.1097 90. 296.47 90. 26.47 0. 0. - 5 29 3 34.9248 17.3905 35.1797 90. 296.47 90. 26.47 0. 0. - 5 29 4 34.9785 17.4172 31.2697 90. 296.47 90. 26.47 0. 0. - 5 29 5 34.9248 17.3905 27.3397 90. 296.47 90. 26.47 0. 0. - 5 29 6 34.9785 17.4172 23.4297 90. 296.47 90. 26.47 0. 0. - 5 29 7 34.9248 17.3905 19.4997 90. 296.47 90. 26.47 0. 0. - 5 29 8 34.9785 17.4172 15.5897 90. 296.47 90. 26.47 0. 0. - 5 29 9 34.9248 17.3905 11.6597 90. 296.47 90. 26.47 0. 0. - 5 29 10 34.9785 17.4172 7.7497 90. 296.47 90. 26.47 0. 0. - 5 29 11 34.9248 17.3905 3.8197 90. 296.47 90. 26.47 0. 0. - 5 29 12 34.9785 17.4172 -0.0903 90. 296.47 90. 26.47 0. 0. - 5 29 13 34.9248 17.3905 -4.0203 90. 296.47 90. 26.47 0. 0. - 5 29 14 34.9785 17.4172 -7.9303 90. 296.47 90. 26.47 0. 0. - 5 29 15 34.9248 17.3905 -11.8603 90. 296.47 90. 26.47 0. 0. - 5 29 16 34.9785 17.4172 -15.7703 90. 296.47 90. 26.47 0. 0. - 5 29 17 34.9248 17.3905 -19.7003 90. 296.47 90. 26.47 0. 0. - 5 29 18 34.9785 17.4172 -23.6103 90. 296.47 90. 26.47 0. 0. - 5 29 19 34.9248 17.3905 -27.5403 90. 296.47 90. 26.47 0. 0. - 5 29 20 34.9785 17.4172 -31.4503 90. 296.47 90. 26.47 0. 0. - 5 29 21 34.9248 17.3905 -35.3803 90. 296.47 90. 26.47 0. 0. - 5 29 22 34.9785 17.4172 -39.2903 90. 296.47 90. 26.47 0. 0. - 5 29 23 34.9248 17.3905 -43.2003 90. 296.47 90. 26.47 0. 0. - 5 30 1 31.2572 23.6043 43.0197 90. 307.06 90. 37.06 0. 0. - 5 30 2 31.3051 23.6405 39.1097 90. 307.06 90. 37.06 0. 0. - 5 30 3 31.2572 23.6043 35.1797 90. 307.06 90. 37.06 0. 0. - 5 30 4 31.3051 23.6405 31.2697 90. 307.06 90. 37.06 0. 0. - 5 30 5 31.2572 23.6043 27.3397 90. 307.06 90. 37.06 0. 0. - 5 30 6 31.3051 23.6405 23.4297 90. 307.06 90. 37.06 0. 0. - 5 30 7 31.2572 23.6043 19.4997 90. 307.06 90. 37.06 0. 0. - 5 30 8 31.3051 23.6405 15.5897 90. 307.06 90. 37.06 0. 0. - 5 30 9 31.2572 23.6043 11.6597 90. 307.06 90. 37.06 0. 0. - 5 30 10 31.3051 23.6405 7.7497 90. 307.06 90. 37.06 0. 0. - 5 30 11 31.2572 23.6043 3.8197 90. 307.06 90. 37.06 0. 0. - 5 30 12 31.3051 23.6405 -0.0903 90. 307.06 90. 37.06 0. 0. - 5 30 13 31.2572 23.6043 -4.0203 90. 307.06 90. 37.06 0. 0. - 5 30 14 31.3051 23.6405 -7.9303 90. 307.06 90. 37.06 0. 0. - 5 30 15 31.2572 23.6043 -11.8603 90. 307.06 90. 37.06 0. 0. - 5 30 16 31.3051 23.6405 -15.7703 90. 307.06 90. 37.06 0. 0. - 5 30 17 31.2572 23.6043 -19.7003 90. 307.06 90. 37.06 0. 0. - 5 30 18 31.3051 23.6405 -23.6103 90. 307.06 90. 37.06 0. 0. - 5 30 19 31.2572 23.6043 -27.5403 90. 307.06 90. 37.06 0. 0. - 5 30 20 31.3051 23.6405 -31.4503 90. 307.06 90. 37.06 0. 0. - 5 30 21 31.2572 23.6043 -35.3803 90. 307.06 90. 37.06 0. 0. - 5 30 22 31.3051 23.6405 -39.2903 90. 307.06 90. 37.06 0. 0. - 5 30 23 31.2572 23.6043 -43.2003 90. 307.06 90. 37.06 0. 0. - 5 31 1 26.2843 28.8324 43.0197 90. 317.65 90. 47.65 0. 0. - 5 31 2 26.3247 28.8768 39.1097 90. 317.65 90. 47.65 0. 0. - 5 31 3 26.2843 28.8324 35.1797 90. 317.65 90. 47.65 0. 0. - 5 31 4 26.3247 28.8768 31.2697 90. 317.65 90. 47.65 0. 0. - 5 31 5 26.2843 28.8324 27.3397 90. 317.65 90. 47.65 0. 0. - 5 31 6 26.3247 28.8768 23.4297 90. 317.65 90. 47.65 0. 0. - 5 31 7 26.2843 28.8324 19.4997 90. 317.65 90. 47.65 0. 0. - 5 31 8 26.3247 28.8768 15.5897 90. 317.65 90. 47.65 0. 0. - 5 31 9 26.2843 28.8324 11.6597 90. 317.65 90. 47.65 0. 0. - 5 31 10 26.3247 28.8768 7.7497 90. 317.65 90. 47.65 0. 0. - 5 31 11 26.2843 28.8324 3.8197 90. 317.65 90. 47.65 0. 0. - 5 31 12 26.3247 28.8768 -0.0903 90. 317.65 90. 47.65 0. 0. - 5 31 13 26.2843 28.8324 -4.0203 90. 317.65 90. 47.65 0. 0. - 5 31 14 26.3247 28.8768 -7.9303 90. 317.65 90. 47.65 0. 0. - 5 31 15 26.2843 28.8324 -11.8603 90. 317.65 90. 47.65 0. 0. - 5 31 16 26.3247 28.8768 -15.7703 90. 317.65 90. 47.65 0. 0. - 5 31 17 26.2843 28.8324 -19.7003 90. 317.65 90. 47.65 0. 0. - 5 31 18 26.3247 28.8768 -23.6103 90. 317.65 90. 47.65 0. 0. - 5 31 19 26.2843 28.8324 -27.5403 90. 317.65 90. 47.65 0. 0. - 5 31 20 26.3247 28.8768 -31.4503 90. 317.65 90. 47.65 0. 0. - 5 31 21 26.2843 28.8324 -35.3803 90. 317.65 90. 47.65 0. 0. - 5 31 22 26.3247 28.8768 -39.2903 90. 317.65 90. 47.65 0. 0. - 5 31 23 26.2843 28.8324 -43.2003 90. 317.65 90. 47.65 0. 0. - 5 32 1 20.6196 33.3017 43.0197 90. 328.24 90. 58.24 0. 0. - 5 32 2 20.6511 33.3527 39.1097 90. 328.24 90. 58.24 0. 0. - 5 32 3 20.6196 33.3017 35.1797 90. 328.24 90. 58.24 0. 0. - 5 32 4 20.6511 33.3527 31.2697 90. 328.24 90. 58.24 0. 0. - 5 32 5 20.6196 33.3017 27.3397 90. 328.24 90. 58.24 0. 0. - 5 32 6 20.6511 33.3527 23.4297 90. 328.24 90. 58.24 0. 0. - 5 32 7 20.6196 33.3017 19.4997 90. 328.24 90. 58.24 0. 0. - 5 32 8 20.6511 33.3527 15.5897 90. 328.24 90. 58.24 0. 0. - 5 32 9 20.6196 33.3017 11.6597 90. 328.24 90. 58.24 0. 0. - 5 32 10 20.6511 33.3527 7.7497 90. 328.24 90. 58.24 0. 0. - 5 32 11 20.6196 33.3017 3.8197 90. 328.24 90. 58.24 0. 0. - 5 32 12 20.6511 33.3527 -0.0903 90. 328.24 90. 58.24 0. 0. - 5 32 13 20.6196 33.3017 -4.0203 90. 328.24 90. 58.24 0. 0. - 5 32 14 20.6511 33.3527 -7.9303 90. 328.24 90. 58.24 0. 0. - 5 32 15 20.6196 33.3017 -11.8603 90. 328.24 90. 58.24 0. 0. - 5 32 16 20.6511 33.3527 -15.7703 90. 328.24 90. 58.24 0. 0. - 5 32 17 20.6196 33.3017 -19.7003 90. 328.24 90. 58.24 0. 0. - 5 32 18 20.6511 33.3527 -23.6103 90. 328.24 90. 58.24 0. 0. - 5 32 19 20.6196 33.3017 -27.5403 90. 328.24 90. 58.24 0. 0. - 5 32 20 20.6511 33.3527 -31.4503 90. 328.24 90. 58.24 0. 0. - 5 32 21 20.6196 33.3017 -35.3803 90. 328.24 90. 58.24 0. 0. - 5 32 22 20.6511 33.3527 -39.2903 90. 328.24 90. 58.24 0. 0. - 5 32 23 20.6196 33.3017 -43.2003 90. 328.24 90. 58.24 0. 0. - 5 33 1 14.0939 36.3804 43.0197 90. 338.82 90. 68.82 0. 0. - 5 33 2 14.1155 36.4364 39.1097 90. 338.82 90. 68.82 0. 0. - 5 33 3 14.0939 36.3804 35.1797 90. 338.82 90. 68.82 0. 0. - 5 33 4 14.1155 36.4364 31.2697 90. 338.82 90. 68.82 0. 0. - 5 33 5 14.0939 36.3804 27.3397 90. 338.82 90. 68.82 0. 0. - 5 33 6 14.1155 36.4364 23.4297 90. 338.82 90. 68.82 0. 0. - 5 33 7 14.0939 36.3804 19.4997 90. 338.82 90. 68.82 0. 0. - 5 33 8 14.1155 36.4364 15.5897 90. 338.82 90. 68.82 0. 0. - 5 33 9 14.0939 36.3804 11.6597 90. 338.82 90. 68.82 0. 0. - 5 33 10 14.1155 36.4364 7.7497 90. 338.82 90. 68.82 0. 0. - 5 33 11 14.0939 36.3804 3.8197 90. 338.82 90. 68.82 0. 0. - 5 33 12 14.1155 36.4364 -0.0903 90. 338.82 90. 68.82 0. 0. - 5 33 13 14.0939 36.3804 -4.0203 90. 338.82 90. 68.82 0. 0. - 5 33 14 14.1155 36.4364 -7.9303 90. 338.82 90. 68.82 0. 0. - 5 33 15 14.0939 36.3804 -11.8603 90. 338.82 90. 68.82 0. 0. - 5 33 16 14.1155 36.4364 -15.7703 90. 338.82 90. 68.82 0. 0. - 5 33 17 14.0939 36.3804 -19.7003 90. 338.82 90. 68.82 0. 0. - 5 33 18 14.1155 36.4364 -23.6103 90. 338.82 90. 68.82 0. 0. - 5 33 19 14.0939 36.3804 -27.5403 90. 338.82 90. 68.82 0. 0. - 5 33 20 14.1155 36.4364 -31.4503 90. 338.82 90. 68.82 0. 0. - 5 33 21 14.0939 36.3804 -35.3803 90. 338.82 90. 68.82 0. 0. - 5 33 22 14.1155 36.4364 -39.2903 90. 338.82 90. 68.82 0. 0. - 5 33 23 14.0939 36.3804 -43.2003 90. 338.82 90. 68.82 0. 0. - 5 34 1 7.1972 38.5016 43.0197 90. 349.41 90. 79.41 0. 0. - 5 34 2 7.2082 38.5606 39.1097 90. 349.41 90. 79.41 0. 0. - 5 34 3 7.1972 38.5016 35.1797 90. 349.41 90. 79.41 0. 0. - 5 34 4 7.2082 38.5606 31.2697 90. 349.41 90. 79.41 0. 0. - 5 34 5 7.1972 38.5016 27.3397 90. 349.41 90. 79.41 0. 0. - 5 34 6 7.2082 38.5606 23.4297 90. 349.41 90. 79.41 0. 0. - 5 34 7 7.1972 38.5016 19.4997 90. 349.41 90. 79.41 0. 0. - 5 34 8 7.2082 38.5606 15.5897 90. 349.41 90. 79.41 0. 0. - 5 34 9 7.1972 38.5016 11.6597 90. 349.41 90. 79.41 0. 0. - 5 34 10 7.2082 38.5606 7.7497 90. 349.41 90. 79.41 0. 0. - 5 34 11 7.1972 38.5016 3.8197 90. 349.41 90. 79.41 0. 0. - 5 34 12 7.2082 38.5606 -0.0903 90. 349.41 90. 79.41 0. 0. - 5 34 13 7.1972 38.5016 -4.0203 90. 349.41 90. 79.41 0. 0. - 5 34 14 7.2082 38.5606 -7.9303 90. 349.41 90. 79.41 0. 0. - 5 34 15 7.1972 38.5016 -11.8603 90. 349.41 90. 79.41 0. 0. - 5 34 16 7.2082 38.5606 -15.7703 90. 349.41 90. 79.41 0. 0. - 5 34 17 7.1972 38.5016 -19.7003 90. 349.41 90. 79.41 0. 0. - 5 34 18 7.2082 38.5606 -23.6103 90. 349.41 90. 79.41 0. 0. - 5 34 19 7.1972 38.5016 -27.5403 90. 349.41 90. 79.41 0. 0. - 5 34 20 7.2082 38.5606 -31.4503 90. 349.41 90. 79.41 0. 0. - 5 34 21 7.1972 38.5016 -35.3803 90. 349.41 90. 79.41 0. 0. - 5 34 22 7.2082 38.5606 -39.2903 90. 349.41 90. 79.41 0. 0. - 5 34 23 7.1972 38.5016 -43.2003 90. 349.41 90. 79.41 0. 0. - 6 1 1 -14.1293 41.1572 48.8800 90. 18.95 90. 108.95 0. 0. - 6 1 2 -14.1488 41.2140 44.9700 90. 18.95 90. 108.95 0. 0. - 6 1 3 -14.1293 41.1572 41.0600 90. 18.95 90. 108.95 0. 0. - 6 1 4 -14.1488 41.2140 37.1500 90. 18.95 90. 108.95 0. 0. - 6 1 5 -14.1293 41.1572 33.2400 90. 18.95 90. 108.95 0. 0. - 6 1 6 -14.1488 41.2140 29.3300 90. 18.95 90. 108.95 0. 0. - 6 1 7 -14.1293 41.1572 25.4200 90. 18.95 90. 108.95 0. 0. - 6 1 8 -14.1488 41.2140 21.5100 90. 18.95 90. 108.95 0. 0. - 6 1 9 -14.1293 41.1572 17.6000 90. 18.95 90. 108.95 0. 0. - 6 1 10 -14.1488 41.2140 13.6900 90. 18.95 90. 108.95 0. 0. - 6 1 11 -14.1293 41.1572 9.7800 90. 18.95 90. 108.95 0. 0. - 6 1 12 -14.1488 41.2140 5.8700 90. 18.95 90. 108.95 0. 0. - 6 1 13 -14.1293 41.1572 1.9600 90. 18.95 90. 108.95 0. 0. - 6 1 14 -14.1488 41.2140 -1.9500 90. 18.95 90. 108.95 0. 0. - 6 1 15 -14.1293 41.1572 -5.8600 90. 18.95 90. 108.95 0. 0. - 6 1 16 -14.1488 41.2140 -9.7700 90. 18.95 90. 108.95 0. 0. - 6 1 17 -14.1293 41.1572 -13.6800 90. 18.95 90. 108.95 0. 0. - 6 1 18 -14.1488 41.2140 -17.5900 90. 18.95 90. 108.95 0. 0. - 6 1 19 -14.1293 41.1572 -21.5000 90. 18.95 90. 108.95 0. 0. - 6 1 20 -14.1488 41.2140 -25.4100 90. 18.95 90. 108.95 0. 0. - 6 1 21 -14.1293 41.1572 -29.3200 90. 18.95 90. 108.95 0. 0. - 6 1 22 -14.1488 41.2140 -33.2300 90. 18.95 90. 108.95 0. 0. - 6 1 23 -14.1293 41.1572 -37.1400 90. 18.95 90. 108.95 0. 0. - 6 1 24 -14.1488 41.2140 -41.0500 90. 18.95 90. 108.95 0. 0. - 6 1 25 -14.1293 41.1572 -44.9600 90. 18.95 90. 108.95 0. 0. - 6 1 26 -14.1488 41.2140 -48.8700 90. 18.95 90. 108.95 0. 0. - 6 2 1 -20.7835 38.4046 48.8800 90. 28.42 90. 118.42 0. 0. - 6 2 2 -20.8121 38.4574 44.9700 90. 28.42 90. 118.42 0. 0. - 6 2 3 -20.7835 38.4046 41.0600 90. 28.42 90. 118.42 0. 0. - 6 2 4 -20.8121 38.4574 37.1500 90. 28.42 90. 118.42 0. 0. - 6 2 5 -20.7835 38.4046 33.2400 90. 28.42 90. 118.42 0. 0. - 6 2 6 -20.8121 38.4574 29.3300 90. 28.42 90. 118.42 0. 0. - 6 2 7 -20.7835 38.4046 25.4200 90. 28.42 90. 118.42 0. 0. - 6 2 8 -20.8121 38.4574 21.5100 90. 28.42 90. 118.42 0. 0. - 6 2 9 -20.7835 38.4046 17.6000 90. 28.42 90. 118.42 0. 0. - 6 2 10 -20.8121 38.4574 13.6900 90. 28.42 90. 118.42 0. 0. - 6 2 11 -20.7835 38.4046 9.7800 90. 28.42 90. 118.42 0. 0. - 6 2 12 -20.8121 38.4574 5.8700 90. 28.42 90. 118.42 0. 0. - 6 2 13 -20.7835 38.4046 1.9600 90. 28.42 90. 118.42 0. 0. - 6 2 14 -20.8121 38.4574 -1.9500 90. 28.42 90. 118.42 0. 0. - 6 2 15 -20.7835 38.4046 -5.8600 90. 28.42 90. 118.42 0. 0. - 6 2 16 -20.8121 38.4574 -9.7700 90. 28.42 90. 118.42 0. 0. - 6 2 17 -20.7835 38.4046 -13.6800 90. 28.42 90. 118.42 0. 0. - 6 2 18 -20.8121 38.4574 -17.5900 90. 28.42 90. 118.42 0. 0. - 6 2 19 -20.7835 38.4046 -21.5000 90. 28.42 90. 118.42 0. 0. - 6 2 20 -20.8121 38.4574 -25.4100 90. 28.42 90. 118.42 0. 0. - 6 2 21 -20.7835 38.4046 -29.3200 90. 28.42 90. 118.42 0. 0. - 6 2 22 -20.8121 38.4574 -33.2300 90. 28.42 90. 118.42 0. 0. - 6 2 23 -20.7835 38.4046 -37.1400 90. 28.42 90. 118.42 0. 0. - 6 2 24 -20.8121 38.4574 -41.0500 90. 28.42 90. 118.42 0. 0. - 6 2 25 -20.7835 38.4046 -44.9600 90. 28.42 90. 118.42 0. 0. - 6 2 26 -20.8121 38.4574 -48.8700 90. 28.42 90. 118.42 0. 0. - 6 3 1 -26.7275 34.3394 48.8800 90. 37.89 90. 127.89 0. 0. - 6 3 2 -26.7643 34.3868 44.9700 90. 37.89 90. 127.89 0. 0. - 6 3 3 -26.7275 34.3394 41.0600 90. 37.89 90. 127.89 0. 0. - 6 3 4 -26.7643 34.3868 37.1500 90. 37.89 90. 127.89 0. 0. - 6 3 5 -26.7275 34.3394 33.2400 90. 37.89 90. 127.89 0. 0. - 6 3 6 -26.7643 34.3868 29.3300 90. 37.89 90. 127.89 0. 0. - 6 3 7 -26.7275 34.3394 25.4200 90. 37.89 90. 127.89 0. 0. - 6 3 8 -26.7643 34.3868 21.5100 90. 37.89 90. 127.89 0. 0. - 6 3 9 -26.7275 34.3394 17.6000 90. 37.89 90. 127.89 0. 0. - 6 3 10 -26.7643 34.3868 13.6900 90. 37.89 90. 127.89 0. 0. - 6 3 11 -26.7275 34.3394 9.7800 90. 37.89 90. 127.89 0. 0. - 6 3 12 -26.7643 34.3868 5.8700 90. 37.89 90. 127.89 0. 0. - 6 3 13 -26.7275 34.3394 1.9600 90. 37.89 90. 127.89 0. 0. - 6 3 14 -26.7643 34.3868 -1.9500 90. 37.89 90. 127.89 0. 0. - 6 3 15 -26.7275 34.3394 -5.8600 90. 37.89 90. 127.89 0. 0. - 6 3 16 -26.7643 34.3868 -9.7700 90. 37.89 90. 127.89 0. 0. - 6 3 17 -26.7275 34.3394 -13.6800 90. 37.89 90. 127.89 0. 0. - 6 3 18 -26.7643 34.3868 -17.5900 90. 37.89 90. 127.89 0. 0. - 6 3 19 -26.7275 34.3394 -21.5000 90. 37.89 90. 127.89 0. 0. - 6 3 20 -26.7643 34.3868 -25.4100 90. 37.89 90. 127.89 0. 0. - 6 3 21 -26.7275 34.3394 -29.3200 90. 37.89 90. 127.89 0. 0. - 6 3 22 -26.7643 34.3868 -33.2300 90. 37.89 90. 127.89 0. 0. - 6 3 23 -26.7275 34.3394 -37.1400 90. 37.89 90. 127.89 0. 0. - 6 3 24 -26.7643 34.3868 -41.0500 90. 37.89 90. 127.89 0. 0. - 6 3 25 -26.7275 34.3394 -44.9600 90. 37.89 90. 127.89 0. 0. - 6 3 26 -26.7643 34.3868 -48.8700 90. 37.89 90. 127.89 0. 0. - 6 4 1 -32.1273 29.5753 48.8800 90. 47.37 90. 137.37 0. 0. - 6 4 2 -32.1715 29.6159 44.9700 90. 47.37 90. 137.37 0. 0. - 6 4 3 -32.1273 29.5753 41.0600 90. 47.37 90. 137.37 0. 0. - 6 4 4 -32.1715 29.6159 37.1500 90. 47.37 90. 137.37 0. 0. - 6 4 5 -32.1273 29.5753 33.2400 90. 47.37 90. 137.37 0. 0. - 6 4 6 -32.1715 29.6159 29.3300 90. 47.37 90. 137.37 0. 0. - 6 4 7 -32.1273 29.5753 25.4200 90. 47.37 90. 137.37 0. 0. - 6 4 8 -32.1715 29.6159 21.5100 90. 47.37 90. 137.37 0. 0. - 6 4 9 -32.1273 29.5753 17.6000 90. 47.37 90. 137.37 0. 0. - 6 4 10 -32.1715 29.6159 13.6900 90. 47.37 90. 137.37 0. 0. - 6 4 11 -32.1273 29.5753 9.7800 90. 47.37 90. 137.37 0. 0. - 6 4 12 -32.1715 29.6159 5.8700 90. 47.37 90. 137.37 0. 0. - 6 4 13 -32.1273 29.5753 1.9600 90. 47.37 90. 137.37 0. 0. - 6 4 14 -32.1715 29.6159 -1.9500 90. 47.37 90. 137.37 0. 0. - 6 4 15 -32.1273 29.5753 -5.8600 90. 47.37 90. 137.37 0. 0. - 6 4 16 -32.1715 29.6159 -9.7700 90. 47.37 90. 137.37 0. 0. - 6 4 17 -32.1273 29.5753 -13.6800 90. 47.37 90. 137.37 0. 0. - 6 4 18 -32.1715 29.6159 -17.5900 90. 47.37 90. 137.37 0. 0. - 6 4 19 -32.1273 29.5753 -21.5000 90. 47.37 90. 137.37 0. 0. - 6 4 20 -32.1715 29.6159 -25.4100 90. 47.37 90. 137.37 0. 0. - 6 4 21 -32.1273 29.5753 -29.3200 90. 47.37 90. 137.37 0. 0. - 6 4 22 -32.1715 29.6159 -33.2300 90. 47.37 90. 137.37 0. 0. - 6 4 23 -32.1273 29.5753 -37.1400 90. 47.37 90. 137.37 0. 0. - 6 4 24 -32.1715 29.6159 -41.0500 90. 47.37 90. 137.37 0. 0. - 6 4 25 -32.1273 29.5753 -44.9600 90. 47.37 90. 137.37 0. 0. - 6 4 26 -32.1715 29.6159 -48.8700 90. 47.37 90. 137.37 0. 0. - 6 5 1 -36.4293 23.8005 48.8800 90. 56.84 90. 146.84 0. 0. - 6 5 2 -36.4795 23.8333 44.9700 90. 56.84 90. 146.84 0. 0. - 6 5 3 -36.4293 23.8005 41.0600 90. 56.84 90. 146.84 0. 0. - 6 5 4 -36.4795 23.8333 37.1500 90. 56.84 90. 146.84 0. 0. - 6 5 5 -36.4293 23.8005 33.2400 90. 56.84 90. 146.84 0. 0. - 6 5 6 -36.4795 23.8333 29.3300 90. 56.84 90. 146.84 0. 0. - 6 5 7 -36.4293 23.8005 25.4200 90. 56.84 90. 146.84 0. 0. - 6 5 8 -36.4795 23.8333 21.5100 90. 56.84 90. 146.84 0. 0. - 6 5 9 -36.4293 23.8005 17.6000 90. 56.84 90. 146.84 0. 0. - 6 5 10 -36.4795 23.8333 13.6900 90. 56.84 90. 146.84 0. 0. - 6 5 11 -36.4293 23.8005 9.7800 90. 56.84 90. 146.84 0. 0. - 6 5 12 -36.4795 23.8333 5.8700 90. 56.84 90. 146.84 0. 0. - 6 5 13 -36.4293 23.8005 1.9600 90. 56.84 90. 146.84 0. 0. - 6 5 14 -36.4795 23.8333 -1.9500 90. 56.84 90. 146.84 0. 0. - 6 5 15 -36.4293 23.8005 -5.8600 90. 56.84 90. 146.84 0. 0. - 6 5 16 -36.4795 23.8333 -9.7700 90. 56.84 90. 146.84 0. 0. - 6 5 17 -36.4293 23.8005 -13.6800 90. 56.84 90. 146.84 0. 0. - 6 5 18 -36.4795 23.8333 -17.5900 90. 56.84 90. 146.84 0. 0. - 6 5 19 -36.4293 23.8005 -21.5000 90. 56.84 90. 146.84 0. 0. - 6 5 20 -36.4795 23.8333 -25.4100 90. 56.84 90. 146.84 0. 0. - 6 5 21 -36.4293 23.8005 -29.3200 90. 56.84 90. 146.84 0. 0. - 6 5 22 -36.4795 23.8333 -33.2300 90. 56.84 90. 146.84 0. 0. - 6 5 23 -36.4293 23.8005 -37.1400 90. 56.84 90. 146.84 0. 0. - 6 5 24 -36.4795 23.8333 -41.0500 90. 56.84 90. 146.84 0. 0. - 6 5 25 -36.4293 23.8005 -44.9600 90. 56.84 90. 146.84 0. 0. - 6 5 26 -36.4795 23.8333 -48.8700 90. 56.84 90. 146.84 0. 0. - 6 6 1 -39.9897 17.5411 48.8800 90. 66.32 90. 156.32 0. 0. - 6 6 2 -40.0447 17.5652 44.9700 90. 66.32 90. 156.32 0. 0. - 6 6 3 -39.9897 17.5411 41.0600 90. 66.32 90. 156.32 0. 0. - 6 6 4 -40.0447 17.5652 37.1500 90. 66.32 90. 156.32 0. 0. - 6 6 5 -39.9897 17.5411 33.2400 90. 66.32 90. 156.32 0. 0. - 6 6 6 -40.0447 17.5652 29.3300 90. 66.32 90. 156.32 0. 0. - 6 6 7 -39.9897 17.5411 25.4200 90. 66.32 90. 156.32 0. 0. - 6 6 8 -40.0447 17.5652 21.5100 90. 66.32 90. 156.32 0. 0. - 6 6 9 -39.9897 17.5411 17.6000 90. 66.32 90. 156.32 0. 0. - 6 6 10 -40.0447 17.5652 13.6900 90. 66.32 90. 156.32 0. 0. - 6 6 11 -39.9897 17.5411 9.7800 90. 66.32 90. 156.32 0. 0. - 6 6 12 -40.0447 17.5652 5.8700 90. 66.32 90. 156.32 0. 0. - 6 6 13 -39.9897 17.5411 1.9600 90. 66.32 90. 156.32 0. 0. - 6 6 14 -40.0447 17.5652 -1.9500 90. 66.32 90. 156.32 0. 0. - 6 6 15 -39.9897 17.5411 -5.8600 90. 66.32 90. 156.32 0. 0. - 6 6 16 -40.0447 17.5652 -9.7700 90. 66.32 90. 156.32 0. 0. - 6 6 17 -39.9897 17.5411 -13.6800 90. 66.32 90. 156.32 0. 0. - 6 6 18 -40.0447 17.5652 -17.5900 90. 66.32 90. 156.32 0. 0. - 6 6 19 -39.9897 17.5411 -21.5000 90. 66.32 90. 156.32 0. 0. - 6 6 20 -40.0447 17.5652 -25.4100 90. 66.32 90. 156.32 0. 0. - 6 6 21 -39.9897 17.5411 -29.3200 90. 66.32 90. 156.32 0. 0. - 6 6 22 -40.0447 17.5652 -33.2300 90. 66.32 90. 156.32 0. 0. - 6 6 23 -39.9897 17.5411 -37.1400 90. 66.32 90. 156.32 0. 0. - 6 6 24 -40.0447 17.5652 -41.0500 90. 66.32 90. 156.32 0. 0. - 6 6 25 -39.9897 17.5411 -44.9600 90. 66.32 90. 156.32 0. 0. - 6 6 26 -40.0447 17.5652 -48.8700 90. 66.32 90. 156.32 0. 0. - 6 7 1 -42.1834 10.6823 48.8800 90. 75.79 90. 165.79 0. 0. - 6 7 2 -42.2416 10.6970 44.9700 90. 75.79 90. 165.79 0. 0. - 6 7 3 -42.1834 10.6823 41.0600 90. 75.79 90. 165.79 0. 0. - 6 7 4 -42.2416 10.6970 37.1500 90. 75.79 90. 165.79 0. 0. - 6 7 5 -42.1834 10.6823 33.2400 90. 75.79 90. 165.79 0. 0. - 6 7 6 -42.2416 10.6970 29.3300 90. 75.79 90. 165.79 0. 0. - 6 7 7 -42.1834 10.6823 25.4200 90. 75.79 90. 165.79 0. 0. - 6 7 8 -42.2416 10.6970 21.5100 90. 75.79 90. 165.79 0. 0. - 6 7 9 -42.1834 10.6823 17.6000 90. 75.79 90. 165.79 0. 0. - 6 7 10 -42.2416 10.6970 13.6900 90. 75.79 90. 165.79 0. 0. - 6 7 11 -42.1834 10.6823 9.7800 90. 75.79 90. 165.79 0. 0. - 6 7 12 -42.2416 10.6970 5.8700 90. 75.79 90. 165.79 0. 0. - 6 7 13 -42.1834 10.6823 1.9600 90. 75.79 90. 165.79 0. 0. - 6 7 14 -42.2416 10.6970 -1.9500 90. 75.79 90. 165.79 0. 0. - 6 7 15 -42.1834 10.6823 -5.8600 90. 75.79 90. 165.79 0. 0. - 6 7 16 -42.2416 10.6970 -9.7700 90. 75.79 90. 165.79 0. 0. - 6 7 17 -42.1834 10.6823 -13.6800 90. 75.79 90. 165.79 0. 0. - 6 7 18 -42.2416 10.6970 -17.5900 90. 75.79 90. 165.79 0. 0. - 6 7 19 -42.1834 10.6823 -21.5000 90. 75.79 90. 165.79 0. 0. - 6 7 20 -42.2416 10.6970 -25.4100 90. 75.79 90. 165.79 0. 0. - 6 7 21 -42.1834 10.6823 -29.3200 90. 75.79 90. 165.79 0. 0. - 6 7 22 -42.2416 10.6970 -33.2300 90. 75.79 90. 165.79 0. 0. - 6 7 23 -42.1834 10.6823 -37.1400 90. 75.79 90. 165.79 0. 0. - 6 7 24 -42.2416 10.6970 -41.0500 90. 75.79 90. 165.79 0. 0. - 6 7 25 -42.1834 10.6823 -44.9600 90. 75.79 90. 165.79 0. 0. - 6 7 26 -42.2416 10.6970 -48.8700 90. 75.79 90. 165.79 0. 0. - 6 8 1 -43.5185 3.6060 48.8800 90. 85.26 90. 175.26 0. 0. - 6 8 2 -43.5783 3.6110 44.9700 90. 85.26 90. 175.26 0. 0. - 6 8 3 -43.5185 3.6060 41.0600 90. 85.26 90. 175.26 0. 0. - 6 8 4 -43.5783 3.6110 37.1500 90. 85.26 90. 175.26 0. 0. - 6 8 5 -43.5185 3.6060 33.2400 90. 85.26 90. 175.26 0. 0. - 6 8 6 -43.5783 3.6110 29.3300 90. 85.26 90. 175.26 0. 0. - 6 8 7 -43.5185 3.6060 25.4200 90. 85.26 90. 175.26 0. 0. - 6 8 8 -43.5783 3.6110 21.5100 90. 85.26 90. 175.26 0. 0. - 6 8 9 -43.5185 3.6060 17.6000 90. 85.26 90. 175.26 0. 0. - 6 8 10 -43.5783 3.6110 13.6900 90. 85.26 90. 175.26 0. 0. - 6 8 11 -43.5185 3.6060 9.7800 90. 85.26 90. 175.26 0. 0. - 6 8 12 -43.5783 3.6110 5.8700 90. 85.26 90. 175.26 0. 0. - 6 8 13 -43.5185 3.6060 1.9600 90. 85.26 90. 175.26 0. 0. - 6 8 14 -43.5783 3.6110 -1.9500 90. 85.26 90. 175.26 0. 0. - 6 8 15 -43.5185 3.6060 -5.8600 90. 85.26 90. 175.26 0. 0. - 6 8 16 -43.5783 3.6110 -9.7700 90. 85.26 90. 175.26 0. 0. - 6 8 17 -43.5185 3.6060 -13.6800 90. 85.26 90. 175.26 0. 0. - 6 8 18 -43.5783 3.6110 -17.5900 90. 85.26 90. 175.26 0. 0. - 6 8 19 -43.5185 3.6060 -21.5000 90. 85.26 90. 175.26 0. 0. - 6 8 20 -43.5783 3.6110 -25.4100 90. 85.26 90. 175.26 0. 0. - 6 8 21 -43.5185 3.6060 -29.3200 90. 85.26 90. 175.26 0. 0. - 6 8 22 -43.5783 3.6110 -33.2300 90. 85.26 90. 175.26 0. 0. - 6 8 23 -43.5185 3.6060 -37.1400 90. 85.26 90. 175.26 0. 0. - 6 8 24 -43.5783 3.6110 -41.0500 90. 85.26 90. 175.26 0. 0. - 6 8 25 -43.5185 3.6060 -44.9600 90. 85.26 90. 175.26 0. 0. - 6 8 26 -43.5783 3.6110 -48.8700 90. 85.26 90. 175.26 0. 0. - 6 9 1 -43.3664 -3.5934 48.8800 90. 94.74 90. 184.74 0. 0. - 6 9 2 -43.4262 -3.5984 44.9700 90. 94.74 90. 184.74 0. 0. - 6 9 3 -43.3664 -3.5934 41.0600 90. 94.74 90. 184.74 0. 0. - 6 9 4 -43.4262 -3.5984 37.1500 90. 94.74 90. 184.74 0. 0. - 6 9 5 -43.3664 -3.5934 33.2400 90. 94.74 90. 184.74 0. 0. - 6 9 6 -43.4262 -3.5984 29.3300 90. 94.74 90. 184.74 0. 0. - 6 9 7 -43.3664 -3.5934 25.4200 90. 94.74 90. 184.74 0. 0. - 6 9 8 -43.4262 -3.5984 21.5100 90. 94.74 90. 184.74 0. 0. - 6 9 9 -43.3664 -3.5934 17.6000 90. 94.74 90. 184.74 0. 0. - 6 9 10 -43.4262 -3.5984 13.6900 90. 94.74 90. 184.74 0. 0. - 6 9 11 -43.3664 -3.5934 9.7800 90. 94.74 90. 184.74 0. 0. - 6 9 12 -43.4262 -3.5984 5.8700 90. 94.74 90. 184.74 0. 0. - 6 9 13 -43.3664 -3.5934 1.9600 90. 94.74 90. 184.74 0. 0. - 6 9 14 -43.4262 -3.5984 -1.9500 90. 94.74 90. 184.74 0. 0. - 6 9 15 -43.3664 -3.5934 -5.8600 90. 94.74 90. 184.74 0. 0. - 6 9 16 -43.4262 -3.5984 -9.7700 90. 94.74 90. 184.74 0. 0. - 6 9 17 -43.3664 -3.5934 -13.6800 90. 94.74 90. 184.74 0. 0. - 6 9 18 -43.4262 -3.5984 -17.5900 90. 94.74 90. 184.74 0. 0. - 6 9 19 -43.3664 -3.5934 -21.5000 90. 94.74 90. 184.74 0. 0. - 6 9 20 -43.4262 -3.5984 -25.4100 90. 94.74 90. 184.74 0. 0. - 6 9 21 -43.3664 -3.5934 -29.3200 90. 94.74 90. 184.74 0. 0. - 6 9 22 -43.4262 -3.5984 -33.2300 90. 94.74 90. 184.74 0. 0. - 6 9 23 -43.3664 -3.5934 -37.1400 90. 94.74 90. 184.74 0. 0. - 6 9 24 -43.4262 -3.5984 -41.0500 90. 94.74 90. 184.74 0. 0. - 6 9 25 -43.3664 -3.5934 -44.9600 90. 94.74 90. 184.74 0. 0. - 6 9 26 -43.4262 -3.5984 -48.8700 90. 94.74 90. 184.74 0. 0. - 6 10 1 -42.3315 -10.7198 48.8800 90. 104.21 90. 194.21 0. 0. - 6 10 2 -42.3897 -10.7345 44.9700 90. 104.21 90. 194.21 0. 0. - 6 10 3 -42.3315 -10.7198 41.0600 90. 104.21 90. 194.21 0. 0. - 6 10 4 -42.3897 -10.7345 37.1500 90. 104.21 90. 194.21 0. 0. - 6 10 5 -42.3315 -10.7198 33.2400 90. 104.21 90. 194.21 0. 0. - 6 10 6 -42.3897 -10.7345 29.3300 90. 104.21 90. 194.21 0. 0. - 6 10 7 -42.3315 -10.7198 25.4200 90. 104.21 90. 194.21 0. 0. - 6 10 8 -42.3897 -10.7345 21.5100 90. 104.21 90. 194.21 0. 0. - 6 10 9 -42.3315 -10.7198 17.6000 90. 104.21 90. 194.21 0. 0. - 6 10 10 -42.3897 -10.7345 13.6900 90. 104.21 90. 194.21 0. 0. - 6 10 11 -42.3315 -10.7198 9.7800 90. 104.21 90. 194.21 0. 0. - 6 10 12 -42.3897 -10.7345 5.8700 90. 104.21 90. 194.21 0. 0. - 6 10 13 -42.3315 -10.7198 1.9600 90. 104.21 90. 194.21 0. 0. - 6 10 14 -42.3897 -10.7345 -1.9500 90. 104.21 90. 194.21 0. 0. - 6 10 15 -42.3315 -10.7198 -5.8600 90. 104.21 90. 194.21 0. 0. - 6 10 16 -42.3897 -10.7345 -9.7700 90. 104.21 90. 194.21 0. 0. - 6 10 17 -42.3315 -10.7198 -13.6800 90. 104.21 90. 194.21 0. 0. - 6 10 18 -42.3897 -10.7345 -17.5900 90. 104.21 90. 194.21 0. 0. - 6 10 19 -42.3315 -10.7198 -21.5000 90. 104.21 90. 194.21 0. 0. - 6 10 20 -42.3897 -10.7345 -25.4100 90. 104.21 90. 194.21 0. 0. - 6 10 21 -42.3315 -10.7198 -29.3200 90. 104.21 90. 194.21 0. 0. - 6 10 22 -42.3897 -10.7345 -33.2300 90. 104.21 90. 194.21 0. 0. - 6 10 23 -42.3315 -10.7198 -37.1400 90. 104.21 90. 194.21 0. 0. - 6 10 24 -42.3897 -10.7345 -41.0500 90. 104.21 90. 194.21 0. 0. - 6 10 25 -42.3315 -10.7198 -44.9600 90. 104.21 90. 194.21 0. 0. - 6 10 26 -42.3897 -10.7345 -48.8700 90. 104.21 90. 194.21 0. 0. - 6 11 1 -39.8498 -17.4798 48.8800 90. 113.68 90. 203.68 0. 0. - 6 11 2 -39.9048 -17.5039 44.9700 90. 113.68 90. 203.68 0. 0. - 6 11 3 -39.8498 -17.4798 41.0600 90. 113.68 90. 203.68 0. 0. - 6 11 4 -39.9048 -17.5039 37.1500 90. 113.68 90. 203.68 0. 0. - 6 11 5 -39.8498 -17.4798 33.2400 90. 113.68 90. 203.68 0. 0. - 6 11 6 -39.9048 -17.5039 29.3300 90. 113.68 90. 203.68 0. 0. - 6 11 7 -39.8498 -17.4798 25.4200 90. 113.68 90. 203.68 0. 0. - 6 11 8 -39.9048 -17.5039 21.5100 90. 113.68 90. 203.68 0. 0. - 6 11 9 -39.8498 -17.4798 17.6000 90. 113.68 90. 203.68 0. 0. - 6 11 10 -39.9048 -17.5039 13.6900 90. 113.68 90. 203.68 0. 0. - 6 11 11 -39.8498 -17.4798 9.7800 90. 113.68 90. 203.68 0. 0. - 6 11 12 -39.9048 -17.5039 5.8700 90. 113.68 90. 203.68 0. 0. - 6 11 13 -39.8498 -17.4798 1.9600 90. 113.68 90. 203.68 0. 0. - 6 11 14 -39.9048 -17.5039 -1.9500 90. 113.68 90. 203.68 0. 0. - 6 11 15 -39.8498 -17.4798 -5.8600 90. 113.68 90. 203.68 0. 0. - 6 11 16 -39.9048 -17.5039 -9.7700 90. 113.68 90. 203.68 0. 0. - 6 11 17 -39.8498 -17.4798 -13.6800 90. 113.68 90. 203.68 0. 0. - 6 11 18 -39.9048 -17.5039 -17.5900 90. 113.68 90. 203.68 0. 0. - 6 11 19 -39.8498 -17.4798 -21.5000 90. 113.68 90. 203.68 0. 0. - 6 11 20 -39.9048 -17.5039 -25.4100 90. 113.68 90. 203.68 0. 0. - 6 11 21 -39.8498 -17.4798 -29.3200 90. 113.68 90. 203.68 0. 0. - 6 11 22 -39.9048 -17.5039 -33.2300 90. 113.68 90. 203.68 0. 0. - 6 11 23 -39.8498 -17.4798 -37.1400 90. 113.68 90. 203.68 0. 0. - 6 11 24 -39.9048 -17.5039 -41.0500 90. 113.68 90. 203.68 0. 0. - 6 11 25 -39.8498 -17.4798 -44.9600 90. 113.68 90. 203.68 0. 0. - 6 11 26 -39.9048 -17.5039 -48.8700 90. 113.68 90. 203.68 0. 0. - 6 12 1 -36.5572 -23.8840 48.8800 90. 123.16 90. 213.16 0. 0. - 6 12 2 -36.6074 -23.9168 44.9700 90. 123.16 90. 213.16 0. 0. - 6 12 3 -36.5572 -23.8840 41.0600 90. 123.16 90. 213.16 0. 0. - 6 12 4 -36.6074 -23.9168 37.1500 90. 123.16 90. 213.16 0. 0. - 6 12 5 -36.5572 -23.8840 33.2400 90. 123.16 90. 213.16 0. 0. - 6 12 6 -36.6074 -23.9168 29.3300 90. 123.16 90. 213.16 0. 0. - 6 12 7 -36.5572 -23.8840 25.4200 90. 123.16 90. 213.16 0. 0. - 6 12 8 -36.6074 -23.9168 21.5100 90. 123.16 90. 213.16 0. 0. - 6 12 9 -36.5572 -23.8840 17.6000 90. 123.16 90. 213.16 0. 0. - 6 12 10 -36.6074 -23.9168 13.6900 90. 123.16 90. 213.16 0. 0. - 6 12 11 -36.5572 -23.8840 9.7800 90. 123.16 90. 213.16 0. 0. - 6 12 12 -36.6074 -23.9168 5.8700 90. 123.16 90. 213.16 0. 0. - 6 12 13 -36.5572 -23.8840 1.9600 90. 123.16 90. 213.16 0. 0. - 6 12 14 -36.6074 -23.9168 -1.9500 90. 123.16 90. 213.16 0. 0. - 6 12 15 -36.5572 -23.8840 -5.8600 90. 123.16 90. 213.16 0. 0. - 6 12 16 -36.6074 -23.9168 -9.7700 90. 123.16 90. 213.16 0. 0. - 6 12 17 -36.5572 -23.8840 -13.6800 90. 123.16 90. 213.16 0. 0. - 6 12 18 -36.6074 -23.9168 -17.5900 90. 123.16 90. 213.16 0. 0. - 6 12 19 -36.5572 -23.8840 -21.5000 90. 123.16 90. 213.16 0. 0. - 6 12 20 -36.6074 -23.9168 -25.4100 90. 123.16 90. 213.16 0. 0. - 6 12 21 -36.5572 -23.8840 -29.3200 90. 123.16 90. 213.16 0. 0. - 6 12 22 -36.6074 -23.9168 -33.2300 90. 123.16 90. 213.16 0. 0. - 6 12 23 -36.5572 -23.8840 -37.1400 90. 123.16 90. 213.16 0. 0. - 6 12 24 -36.6074 -23.9168 -41.0500 90. 123.16 90. 213.16 0. 0. - 6 12 25 -36.5572 -23.8840 -44.9600 90. 123.16 90. 213.16 0. 0. - 6 12 26 -36.6074 -23.9168 -48.8700 90. 123.16 90. 213.16 0. 0. - 6 13 1 -32.0150 -29.4719 48.8800 90. 132.63 90. 222.63 0. 0. - 6 13 2 -32.0592 -29.5125 44.9700 90. 132.63 90. 222.63 0. 0. - 6 13 3 -32.0150 -29.4719 41.0600 90. 132.63 90. 222.63 0. 0. - 6 13 4 -32.0592 -29.5125 37.1500 90. 132.63 90. 222.63 0. 0. - 6 13 5 -32.0150 -29.4719 33.2400 90. 132.63 90. 222.63 0. 0. - 6 13 6 -32.0592 -29.5125 29.3300 90. 132.63 90. 222.63 0. 0. - 6 13 7 -32.0150 -29.4719 25.4200 90. 132.63 90. 222.63 0. 0. - 6 13 8 -32.0592 -29.5125 21.5100 90. 132.63 90. 222.63 0. 0. - 6 13 9 -32.0150 -29.4719 17.6000 90. 132.63 90. 222.63 0. 0. - 6 13 10 -32.0592 -29.5125 13.6900 90. 132.63 90. 222.63 0. 0. - 6 13 11 -32.0150 -29.4719 9.7800 90. 132.63 90. 222.63 0. 0. - 6 13 12 -32.0592 -29.5125 5.8700 90. 132.63 90. 222.63 0. 0. - 6 13 13 -32.0150 -29.4719 1.9600 90. 132.63 90. 222.63 0. 0. - 6 13 14 -32.0592 -29.5125 -1.9500 90. 132.63 90. 222.63 0. 0. - 6 13 15 -32.0150 -29.4719 -5.8600 90. 132.63 90. 222.63 0. 0. - 6 13 16 -32.0592 -29.5125 -9.7700 90. 132.63 90. 222.63 0. 0. - 6 13 17 -32.0150 -29.4719 -13.6800 90. 132.63 90. 222.63 0. 0. - 6 13 18 -32.0592 -29.5125 -17.5900 90. 132.63 90. 222.63 0. 0. - 6 13 19 -32.0150 -29.4719 -21.5000 90. 132.63 90. 222.63 0. 0. - 6 13 20 -32.0592 -29.5125 -25.4100 90. 132.63 90. 222.63 0. 0. - 6 13 21 -32.0150 -29.4719 -29.3200 90. 132.63 90. 222.63 0. 0. - 6 13 22 -32.0592 -29.5125 -33.2300 90. 132.63 90. 222.63 0. 0. - 6 13 23 -32.0150 -29.4719 -37.1400 90. 132.63 90. 222.63 0. 0. - 6 13 24 -32.0592 -29.5125 -41.0500 90. 132.63 90. 222.63 0. 0. - 6 13 25 -32.0150 -29.4719 -44.9600 90. 132.63 90. 222.63 0. 0. - 6 13 26 -32.0592 -29.5125 -48.8700 90. 132.63 90. 222.63 0. 0. - 6 14 1 -26.8212 -34.4599 48.8800 90. 142.11 90. 232.11 0. 0. - 6 14 2 -26.8581 -34.5073 44.9700 90. 142.11 90. 232.11 0. 0. - 6 14 3 -26.8212 -34.4599 41.0600 90. 142.11 90. 232.11 0. 0. - 6 14 4 -26.8581 -34.5073 37.1500 90. 142.11 90. 232.11 0. 0. - 6 14 5 -26.8212 -34.4599 33.2400 90. 142.11 90. 232.11 0. 0. - 6 14 6 -26.8581 -34.5073 29.3300 90. 142.11 90. 232.11 0. 0. - 6 14 7 -26.8212 -34.4599 25.4200 90. 142.11 90. 232.11 0. 0. - 6 14 8 -26.8581 -34.5073 21.5100 90. 142.11 90. 232.11 0. 0. - 6 14 9 -26.8212 -34.4599 17.6000 90. 142.11 90. 232.11 0. 0. - 6 14 10 -26.8581 -34.5073 13.6900 90. 142.11 90. 232.11 0. 0. - 6 14 11 -26.8212 -34.4599 9.7800 90. 142.11 90. 232.11 0. 0. - 6 14 12 -26.8581 -34.5073 5.8700 90. 142.11 90. 232.11 0. 0. - 6 14 13 -26.8212 -34.4599 1.9600 90. 142.11 90. 232.11 0. 0. - 6 14 14 -26.8581 -34.5073 -1.9500 90. 142.11 90. 232.11 0. 0. - 6 14 15 -26.8212 -34.4599 -5.8600 90. 142.11 90. 232.11 0. 0. - 6 14 16 -26.8581 -34.5073 -9.7700 90. 142.11 90. 232.11 0. 0. - 6 14 17 -26.8212 -34.4599 -13.6800 90. 142.11 90. 232.11 0. 0. - 6 14 18 -26.8581 -34.5073 -17.5900 90. 142.11 90. 232.11 0. 0. - 6 14 19 -26.8212 -34.4599 -21.5000 90. 142.11 90. 232.11 0. 0. - 6 14 20 -26.8581 -34.5073 -25.4100 90. 142.11 90. 232.11 0. 0. - 6 14 21 -26.8212 -34.4599 -29.3200 90. 142.11 90. 232.11 0. 0. - 6 14 22 -26.8581 -34.5073 -33.2300 90. 142.11 90. 232.11 0. 0. - 6 14 23 -26.8212 -34.4599 -37.1400 90. 142.11 90. 232.11 0. 0. - 6 14 24 -26.8581 -34.5073 -41.0500 90. 142.11 90. 232.11 0. 0. - 6 14 25 -26.8212 -34.4599 -44.9600 90. 142.11 90. 232.11 0. 0. - 6 14 26 -26.8581 -34.5073 -48.8700 90. 142.11 90. 232.11 0. 0. - 6 15 1 -20.7109 -38.2703 48.8800 90. 151.58 90. 241.58 0. 0. - 6 15 2 -20.7394 -38.3231 44.9700 90. 151.58 90. 241.58 0. 0. - 6 15 3 -20.7109 -38.2703 41.0600 90. 151.58 90. 241.58 0. 0. - 6 15 4 -20.7394 -38.3231 37.1500 90. 151.58 90. 241.58 0. 0. - 6 15 5 -20.7109 -38.2703 33.2400 90. 151.58 90. 241.58 0. 0. - 6 15 6 -20.7394 -38.3231 29.3300 90. 151.58 90. 241.58 0. 0. - 6 15 7 -20.7109 -38.2703 25.4200 90. 151.58 90. 241.58 0. 0. - 6 15 8 -20.7394 -38.3231 21.5100 90. 151.58 90. 241.58 0. 0. - 6 15 9 -20.7109 -38.2703 17.6000 90. 151.58 90. 241.58 0. 0. - 6 15 10 -20.7394 -38.3231 13.6900 90. 151.58 90. 241.58 0. 0. - 6 15 11 -20.7109 -38.2703 9.7800 90. 151.58 90. 241.58 0. 0. - 6 15 12 -20.7394 -38.3231 5.8700 90. 151.58 90. 241.58 0. 0. - 6 15 13 -20.7109 -38.2703 1.9600 90. 151.58 90. 241.58 0. 0. - 6 15 14 -20.7394 -38.3231 -1.9500 90. 151.58 90. 241.58 0. 0. - 6 15 15 -20.7109 -38.2703 -5.8600 90. 151.58 90. 241.58 0. 0. - 6 15 16 -20.7394 -38.3231 -9.7700 90. 151.58 90. 241.58 0. 0. - 6 15 17 -20.7109 -38.2703 -13.6800 90. 151.58 90. 241.58 0. 0. - 6 15 18 -20.7394 -38.3231 -17.5900 90. 151.58 90. 241.58 0. 0. - 6 15 19 -20.7109 -38.2703 -21.5000 90. 151.58 90. 241.58 0. 0. - 6 15 20 -20.7394 -38.3231 -25.4100 90. 151.58 90. 241.58 0. 0. - 6 15 21 -20.7109 -38.2703 -29.3200 90. 151.58 90. 241.58 0. 0. - 6 15 22 -20.7394 -38.3231 -33.2300 90. 151.58 90. 241.58 0. 0. - 6 15 23 -20.7109 -38.2703 -37.1400 90. 151.58 90. 241.58 0. 0. - 6 15 24 -20.7394 -38.3231 -41.0500 90. 151.58 90. 241.58 0. 0. - 6 15 25 -20.7109 -38.2703 -44.9600 90. 151.58 90. 241.58 0. 0. - 6 15 26 -20.7394 -38.3231 -48.8700 90. 151.58 90. 241.58 0. 0. - 6 16 1 -14.1789 -41.3016 48.8800 90. 161.05 90. 251.05 0. 0. - 6 16 2 -14.1984 -41.3584 44.9700 90. 161.05 90. 251.05 0. 0. - 6 16 3 -14.1789 -41.3016 41.0600 90. 161.05 90. 251.05 0. 0. - 6 16 4 -14.1984 -41.3584 37.1500 90. 161.05 90. 251.05 0. 0. - 6 16 5 -14.1789 -41.3016 33.2400 90. 161.05 90. 251.05 0. 0. - 6 16 6 -14.1984 -41.3584 29.3300 90. 161.05 90. 251.05 0. 0. - 6 16 7 -14.1789 -41.3016 25.4200 90. 161.05 90. 251.05 0. 0. - 6 16 8 -14.1984 -41.3584 21.5100 90. 161.05 90. 251.05 0. 0. - 6 16 9 -14.1789 -41.3016 17.6000 90. 161.05 90. 251.05 0. 0. - 6 16 10 -14.1984 -41.3584 13.6900 90. 161.05 90. 251.05 0. 0. - 6 16 11 -14.1789 -41.3016 9.7800 90. 161.05 90. 251.05 0. 0. - 6 16 12 -14.1984 -41.3584 5.8700 90. 161.05 90. 251.05 0. 0. - 6 16 13 -14.1789 -41.3016 1.9600 90. 161.05 90. 251.05 0. 0. - 6 16 14 -14.1984 -41.3584 -1.9500 90. 161.05 90. 251.05 0. 0. - 6 16 15 -14.1789 -41.3016 -5.8600 90. 161.05 90. 251.05 0. 0. - 6 16 16 -14.1984 -41.3584 -9.7700 90. 161.05 90. 251.05 0. 0. - 6 16 17 -14.1789 -41.3016 -13.6800 90. 161.05 90. 251.05 0. 0. - 6 16 18 -14.1984 -41.3584 -17.5900 90. 161.05 90. 251.05 0. 0. - 6 16 19 -14.1789 -41.3016 -21.5000 90. 161.05 90. 251.05 0. 0. - 6 16 20 -14.1984 -41.3584 -25.4100 90. 161.05 90. 251.05 0. 0. - 6 16 21 -14.1789 -41.3016 -29.3200 90. 161.05 90. 251.05 0. 0. - 6 16 22 -14.1984 -41.3584 -33.2300 90. 161.05 90. 251.05 0. 0. - 6 16 23 -14.1789 -41.3016 -37.1400 90. 161.05 90. 251.05 0. 0. - 6 16 24 -14.1984 -41.3584 -41.0500 90. 161.05 90. 251.05 0. 0. - 6 16 25 -14.1789 -41.3016 -44.9600 90. 161.05 90. 251.05 0. 0. - 6 16 26 -14.1984 -41.3584 -48.8700 90. 161.05 90. 251.05 0. 0. - 6 17 1 -7.1623 -42.9215 48.8800 90. 170.53 90. 260.53 0. 0. - 6 17 2 -7.1722 -42.9807 44.9700 90. 170.53 90. 260.53 0. 0. - 6 17 3 -7.1623 -42.9215 41.0600 90. 170.53 90. 260.53 0. 0. - 6 17 4 -7.1722 -42.9807 37.1500 90. 170.53 90. 260.53 0. 0. - 6 17 5 -7.1623 -42.9215 33.2400 90. 170.53 90. 260.53 0. 0. - 6 17 6 -7.1722 -42.9807 29.3300 90. 170.53 90. 260.53 0. 0. - 6 17 7 -7.1623 -42.9215 25.4200 90. 170.53 90. 260.53 0. 0. - 6 17 8 -7.1722 -42.9807 21.5100 90. 170.53 90. 260.53 0. 0. - 6 17 9 -7.1623 -42.9215 17.6000 90. 170.53 90. 260.53 0. 0. - 6 17 10 -7.1722 -42.9807 13.6900 90. 170.53 90. 260.53 0. 0. - 6 17 11 -7.1623 -42.9215 9.7800 90. 170.53 90. 260.53 0. 0. - 6 17 12 -7.1722 -42.9807 5.8700 90. 170.53 90. 260.53 0. 0. - 6 17 13 -7.1623 -42.9215 1.9600 90. 170.53 90. 260.53 0. 0. - 6 17 14 -7.1722 -42.9807 -1.9500 90. 170.53 90. 260.53 0. 0. - 6 17 15 -7.1623 -42.9215 -5.8600 90. 170.53 90. 260.53 0. 0. - 6 17 16 -7.1722 -42.9807 -9.7700 90. 170.53 90. 260.53 0. 0. - 6 17 17 -7.1623 -42.9215 -13.6800 90. 170.53 90. 260.53 0. 0. - 6 17 18 -7.1722 -42.9807 -17.5900 90. 170.53 90. 260.53 0. 0. - 6 17 19 -7.1623 -42.9215 -21.5000 90. 170.53 90. 260.53 0. 0. - 6 17 20 -7.1722 -42.9807 -25.4100 90. 170.53 90. 260.53 0. 0. - 6 17 21 -7.1623 -42.9215 -29.3200 90. 170.53 90. 260.53 0. 0. - 6 17 22 -7.1722 -42.9807 -33.2300 90. 170.53 90. 260.53 0. 0. - 6 17 23 -7.1623 -42.9215 -37.1400 90. 170.53 90. 260.53 0. 0. - 6 17 24 -7.1722 -42.9807 -41.0500 90. 170.53 90. 260.53 0. 0. - 6 17 25 -7.1623 -42.9215 -44.9600 90. 170.53 90. 260.53 0. 0. - 6 17 26 -7.1722 -42.9807 -48.8700 90. 170.53 90. 260.53 0. 0. - 6 18 1 0.0000 -43.6677 48.8800 90. 180.00 90. 270.00 0. 0. - 6 18 2 0.0000 -43.7277 44.9700 90. 180.00 90. 270.00 0. 0. - 6 18 3 0.0000 -43.6677 41.0600 90. 180.00 90. 270.00 0. 0. - 6 18 4 0.0000 -43.7277 37.1500 90. 180.00 90. 270.00 0. 0. - 6 18 5 0.0000 -43.6677 33.2400 90. 180.00 90. 270.00 0. 0. - 6 18 6 0.0000 -43.7277 29.3300 90. 180.00 90. 270.00 0. 0. - 6 18 7 0.0000 -43.6677 25.4200 90. 180.00 90. 270.00 0. 0. - 6 18 8 0.0000 -43.7277 21.5100 90. 180.00 90. 270.00 0. 0. - 6 18 9 0.0000 -43.6677 17.6000 90. 180.00 90. 270.00 0. 0. - 6 18 10 0.0000 -43.7277 13.6900 90. 180.00 90. 270.00 0. 0. - 6 18 11 0.0000 -43.6677 9.7800 90. 180.00 90. 270.00 0. 0. - 6 18 12 0.0000 -43.7277 5.8700 90. 180.00 90. 270.00 0. 0. - 6 18 13 0.0000 -43.6677 1.9600 90. 180.00 90. 270.00 0. 0. - 6 18 14 0.0000 -43.7277 -1.9500 90. 180.00 90. 270.00 0. 0. - 6 18 15 0.0000 -43.6677 -5.8600 90. 180.00 90. 270.00 0. 0. - 6 18 16 0.0000 -43.7277 -9.7700 90. 180.00 90. 270.00 0. 0. - 6 18 17 0.0000 -43.6677 -13.6800 90. 180.00 90. 270.00 0. 0. - 6 18 18 0.0000 -43.7277 -17.5900 90. 180.00 90. 270.00 0. 0. - 6 18 19 0.0000 -43.6677 -21.5000 90. 180.00 90. 270.00 0. 0. - 6 18 20 0.0000 -43.7277 -25.4100 90. 180.00 90. 270.00 0. 0. - 6 18 21 0.0000 -43.6677 -29.3200 90. 180.00 90. 270.00 0. 0. - 6 18 22 0.0000 -43.7277 -33.2300 90. 180.00 90. 270.00 0. 0. - 6 18 23 0.0000 -43.6677 -37.1400 90. 180.00 90. 270.00 0. 0. - 6 18 24 0.0000 -43.7277 -41.0500 90. 180.00 90. 270.00 0. 0. - 6 18 25 0.0000 -43.6677 -44.9600 90. 180.00 90. 270.00 0. 0. - 6 18 26 0.0000 -43.7277 -48.8700 90. 180.00 90. 270.00 0. 0. - 6 19 1 7.1623 -42.9215 48.8800 90. 189.47 90. 279.47 0. 0. - 6 19 2 7.1722 -42.9807 44.9700 90. 189.47 90. 279.47 0. 0. - 6 19 3 7.1623 -42.9215 41.0600 90. 189.47 90. 279.47 0. 0. - 6 19 4 7.1722 -42.9807 37.1500 90. 189.47 90. 279.47 0. 0. - 6 19 5 7.1623 -42.9215 33.2400 90. 189.47 90. 279.47 0. 0. - 6 19 6 7.1722 -42.9807 29.3300 90. 189.47 90. 279.47 0. 0. - 6 19 7 7.1623 -42.9215 25.4200 90. 189.47 90. 279.47 0. 0. - 6 19 8 7.1722 -42.9807 21.5100 90. 189.47 90. 279.47 0. 0. - 6 19 9 7.1623 -42.9215 17.6000 90. 189.47 90. 279.47 0. 0. - 6 19 10 7.1722 -42.9807 13.6900 90. 189.47 90. 279.47 0. 0. - 6 19 11 7.1623 -42.9215 9.7800 90. 189.47 90. 279.47 0. 0. - 6 19 12 7.1722 -42.9807 5.8700 90. 189.47 90. 279.47 0. 0. - 6 19 13 7.1623 -42.9215 1.9600 90. 189.47 90. 279.47 0. 0. - 6 19 14 7.1722 -42.9807 -1.9500 90. 189.47 90. 279.47 0. 0. - 6 19 15 7.1623 -42.9215 -5.8600 90. 189.47 90. 279.47 0. 0. - 6 19 16 7.1722 -42.9807 -9.7700 90. 189.47 90. 279.47 0. 0. - 6 19 17 7.1623 -42.9215 -13.6800 90. 189.47 90. 279.47 0. 0. - 6 19 18 7.1722 -42.9807 -17.5900 90. 189.47 90. 279.47 0. 0. - 6 19 19 7.1623 -42.9215 -21.5000 90. 189.47 90. 279.47 0. 0. - 6 19 20 7.1722 -42.9807 -25.4100 90. 189.47 90. 279.47 0. 0. - 6 19 21 7.1623 -42.9215 -29.3200 90. 189.47 90. 279.47 0. 0. - 6 19 22 7.1722 -42.9807 -33.2300 90. 189.47 90. 279.47 0. 0. - 6 19 23 7.1623 -42.9215 -37.1400 90. 189.47 90. 279.47 0. 0. - 6 19 24 7.1722 -42.9807 -41.0500 90. 189.47 90. 279.47 0. 0. - 6 19 25 7.1623 -42.9215 -44.9600 90. 189.47 90. 279.47 0. 0. - 6 19 26 7.1722 -42.9807 -48.8700 90. 189.47 90. 279.47 0. 0. - 6 20 1 14.1789 -41.3016 48.8800 90. 198.95 90. 288.95 0. 0. - 6 20 2 14.1983 -41.3584 44.9700 90. 198.95 90. 288.95 0. 0. - 6 20 3 14.1789 -41.3016 41.0600 90. 198.95 90. 288.95 0. 0. - 6 20 4 14.1983 -41.3584 37.1500 90. 198.95 90. 288.95 0. 0. - 6 20 5 14.1789 -41.3016 33.2400 90. 198.95 90. 288.95 0. 0. - 6 20 6 14.1983 -41.3584 29.3300 90. 198.95 90. 288.95 0. 0. - 6 20 7 14.1789 -41.3016 25.4200 90. 198.95 90. 288.95 0. 0. - 6 20 8 14.1983 -41.3584 21.5100 90. 198.95 90. 288.95 0. 0. - 6 20 9 14.1789 -41.3016 17.6000 90. 198.95 90. 288.95 0. 0. - 6 20 10 14.1983 -41.3584 13.6900 90. 198.95 90. 288.95 0. 0. - 6 20 11 14.1789 -41.3016 9.7800 90. 198.95 90. 288.95 0. 0. - 6 20 12 14.1983 -41.3584 5.8700 90. 198.95 90. 288.95 0. 0. - 6 20 13 14.1789 -41.3016 1.9600 90. 198.95 90. 288.95 0. 0. - 6 20 14 14.1983 -41.3584 -1.9500 90. 198.95 90. 288.95 0. 0. - 6 20 15 14.1789 -41.3016 -5.8600 90. 198.95 90. 288.95 0. 0. - 6 20 16 14.1983 -41.3584 -9.7700 90. 198.95 90. 288.95 0. 0. - 6 20 17 14.1789 -41.3016 -13.6800 90. 198.95 90. 288.95 0. 0. - 6 20 18 14.1983 -41.3584 -17.5900 90. 198.95 90. 288.95 0. 0. - 6 20 19 14.1789 -41.3016 -21.5000 90. 198.95 90. 288.95 0. 0. - 6 20 20 14.1983 -41.3584 -25.4100 90. 198.95 90. 288.95 0. 0. - 6 20 21 14.1789 -41.3016 -29.3200 90. 198.95 90. 288.95 0. 0. - 6 20 22 14.1983 -41.3584 -33.2300 90. 198.95 90. 288.95 0. 0. - 6 20 23 14.1789 -41.3016 -37.1400 90. 198.95 90. 288.95 0. 0. - 6 20 24 14.1983 -41.3584 -41.0500 90. 198.95 90. 288.95 0. 0. - 6 20 25 14.1789 -41.3016 -44.9600 90. 198.95 90. 288.95 0. 0. - 6 20 26 14.1983 -41.3584 -48.8700 90. 198.95 90. 288.95 0. 0. - 6 21 1 20.7108 -38.2703 48.8800 90. 208.42 90. 298.42 0. 0. - 6 21 2 20.7394 -38.3231 44.9700 90. 208.42 90. 298.42 0. 0. - 6 21 3 20.7108 -38.2703 41.0600 90. 208.42 90. 298.42 0. 0. - 6 21 4 20.7394 -38.3231 37.1500 90. 208.42 90. 298.42 0. 0. - 6 21 5 20.7108 -38.2703 33.2400 90. 208.42 90. 298.42 0. 0. - 6 21 6 20.7394 -38.3231 29.3300 90. 208.42 90. 298.42 0. 0. - 6 21 7 20.7108 -38.2703 25.4200 90. 208.42 90. 298.42 0. 0. - 6 21 8 20.7394 -38.3231 21.5100 90. 208.42 90. 298.42 0. 0. - 6 21 9 20.7108 -38.2703 17.6000 90. 208.42 90. 298.42 0. 0. - 6 21 10 20.7394 -38.3231 13.6900 90. 208.42 90. 298.42 0. 0. - 6 21 11 20.7108 -38.2703 9.7800 90. 208.42 90. 298.42 0. 0. - 6 21 12 20.7394 -38.3231 5.8700 90. 208.42 90. 298.42 0. 0. - 6 21 13 20.7108 -38.2703 1.9600 90. 208.42 90. 298.42 0. 0. - 6 21 14 20.7394 -38.3231 -1.9500 90. 208.42 90. 298.42 0. 0. - 6 21 15 20.7108 -38.2703 -5.8600 90. 208.42 90. 298.42 0. 0. - 6 21 16 20.7394 -38.3231 -9.7700 90. 208.42 90. 298.42 0. 0. - 6 21 17 20.7108 -38.2703 -13.6800 90. 208.42 90. 298.42 0. 0. - 6 21 18 20.7394 -38.3231 -17.5900 90. 208.42 90. 298.42 0. 0. - 6 21 19 20.7108 -38.2703 -21.5000 90. 208.42 90. 298.42 0. 0. - 6 21 20 20.7394 -38.3231 -25.4100 90. 208.42 90. 298.42 0. 0. - 6 21 21 20.7108 -38.2703 -29.3200 90. 208.42 90. 298.42 0. 0. - 6 21 22 20.7394 -38.3231 -33.2300 90. 208.42 90. 298.42 0. 0. - 6 21 23 20.7108 -38.2703 -37.1400 90. 208.42 90. 298.42 0. 0. - 6 21 24 20.7394 -38.3231 -41.0500 90. 208.42 90. 298.42 0. 0. - 6 21 25 20.7108 -38.2703 -44.9600 90. 208.42 90. 298.42 0. 0. - 6 21 26 20.7394 -38.3231 -48.8700 90. 208.42 90. 298.42 0. 0. - 6 22 1 26.8213 -34.4599 48.8800 90. 217.89 90. 307.89 0. 0. - 6 22 2 26.8581 -34.5073 44.9700 90. 217.89 90. 307.89 0. 0. - 6 22 3 26.8213 -34.4599 41.0600 90. 217.89 90. 307.89 0. 0. - 6 22 4 26.8581 -34.5073 37.1500 90. 217.89 90. 307.89 0. 0. - 6 22 5 26.8213 -34.4599 33.2400 90. 217.89 90. 307.89 0. 0. - 6 22 6 26.8581 -34.5073 29.3300 90. 217.89 90. 307.89 0. 0. - 6 22 7 26.8213 -34.4599 25.4200 90. 217.89 90. 307.89 0. 0. - 6 22 8 26.8581 -34.5073 21.5100 90. 217.89 90. 307.89 0. 0. - 6 22 9 26.8213 -34.4599 17.6000 90. 217.89 90. 307.89 0. 0. - 6 22 10 26.8581 -34.5073 13.6900 90. 217.89 90. 307.89 0. 0. - 6 22 11 26.8213 -34.4599 9.7800 90. 217.89 90. 307.89 0. 0. - 6 22 12 26.8581 -34.5073 5.8700 90. 217.89 90. 307.89 0. 0. - 6 22 13 26.8213 -34.4599 1.9600 90. 217.89 90. 307.89 0. 0. - 6 22 14 26.8581 -34.5073 -1.9500 90. 217.89 90. 307.89 0. 0. - 6 22 15 26.8213 -34.4599 -5.8600 90. 217.89 90. 307.89 0. 0. - 6 22 16 26.8581 -34.5073 -9.7700 90. 217.89 90. 307.89 0. 0. - 6 22 17 26.8213 -34.4599 -13.6800 90. 217.89 90. 307.89 0. 0. - 6 22 18 26.8581 -34.5073 -17.5900 90. 217.89 90. 307.89 0. 0. - 6 22 19 26.8213 -34.4599 -21.5000 90. 217.89 90. 307.89 0. 0. - 6 22 20 26.8581 -34.5073 -25.4100 90. 217.89 90. 307.89 0. 0. - 6 22 21 26.8213 -34.4599 -29.3200 90. 217.89 90. 307.89 0. 0. - 6 22 22 26.8581 -34.5073 -33.2300 90. 217.89 90. 307.89 0. 0. - 6 22 23 26.8213 -34.4599 -37.1400 90. 217.89 90. 307.89 0. 0. - 6 22 24 26.8581 -34.5073 -41.0500 90. 217.89 90. 307.89 0. 0. - 6 22 25 26.8213 -34.4599 -44.9600 90. 217.89 90. 307.89 0. 0. - 6 22 26 26.8581 -34.5073 -48.8700 90. 217.89 90. 307.89 0. 0. - 6 23 1 32.0150 -29.4719 48.8800 90. 227.37 90. 317.37 0. 0. - 6 23 2 32.0592 -29.5125 44.9700 90. 227.37 90. 317.37 0. 0. - 6 23 3 32.0150 -29.4719 41.0600 90. 227.37 90. 317.37 0. 0. - 6 23 4 32.0592 -29.5125 37.1500 90. 227.37 90. 317.37 0. 0. - 6 23 5 32.0150 -29.4719 33.2400 90. 227.37 90. 317.37 0. 0. - 6 23 6 32.0592 -29.5125 29.3300 90. 227.37 90. 317.37 0. 0. - 6 23 7 32.0150 -29.4719 25.4200 90. 227.37 90. 317.37 0. 0. - 6 23 8 32.0592 -29.5125 21.5100 90. 227.37 90. 317.37 0. 0. - 6 23 9 32.0150 -29.4719 17.6000 90. 227.37 90. 317.37 0. 0. - 6 23 10 32.0592 -29.5125 13.6900 90. 227.37 90. 317.37 0. 0. - 6 23 11 32.0150 -29.4719 9.7800 90. 227.37 90. 317.37 0. 0. - 6 23 12 32.0592 -29.5125 5.8700 90. 227.37 90. 317.37 0. 0. - 6 23 13 32.0150 -29.4719 1.9600 90. 227.37 90. 317.37 0. 0. - 6 23 14 32.0592 -29.5125 -1.9500 90. 227.37 90. 317.37 0. 0. - 6 23 15 32.0150 -29.4719 -5.8600 90. 227.37 90. 317.37 0. 0. - 6 23 16 32.0592 -29.5125 -9.7700 90. 227.37 90. 317.37 0. 0. - 6 23 17 32.0150 -29.4719 -13.6800 90. 227.37 90. 317.37 0. 0. - 6 23 18 32.0592 -29.5125 -17.5900 90. 227.37 90. 317.37 0. 0. - 6 23 19 32.0150 -29.4719 -21.5000 90. 227.37 90. 317.37 0. 0. - 6 23 20 32.0592 -29.5125 -25.4100 90. 227.37 90. 317.37 0. 0. - 6 23 21 32.0150 -29.4719 -29.3200 90. 227.37 90. 317.37 0. 0. - 6 23 22 32.0592 -29.5125 -33.2300 90. 227.37 90. 317.37 0. 0. - 6 23 23 32.0150 -29.4719 -37.1400 90. 227.37 90. 317.37 0. 0. - 6 23 24 32.0592 -29.5125 -41.0500 90. 227.37 90. 317.37 0. 0. - 6 23 25 32.0150 -29.4719 -44.9600 90. 227.37 90. 317.37 0. 0. - 6 23 26 32.0592 -29.5125 -48.8700 90. 227.37 90. 317.37 0. 0. - 6 24 1 36.5571 -23.8840 48.8800 90. 236.84 90. 326.84 0. 0. - 6 24 2 36.6073 -23.9168 44.9700 90. 236.84 90. 326.84 0. 0. - 6 24 3 36.5571 -23.8840 41.0600 90. 236.84 90. 326.84 0. 0. - 6 24 4 36.6073 -23.9168 37.1500 90. 236.84 90. 326.84 0. 0. - 6 24 5 36.5571 -23.8840 33.2400 90. 236.84 90. 326.84 0. 0. - 6 24 6 36.6073 -23.9168 29.3300 90. 236.84 90. 326.84 0. 0. - 6 24 7 36.5571 -23.8840 25.4200 90. 236.84 90. 326.84 0. 0. - 6 24 8 36.6073 -23.9168 21.5100 90. 236.84 90. 326.84 0. 0. - 6 24 9 36.5571 -23.8840 17.6000 90. 236.84 90. 326.84 0. 0. - 6 24 10 36.6073 -23.9168 13.6900 90. 236.84 90. 326.84 0. 0. - 6 24 11 36.5571 -23.8840 9.7800 90. 236.84 90. 326.84 0. 0. - 6 24 12 36.6073 -23.9168 5.8700 90. 236.84 90. 326.84 0. 0. - 6 24 13 36.5571 -23.8840 1.9600 90. 236.84 90. 326.84 0. 0. - 6 24 14 36.6073 -23.9168 -1.9500 90. 236.84 90. 326.84 0. 0. - 6 24 15 36.5571 -23.8840 -5.8600 90. 236.84 90. 326.84 0. 0. - 6 24 16 36.6073 -23.9168 -9.7700 90. 236.84 90. 326.84 0. 0. - 6 24 17 36.5571 -23.8840 -13.6800 90. 236.84 90. 326.84 0. 0. - 6 24 18 36.6073 -23.9168 -17.5900 90. 236.84 90. 326.84 0. 0. - 6 24 19 36.5571 -23.8840 -21.5000 90. 236.84 90. 326.84 0. 0. - 6 24 20 36.6073 -23.9168 -25.4100 90. 236.84 90. 326.84 0. 0. - 6 24 21 36.5571 -23.8840 -29.3200 90. 236.84 90. 326.84 0. 0. - 6 24 22 36.6073 -23.9168 -33.2300 90. 236.84 90. 326.84 0. 0. - 6 24 23 36.5571 -23.8840 -37.1400 90. 236.84 90. 326.84 0. 0. - 6 24 24 36.6073 -23.9168 -41.0500 90. 236.84 90. 326.84 0. 0. - 6 24 25 36.5571 -23.8840 -44.9600 90. 236.84 90. 326.84 0. 0. - 6 24 26 36.6073 -23.9168 -48.8700 90. 236.84 90. 326.84 0. 0. - 6 25 1 39.8498 -17.4798 48.8800 90. 246.32 90. 336.32 0. 0. - 6 25 2 39.9048 -17.5039 44.9700 90. 246.32 90. 336.32 0. 0. - 6 25 3 39.8498 -17.4798 41.0600 90. 246.32 90. 336.32 0. 0. - 6 25 4 39.9048 -17.5039 37.1500 90. 246.32 90. 336.32 0. 0. - 6 25 5 39.8498 -17.4798 33.2400 90. 246.32 90. 336.32 0. 0. - 6 25 6 39.9048 -17.5039 29.3300 90. 246.32 90. 336.32 0. 0. - 6 25 7 39.8498 -17.4798 25.4200 90. 246.32 90. 336.32 0. 0. - 6 25 8 39.9048 -17.5039 21.5100 90. 246.32 90. 336.32 0. 0. - 6 25 9 39.8498 -17.4798 17.6000 90. 246.32 90. 336.32 0. 0. - 6 25 10 39.9048 -17.5039 13.6900 90. 246.32 90. 336.32 0. 0. - 6 25 11 39.8498 -17.4798 9.7800 90. 246.32 90. 336.32 0. 0. - 6 25 12 39.9048 -17.5039 5.8700 90. 246.32 90. 336.32 0. 0. - 6 25 13 39.8498 -17.4798 1.9600 90. 246.32 90. 336.32 0. 0. - 6 25 14 39.9048 -17.5039 -1.9500 90. 246.32 90. 336.32 0. 0. - 6 25 15 39.8498 -17.4798 -5.8600 90. 246.32 90. 336.32 0. 0. - 6 25 16 39.9048 -17.5039 -9.7700 90. 246.32 90. 336.32 0. 0. - 6 25 17 39.8498 -17.4798 -13.6800 90. 246.32 90. 336.32 0. 0. - 6 25 18 39.9048 -17.5039 -17.5900 90. 246.32 90. 336.32 0. 0. - 6 25 19 39.8498 -17.4798 -21.5000 90. 246.32 90. 336.32 0. 0. - 6 25 20 39.9048 -17.5039 -25.4100 90. 246.32 90. 336.32 0. 0. - 6 25 21 39.8498 -17.4798 -29.3200 90. 246.32 90. 336.32 0. 0. - 6 25 22 39.9048 -17.5039 -33.2300 90. 246.32 90. 336.32 0. 0. - 6 25 23 39.8498 -17.4798 -37.1400 90. 246.32 90. 336.32 0. 0. - 6 25 24 39.9048 -17.5039 -41.0500 90. 246.32 90. 336.32 0. 0. - 6 25 25 39.8498 -17.4798 -44.9600 90. 246.32 90. 336.32 0. 0. - 6 25 26 39.9048 -17.5039 -48.8700 90. 246.32 90. 336.32 0. 0. - 6 26 1 42.3315 -10.7198 48.8800 90. 255.79 90. 345.79 0. 0. - 6 26 2 42.3897 -10.7345 44.9700 90. 255.79 90. 345.79 0. 0. - 6 26 3 42.3315 -10.7198 41.0600 90. 255.79 90. 345.79 0. 0. - 6 26 4 42.3897 -10.7345 37.1500 90. 255.79 90. 345.79 0. 0. - 6 26 5 42.3315 -10.7198 33.2400 90. 255.79 90. 345.79 0. 0. - 6 26 6 42.3897 -10.7345 29.3300 90. 255.79 90. 345.79 0. 0. - 6 26 7 42.3315 -10.7198 25.4200 90. 255.79 90. 345.79 0. 0. - 6 26 8 42.3897 -10.7345 21.5100 90. 255.79 90. 345.79 0. 0. - 6 26 9 42.3315 -10.7198 17.6000 90. 255.79 90. 345.79 0. 0. - 6 26 10 42.3897 -10.7345 13.6900 90. 255.79 90. 345.79 0. 0. - 6 26 11 42.3315 -10.7198 9.7800 90. 255.79 90. 345.79 0. 0. - 6 26 12 42.3897 -10.7345 5.8700 90. 255.79 90. 345.79 0. 0. - 6 26 13 42.3315 -10.7198 1.9600 90. 255.79 90. 345.79 0. 0. - 6 26 14 42.3897 -10.7345 -1.9500 90. 255.79 90. 345.79 0. 0. - 6 26 15 42.3315 -10.7198 -5.8600 90. 255.79 90. 345.79 0. 0. - 6 26 16 42.3897 -10.7345 -9.7700 90. 255.79 90. 345.79 0. 0. - 6 26 17 42.3315 -10.7198 -13.6800 90. 255.79 90. 345.79 0. 0. - 6 26 18 42.3897 -10.7345 -17.5900 90. 255.79 90. 345.79 0. 0. - 6 26 19 42.3315 -10.7198 -21.5000 90. 255.79 90. 345.79 0. 0. - 6 26 20 42.3897 -10.7345 -25.4100 90. 255.79 90. 345.79 0. 0. - 6 26 21 42.3315 -10.7198 -29.3200 90. 255.79 90. 345.79 0. 0. - 6 26 22 42.3897 -10.7345 -33.2300 90. 255.79 90. 345.79 0. 0. - 6 26 23 42.3315 -10.7198 -37.1400 90. 255.79 90. 345.79 0. 0. - 6 26 24 42.3897 -10.7345 -41.0500 90. 255.79 90. 345.79 0. 0. - 6 26 25 42.3315 -10.7198 -44.9600 90. 255.79 90. 345.79 0. 0. - 6 26 26 42.3897 -10.7345 -48.8700 90. 255.79 90. 345.79 0. 0. - 6 27 1 43.3664 -3.5934 48.8800 90. 265.26 90. 355.26 0. 0. - 6 27 2 43.4262 -3.5984 44.9700 90. 265.26 90. 355.26 0. 0. - 6 27 3 43.3664 -3.5934 41.0600 90. 265.26 90. 355.26 0. 0. - 6 27 4 43.4262 -3.5984 37.1500 90. 265.26 90. 355.26 0. 0. - 6 27 5 43.3664 -3.5934 33.2400 90. 265.26 90. 355.26 0. 0. - 6 27 6 43.4262 -3.5984 29.3300 90. 265.26 90. 355.26 0. 0. - 6 27 7 43.3664 -3.5934 25.4200 90. 265.26 90. 355.26 0. 0. - 6 27 8 43.4262 -3.5984 21.5100 90. 265.26 90. 355.26 0. 0. - 6 27 9 43.3664 -3.5934 17.6000 90. 265.26 90. 355.26 0. 0. - 6 27 10 43.4262 -3.5984 13.6900 90. 265.26 90. 355.26 0. 0. - 6 27 11 43.3664 -3.5934 9.7800 90. 265.26 90. 355.26 0. 0. - 6 27 12 43.4262 -3.5984 5.8700 90. 265.26 90. 355.26 0. 0. - 6 27 13 43.3664 -3.5934 1.9600 90. 265.26 90. 355.26 0. 0. - 6 27 14 43.4262 -3.5984 -1.9500 90. 265.26 90. 355.26 0. 0. - 6 27 15 43.3664 -3.5934 -5.8600 90. 265.26 90. 355.26 0. 0. - 6 27 16 43.4262 -3.5984 -9.7700 90. 265.26 90. 355.26 0. 0. - 6 27 17 43.3664 -3.5934 -13.6800 90. 265.26 90. 355.26 0. 0. - 6 27 18 43.4262 -3.5984 -17.5900 90. 265.26 90. 355.26 0. 0. - 6 27 19 43.3664 -3.5934 -21.5000 90. 265.26 90. 355.26 0. 0. - 6 27 20 43.4262 -3.5984 -25.4100 90. 265.26 90. 355.26 0. 0. - 6 27 21 43.3664 -3.5934 -29.3200 90. 265.26 90. 355.26 0. 0. - 6 27 22 43.4262 -3.5984 -33.2300 90. 265.26 90. 355.26 0. 0. - 6 27 23 43.3664 -3.5934 -37.1400 90. 265.26 90. 355.26 0. 0. - 6 27 24 43.4262 -3.5984 -41.0500 90. 265.26 90. 355.26 0. 0. - 6 27 25 43.3664 -3.5934 -44.9600 90. 265.26 90. 355.26 0. 0. - 6 27 26 43.4262 -3.5984 -48.8700 90. 265.26 90. 355.26 0. 0. - 6 28 1 43.5185 3.6060 48.8800 90. 274.74 90. 4.74 0. 0. - 6 28 2 43.5783 3.6110 44.9700 90. 274.74 90. 4.74 0. 0. - 6 28 3 43.5185 3.6060 41.0600 90. 274.74 90. 4.74 0. 0. - 6 28 4 43.5783 3.6110 37.1500 90. 274.74 90. 4.74 0. 0. - 6 28 5 43.5185 3.6060 33.2400 90. 274.74 90. 4.74 0. 0. - 6 28 6 43.5783 3.6110 29.3300 90. 274.74 90. 4.74 0. 0. - 6 28 7 43.5185 3.6060 25.4200 90. 274.74 90. 4.74 0. 0. - 6 28 8 43.5783 3.6110 21.5100 90. 274.74 90. 4.74 0. 0. - 6 28 9 43.5185 3.6060 17.6000 90. 274.74 90. 4.74 0. 0. - 6 28 10 43.5783 3.6110 13.6900 90. 274.74 90. 4.74 0. 0. - 6 28 11 43.5185 3.6060 9.7800 90. 274.74 90. 4.74 0. 0. - 6 28 12 43.5783 3.6110 5.8700 90. 274.74 90. 4.74 0. 0. - 6 28 13 43.5185 3.6060 1.9600 90. 274.74 90. 4.74 0. 0. - 6 28 14 43.5783 3.6110 -1.9500 90. 274.74 90. 4.74 0. 0. - 6 28 15 43.5185 3.6060 -5.8600 90. 274.74 90. 4.74 0. 0. - 6 28 16 43.5783 3.6110 -9.7700 90. 274.74 90. 4.74 0. 0. - 6 28 17 43.5185 3.6060 -13.6800 90. 274.74 90. 4.74 0. 0. - 6 28 18 43.5783 3.6110 -17.5900 90. 274.74 90. 4.74 0. 0. - 6 28 19 43.5185 3.6060 -21.5000 90. 274.74 90. 4.74 0. 0. - 6 28 20 43.5783 3.6110 -25.4100 90. 274.74 90. 4.74 0. 0. - 6 28 21 43.5185 3.6060 -29.3200 90. 274.74 90. 4.74 0. 0. - 6 28 22 43.5783 3.6110 -33.2300 90. 274.74 90. 4.74 0. 0. - 6 28 23 43.5185 3.6060 -37.1400 90. 274.74 90. 4.74 0. 0. - 6 28 24 43.5783 3.6110 -41.0500 90. 274.74 90. 4.74 0. 0. - 6 28 25 43.5185 3.6060 -44.9600 90. 274.74 90. 4.74 0. 0. - 6 28 26 43.5783 3.6110 -48.8700 90. 274.74 90. 4.74 0. 0. - 6 29 1 42.1834 10.6823 48.8800 90. 284.21 90. 14.21 0. 0. - 6 29 2 42.2416 10.6970 44.9700 90. 284.21 90. 14.21 0. 0. - 6 29 3 42.1834 10.6823 41.0600 90. 284.21 90. 14.21 0. 0. - 6 29 4 42.2416 10.6970 37.1500 90. 284.21 90. 14.21 0. 0. - 6 29 5 42.1834 10.6823 33.2400 90. 284.21 90. 14.21 0. 0. - 6 29 6 42.2416 10.6970 29.3300 90. 284.21 90. 14.21 0. 0. - 6 29 7 42.1834 10.6823 25.4200 90. 284.21 90. 14.21 0. 0. - 6 29 8 42.2416 10.6970 21.5100 90. 284.21 90. 14.21 0. 0. - 6 29 9 42.1834 10.6823 17.6000 90. 284.21 90. 14.21 0. 0. - 6 29 10 42.2416 10.6970 13.6900 90. 284.21 90. 14.21 0. 0. - 6 29 11 42.1834 10.6823 9.7800 90. 284.21 90. 14.21 0. 0. - 6 29 12 42.2416 10.6970 5.8700 90. 284.21 90. 14.21 0. 0. - 6 29 13 42.1834 10.6823 1.9600 90. 284.21 90. 14.21 0. 0. - 6 29 14 42.2416 10.6970 -1.9500 90. 284.21 90. 14.21 0. 0. - 6 29 15 42.1834 10.6823 -5.8600 90. 284.21 90. 14.21 0. 0. - 6 29 16 42.2416 10.6970 -9.7700 90. 284.21 90. 14.21 0. 0. - 6 29 17 42.1834 10.6823 -13.6800 90. 284.21 90. 14.21 0. 0. - 6 29 18 42.2416 10.6970 -17.5900 90. 284.21 90. 14.21 0. 0. - 6 29 19 42.1834 10.6823 -21.5000 90. 284.21 90. 14.21 0. 0. - 6 29 20 42.2416 10.6970 -25.4100 90. 284.21 90. 14.21 0. 0. - 6 29 21 42.1834 10.6823 -29.3200 90. 284.21 90. 14.21 0. 0. - 6 29 22 42.2416 10.6970 -33.2300 90. 284.21 90. 14.21 0. 0. - 6 29 23 42.1834 10.6823 -37.1400 90. 284.21 90. 14.21 0. 0. - 6 29 24 42.2416 10.6970 -41.0500 90. 284.21 90. 14.21 0. 0. - 6 29 25 42.1834 10.6823 -44.9600 90. 284.21 90. 14.21 0. 0. - 6 29 26 42.2416 10.6970 -48.8700 90. 284.21 90. 14.21 0. 0. - 6 30 1 39.9897 17.5411 48.8800 90. 293.68 90. 23.68 0. 0. - 6 30 2 40.0447 17.5652 44.9700 90. 293.68 90. 23.68 0. 0. - 6 30 3 39.9897 17.5411 41.0600 90. 293.68 90. 23.68 0. 0. - 6 30 4 40.0447 17.5652 37.1500 90. 293.68 90. 23.68 0. 0. - 6 30 5 39.9897 17.5411 33.2400 90. 293.68 90. 23.68 0. 0. - 6 30 6 40.0447 17.5652 29.3300 90. 293.68 90. 23.68 0. 0. - 6 30 7 39.9897 17.5411 25.4200 90. 293.68 90. 23.68 0. 0. - 6 30 8 40.0447 17.5652 21.5100 90. 293.68 90. 23.68 0. 0. - 6 30 9 39.9897 17.5411 17.6000 90. 293.68 90. 23.68 0. 0. - 6 30 10 40.0447 17.5652 13.6900 90. 293.68 90. 23.68 0. 0. - 6 30 11 39.9897 17.5411 9.7800 90. 293.68 90. 23.68 0. 0. - 6 30 12 40.0447 17.5652 5.8700 90. 293.68 90. 23.68 0. 0. - 6 30 13 39.9897 17.5411 1.9600 90. 293.68 90. 23.68 0. 0. - 6 30 14 40.0447 17.5652 -1.9500 90. 293.68 90. 23.68 0. 0. - 6 30 15 39.9897 17.5411 -5.8600 90. 293.68 90. 23.68 0. 0. - 6 30 16 40.0447 17.5652 -9.7700 90. 293.68 90. 23.68 0. 0. - 6 30 17 39.9897 17.5411 -13.6800 90. 293.68 90. 23.68 0. 0. - 6 30 18 40.0447 17.5652 -17.5900 90. 293.68 90. 23.68 0. 0. - 6 30 19 39.9897 17.5411 -21.5000 90. 293.68 90. 23.68 0. 0. - 6 30 20 40.0447 17.5652 -25.4100 90. 293.68 90. 23.68 0. 0. - 6 30 21 39.9897 17.5411 -29.3200 90. 293.68 90. 23.68 0. 0. - 6 30 22 40.0447 17.5652 -33.2300 90. 293.68 90. 23.68 0. 0. - 6 30 23 39.9897 17.5411 -37.1400 90. 293.68 90. 23.68 0. 0. - 6 30 24 40.0447 17.5652 -41.0500 90. 293.68 90. 23.68 0. 0. - 6 30 25 39.9897 17.5411 -44.9600 90. 293.68 90. 23.68 0. 0. - 6 30 26 40.0447 17.5652 -48.8700 90. 293.68 90. 23.68 0. 0. - 6 31 1 36.4293 23.8005 48.8800 90. 303.16 90. 33.16 0. 0. - 6 31 2 36.4795 23.8333 44.9700 90. 303.16 90. 33.16 0. 0. - 6 31 3 36.4293 23.8005 41.0600 90. 303.16 90. 33.16 0. 0. - 6 31 4 36.4795 23.8333 37.1500 90. 303.16 90. 33.16 0. 0. - 6 31 5 36.4293 23.8005 33.2400 90. 303.16 90. 33.16 0. 0. - 6 31 6 36.4795 23.8333 29.3300 90. 303.16 90. 33.16 0. 0. - 6 31 7 36.4293 23.8005 25.4200 90. 303.16 90. 33.16 0. 0. - 6 31 8 36.4795 23.8333 21.5100 90. 303.16 90. 33.16 0. 0. - 6 31 9 36.4293 23.8005 17.6000 90. 303.16 90. 33.16 0. 0. - 6 31 10 36.4795 23.8333 13.6900 90. 303.16 90. 33.16 0. 0. - 6 31 11 36.4293 23.8005 9.7800 90. 303.16 90. 33.16 0. 0. - 6 31 12 36.4795 23.8333 5.8700 90. 303.16 90. 33.16 0. 0. - 6 31 13 36.4293 23.8005 1.9600 90. 303.16 90. 33.16 0. 0. - 6 31 14 36.4795 23.8333 -1.9500 90. 303.16 90. 33.16 0. 0. - 6 31 15 36.4293 23.8005 -5.8600 90. 303.16 90. 33.16 0. 0. - 6 31 16 36.4795 23.8333 -9.7700 90. 303.16 90. 33.16 0. 0. - 6 31 17 36.4293 23.8005 -13.6800 90. 303.16 90. 33.16 0. 0. - 6 31 18 36.4795 23.8333 -17.5900 90. 303.16 90. 33.16 0. 0. - 6 31 19 36.4293 23.8005 -21.5000 90. 303.16 90. 33.16 0. 0. - 6 31 20 36.4795 23.8333 -25.4100 90. 303.16 90. 33.16 0. 0. - 6 31 21 36.4293 23.8005 -29.3200 90. 303.16 90. 33.16 0. 0. - 6 31 22 36.4795 23.8333 -33.2300 90. 303.16 90. 33.16 0. 0. - 6 31 23 36.4293 23.8005 -37.1400 90. 303.16 90. 33.16 0. 0. - 6 31 24 36.4795 23.8333 -41.0500 90. 303.16 90. 33.16 0. 0. - 6 31 25 36.4293 23.8005 -44.9600 90. 303.16 90. 33.16 0. 0. - 6 31 26 36.4795 23.8333 -48.8700 90. 303.16 90. 33.16 0. 0. - 6 32 1 32.1273 29.5753 48.8800 90. 312.63 90. 42.63 0. 0. - 6 32 2 32.1715 29.6159 44.9700 90. 312.63 90. 42.63 0. 0. - 6 32 3 32.1273 29.5753 41.0600 90. 312.63 90. 42.63 0. 0. - 6 32 4 32.1715 29.6159 37.1500 90. 312.63 90. 42.63 0. 0. - 6 32 5 32.1273 29.5753 33.2400 90. 312.63 90. 42.63 0. 0. - 6 32 6 32.1715 29.6159 29.3300 90. 312.63 90. 42.63 0. 0. - 6 32 7 32.1273 29.5753 25.4200 90. 312.63 90. 42.63 0. 0. - 6 32 8 32.1715 29.6159 21.5100 90. 312.63 90. 42.63 0. 0. - 6 32 9 32.1273 29.5753 17.6000 90. 312.63 90. 42.63 0. 0. - 6 32 10 32.1715 29.6159 13.6900 90. 312.63 90. 42.63 0. 0. - 6 32 11 32.1273 29.5753 9.7800 90. 312.63 90. 42.63 0. 0. - 6 32 12 32.1715 29.6159 5.8700 90. 312.63 90. 42.63 0. 0. - 6 32 13 32.1273 29.5753 1.9600 90. 312.63 90. 42.63 0. 0. - 6 32 14 32.1715 29.6159 -1.9500 90. 312.63 90. 42.63 0. 0. - 6 32 15 32.1273 29.5753 -5.8600 90. 312.63 90. 42.63 0. 0. - 6 32 16 32.1715 29.6159 -9.7700 90. 312.63 90. 42.63 0. 0. - 6 32 17 32.1273 29.5753 -13.6800 90. 312.63 90. 42.63 0. 0. - 6 32 18 32.1715 29.6159 -17.5900 90. 312.63 90. 42.63 0. 0. - 6 32 19 32.1273 29.5753 -21.5000 90. 312.63 90. 42.63 0. 0. - 6 32 20 32.1715 29.6159 -25.4100 90. 312.63 90. 42.63 0. 0. - 6 32 21 32.1273 29.5753 -29.3200 90. 312.63 90. 42.63 0. 0. - 6 32 22 32.1715 29.6159 -33.2300 90. 312.63 90. 42.63 0. 0. - 6 32 23 32.1273 29.5753 -37.1400 90. 312.63 90. 42.63 0. 0. - 6 32 24 32.1715 29.6159 -41.0500 90. 312.63 90. 42.63 0. 0. - 6 32 25 32.1273 29.5753 -44.9600 90. 312.63 90. 42.63 0. 0. - 6 32 26 32.1715 29.6159 -48.8700 90. 312.63 90. 42.63 0. 0. - 6 33 1 26.7275 34.3394 48.8800 90. 322.11 90. 52.11 0. 0. - 6 33 2 26.7643 34.3868 44.9700 90. 322.11 90. 52.11 0. 0. - 6 33 3 26.7275 34.3394 41.0600 90. 322.11 90. 52.11 0. 0. - 6 33 4 26.7643 34.3868 37.1500 90. 322.11 90. 52.11 0. 0. - 6 33 5 26.7275 34.3394 33.2400 90. 322.11 90. 52.11 0. 0. - 6 33 6 26.7643 34.3868 29.3300 90. 322.11 90. 52.11 0. 0. - 6 33 7 26.7275 34.3394 25.4200 90. 322.11 90. 52.11 0. 0. - 6 33 8 26.7643 34.3868 21.5100 90. 322.11 90. 52.11 0. 0. - 6 33 9 26.7275 34.3394 17.6000 90. 322.11 90. 52.11 0. 0. - 6 33 10 26.7643 34.3868 13.6900 90. 322.11 90. 52.11 0. 0. - 6 33 11 26.7275 34.3394 9.7800 90. 322.11 90. 52.11 0. 0. - 6 33 12 26.7643 34.3868 5.8700 90. 322.11 90. 52.11 0. 0. - 6 33 13 26.7275 34.3394 1.9600 90. 322.11 90. 52.11 0. 0. - 6 33 14 26.7643 34.3868 -1.9500 90. 322.11 90. 52.11 0. 0. - 6 33 15 26.7275 34.3394 -5.8600 90. 322.11 90. 52.11 0. 0. - 6 33 16 26.7643 34.3868 -9.7700 90. 322.11 90. 52.11 0. 0. - 6 33 17 26.7275 34.3394 -13.6800 90. 322.11 90. 52.11 0. 0. - 6 33 18 26.7643 34.3868 -17.5900 90. 322.11 90. 52.11 0. 0. - 6 33 19 26.7275 34.3394 -21.5000 90. 322.11 90. 52.11 0. 0. - 6 33 20 26.7643 34.3868 -25.4100 90. 322.11 90. 52.11 0. 0. - 6 33 21 26.7275 34.3394 -29.3200 90. 322.11 90. 52.11 0. 0. - 6 33 22 26.7643 34.3868 -33.2300 90. 322.11 90. 52.11 0. 0. - 6 33 23 26.7275 34.3394 -37.1400 90. 322.11 90. 52.11 0. 0. - 6 33 24 26.7643 34.3868 -41.0500 90. 322.11 90. 52.11 0. 0. - 6 33 25 26.7275 34.3394 -44.9600 90. 322.11 90. 52.11 0. 0. - 6 33 26 26.7643 34.3868 -48.8700 90. 322.11 90. 52.11 0. 0. - 6 34 1 20.7835 38.4046 48.8800 90. 331.58 90. 61.58 0. 0. - 6 34 2 20.8121 38.4574 44.9700 90. 331.58 90. 61.58 0. 0. - 6 34 3 20.7835 38.4046 41.0600 90. 331.58 90. 61.58 0. 0. - 6 34 4 20.8121 38.4574 37.1500 90. 331.58 90. 61.58 0. 0. - 6 34 5 20.7835 38.4046 33.2400 90. 331.58 90. 61.58 0. 0. - 6 34 6 20.8121 38.4574 29.3300 90. 331.58 90. 61.58 0. 0. - 6 34 7 20.7835 38.4046 25.4200 90. 331.58 90. 61.58 0. 0. - 6 34 8 20.8121 38.4574 21.5100 90. 331.58 90. 61.58 0. 0. - 6 34 9 20.7835 38.4046 17.6000 90. 331.58 90. 61.58 0. 0. - 6 34 10 20.8121 38.4574 13.6900 90. 331.58 90. 61.58 0. 0. - 6 34 11 20.7835 38.4046 9.7800 90. 331.58 90. 61.58 0. 0. - 6 34 12 20.8121 38.4574 5.8700 90. 331.58 90. 61.58 0. 0. - 6 34 13 20.7835 38.4046 1.9600 90. 331.58 90. 61.58 0. 0. - 6 34 14 20.8121 38.4574 -1.9500 90. 331.58 90. 61.58 0. 0. - 6 34 15 20.7835 38.4046 -5.8600 90. 331.58 90. 61.58 0. 0. - 6 34 16 20.8121 38.4574 -9.7700 90. 331.58 90. 61.58 0. 0. - 6 34 17 20.7835 38.4046 -13.6800 90. 331.58 90. 61.58 0. 0. - 6 34 18 20.8121 38.4574 -17.5900 90. 331.58 90. 61.58 0. 0. - 6 34 19 20.7835 38.4046 -21.5000 90. 331.58 90. 61.58 0. 0. - 6 34 20 20.8121 38.4574 -25.4100 90. 331.58 90. 61.58 0. 0. - 6 34 21 20.7835 38.4046 -29.3200 90. 331.58 90. 61.58 0. 0. - 6 34 22 20.8121 38.4574 -33.2300 90. 331.58 90. 61.58 0. 0. - 6 34 23 20.7835 38.4046 -37.1400 90. 331.58 90. 61.58 0. 0. - 6 34 24 20.8121 38.4574 -41.0500 90. 331.58 90. 61.58 0. 0. - 6 34 25 20.7835 38.4046 -44.9600 90. 331.58 90. 61.58 0. 0. - 6 34 26 20.8121 38.4574 -48.8700 90. 331.58 90. 61.58 0. 0. - 6 35 1 14.1293 41.1572 48.8800 90. 341.05 90. 71.05 0. 0. - 6 35 2 14.1488 41.2140 44.9700 90. 341.05 90. 71.05 0. 0. - 6 35 3 14.1293 41.1572 41.0600 90. 341.05 90. 71.05 0. 0. - 6 35 4 14.1488 41.2140 37.1500 90. 341.05 90. 71.05 0. 0. - 6 35 5 14.1293 41.1572 33.2400 90. 341.05 90. 71.05 0. 0. - 6 35 6 14.1488 41.2140 29.3300 90. 341.05 90. 71.05 0. 0. - 6 35 7 14.1293 41.1572 25.4200 90. 341.05 90. 71.05 0. 0. - 6 35 8 14.1488 41.2140 21.5100 90. 341.05 90. 71.05 0. 0. - 6 35 9 14.1293 41.1572 17.6000 90. 341.05 90. 71.05 0. 0. - 6 35 10 14.1488 41.2140 13.6900 90. 341.05 90. 71.05 0. 0. - 6 35 11 14.1293 41.1572 9.7800 90. 341.05 90. 71.05 0. 0. - 6 35 12 14.1488 41.2140 5.8700 90. 341.05 90. 71.05 0. 0. - 6 35 13 14.1293 41.1572 1.9600 90. 341.05 90. 71.05 0. 0. - 6 35 14 14.1488 41.2140 -1.9500 90. 341.05 90. 71.05 0. 0. - 6 35 15 14.1293 41.1572 -5.8600 90. 341.05 90. 71.05 0. 0. - 6 35 16 14.1488 41.2140 -9.7700 90. 341.05 90. 71.05 0. 0. - 6 35 17 14.1293 41.1572 -13.6800 90. 341.05 90. 71.05 0. 0. - 6 35 18 14.1488 41.2140 -17.5900 90. 341.05 90. 71.05 0. 0. - 6 35 19 14.1293 41.1572 -21.5000 90. 341.05 90. 71.05 0. 0. - 6 35 20 14.1488 41.2140 -25.4100 90. 341.05 90. 71.05 0. 0. - 6 35 21 14.1293 41.1572 -29.3200 90. 341.05 90. 71.05 0. 0. - 6 35 22 14.1488 41.2140 -33.2300 90. 341.05 90. 71.05 0. 0. - 6 35 23 14.1293 41.1572 -37.1400 90. 341.05 90. 71.05 0. 0. - 6 35 24 14.1488 41.2140 -41.0500 90. 341.05 90. 71.05 0. 0. - 6 35 25 14.1293 41.1572 -44.9600 90. 341.05 90. 71.05 0. 0. - 6 35 26 14.1488 41.2140 -48.8700 90. 341.05 90. 71.05 0. 0. - 6 36 1 7.1875 43.0721 48.8800 90. 350.53 90. 80.53 0. 0. - 6 36 2 7.1973 43.1313 44.9700 90. 350.53 90. 80.53 0. 0. - 6 36 3 7.1875 43.0721 41.0600 90. 350.53 90. 80.53 0. 0. - 6 36 4 7.1973 43.1313 37.1500 90. 350.53 90. 80.53 0. 0. - 6 36 5 7.1875 43.0721 33.2400 90. 350.53 90. 80.53 0. 0. - 6 36 6 7.1973 43.1313 29.3300 90. 350.53 90. 80.53 0. 0. - 6 36 7 7.1875 43.0721 25.4200 90. 350.53 90. 80.53 0. 0. - 6 36 8 7.1973 43.1313 21.5100 90. 350.53 90. 80.53 0. 0. - 6 36 9 7.1875 43.0721 17.6000 90. 350.53 90. 80.53 0. 0. - 6 36 10 7.1973 43.1313 13.6900 90. 350.53 90. 80.53 0. 0. - 6 36 11 7.1875 43.0721 9.7800 90. 350.53 90. 80.53 0. 0. - 6 36 12 7.1973 43.1313 5.8700 90. 350.53 90. 80.53 0. 0. - 6 36 13 7.1875 43.0721 1.9600 90. 350.53 90. 80.53 0. 0. - 6 36 14 7.1973 43.1313 -1.9500 90. 350.53 90. 80.53 0. 0. - 6 36 15 7.1875 43.0721 -5.8600 90. 350.53 90. 80.53 0. 0. - 6 36 16 7.1973 43.1313 -9.7700 90. 350.53 90. 80.53 0. 0. - 6 36 17 7.1875 43.0721 -13.6800 90. 350.53 90. 80.53 0. 0. - 6 36 18 7.1973 43.1313 -17.5900 90. 350.53 90. 80.53 0. 0. - 6 36 19 7.1875 43.0721 -21.5000 90. 350.53 90. 80.53 0. 0. - 6 36 20 7.1973 43.1313 -25.4100 90. 350.53 90. 80.53 0. 0. - 6 36 21 7.1875 43.0721 -29.3200 90. 350.53 90. 80.53 0. 0. - 6 36 22 7.1973 43.1313 -33.2300 90. 350.53 90. 80.53 0. 0. - 6 36 23 7.1875 43.0721 -37.1400 90. 350.53 90. 80.53 0. 0. - 6 36 24 7.1973 43.1313 -41.0500 90. 350.53 90. 80.53 0. 0. - 6 36 25 7.1875 43.0721 -44.9600 90. 350.53 90. 80.53 0. 0. - 6 36 26 7.1973 43.1313 -48.8700 90. 350.53 90. 80.53 0. 0. - 6 37 1 0.0000 43.5150 48.8800 90. 0.00 90. 90.00 0. 0. - 6 37 2 0.0000 43.5750 44.9700 90. 0.00 90. 90.00 0. 0. - 6 37 3 0.0000 43.5150 41.0600 90. 0.00 90. 90.00 0. 0. - 6 37 4 0.0000 43.5750 37.1500 90. 0.00 90. 90.00 0. 0. - 6 37 5 0.0000 43.5150 33.2400 90. 0.00 90. 90.00 0. 0. - 6 37 6 0.0000 43.5750 29.3300 90. 0.00 90. 90.00 0. 0. - 6 37 7 0.0000 43.5150 25.4200 90. 0.00 90. 90.00 0. 0. - 6 37 8 0.0000 43.5750 21.5100 90. 0.00 90. 90.00 0. 0. - 6 37 9 0.0000 43.5150 17.6000 90. 0.00 90. 90.00 0. 0. - 6 37 10 0.0000 43.5750 13.6900 90. 0.00 90. 90.00 0. 0. - 6 37 11 0.0000 43.5150 9.7800 90. 0.00 90. 90.00 0. 0. - 6 37 12 0.0000 43.5750 5.8700 90. 0.00 90. 90.00 0. 0. - 6 37 13 0.0000 43.5150 1.9600 90. 0.00 90. 90.00 0. 0. - 6 37 14 0.0000 43.5750 -1.9500 90. 0.00 90. 90.00 0. 0. - 6 37 15 0.0000 43.5150 -5.8600 90. 0.00 90. 90.00 0. 0. - 6 37 16 0.0000 43.5750 -9.7700 90. 0.00 90. 90.00 0. 0. - 6 37 17 0.0000 43.5150 -13.6800 90. 0.00 90. 90.00 0. 0. - 6 37 18 0.0000 43.5750 -17.5900 90. 0.00 90. 90.00 0. 0. - 6 37 19 0.0000 43.5150 -21.5000 90. 0.00 90. 90.00 0. 0. - 6 37 20 0.0000 43.5750 -25.4100 90. 0.00 90. 90.00 0. 0. - 6 37 21 0.0000 43.5150 -29.3200 90. 0.00 90. 90.00 0. 0. - 6 37 22 0.0000 43.5750 -33.2300 90. 0.00 90. 90.00 0. 0. - 6 37 23 0.0000 43.5150 -37.1400 90. 0.00 90. 90.00 0. 0. - 6 37 24 0.0000 43.5750 -41.0500 90. 0.00 90. 90.00 0. 0. - 6 37 25 0.0000 43.5150 -44.9600 90. 0.00 90. 90.00 0. 0. - 6 37 26 0.0000 43.5750 -48.8700 90. 0.00 90. 90.00 0. 0. - 6 38 1 -7.1875 43.0721 48.8800 90. 9.47 90. 99.47 0. 0. - 6 38 2 -7.1973 43.1313 44.9700 90. 9.47 90. 99.47 0. 0. - 6 38 3 -7.1875 43.0721 41.0600 90. 9.47 90. 99.47 0. 0. - 6 38 4 -7.1973 43.1313 37.1500 90. 9.47 90. 99.47 0. 0. - 6 38 5 -7.1875 43.0721 33.2400 90. 9.47 90. 99.47 0. 0. - 6 38 6 -7.1973 43.1313 29.3300 90. 9.47 90. 99.47 0. 0. - 6 38 7 -7.1875 43.0721 25.4200 90. 9.47 90. 99.47 0. 0. - 6 38 8 -7.1973 43.1313 21.5100 90. 9.47 90. 99.47 0. 0. - 6 38 9 -7.1875 43.0721 17.6000 90. 9.47 90. 99.47 0. 0. - 6 38 10 -7.1973 43.1313 13.6900 90. 9.47 90. 99.47 0. 0. - 6 38 11 -7.1875 43.0721 9.7800 90. 9.47 90. 99.47 0. 0. - 6 38 12 -7.1973 43.1313 5.8700 90. 9.47 90. 99.47 0. 0. - 6 38 13 -7.1875 43.0721 1.9600 90. 9.47 90. 99.47 0. 0. - 6 38 14 -7.1973 43.1313 -1.9500 90. 9.47 90. 99.47 0. 0. - 6 38 15 -7.1875 43.0721 -5.8600 90. 9.47 90. 99.47 0. 0. - 6 38 16 -7.1973 43.1313 -9.7700 90. 9.47 90. 99.47 0. 0. - 6 38 17 -7.1875 43.0721 -13.6800 90. 9.47 90. 99.47 0. 0. - 6 38 18 -7.1973 43.1313 -17.5900 90. 9.47 90. 99.47 0. 0. - 6 38 19 -7.1875 43.0721 -21.5000 90. 9.47 90. 99.47 0. 0. - 6 38 20 -7.1973 43.1313 -25.4100 90. 9.47 90. 99.47 0. 0. - 6 38 21 -7.1875 43.0721 -29.3200 90. 9.47 90. 99.47 0. 0. - 6 38 22 -7.1973 43.1313 -33.2300 90. 9.47 90. 99.47 0. 0. - 6 38 23 -7.1875 43.0721 -37.1400 90. 9.47 90. 99.47 0. 0. - 6 38 24 -7.1973 43.1313 -41.0500 90. 9.47 90. 99.47 0. 0. - 6 38 25 -7.1875 43.0721 -44.9600 90. 9.47 90. 99.47 0. 0. - 6 38 26 -7.1973 43.1313 -48.8700 90. 9.47 90. 99.47 0. 0. diff --git a/Euclid/ITSgeometry_5symm.euc b/Euclid/ITSgeometry_5symm.euc deleted file mode 100644 index 7737302b8c9..00000000000 --- a/Euclid/ITSgeometry_5symm.euc +++ /dev/null @@ -1,2076 +0,0 @@ -! -! Tracking Medium -! -TMED 1 'SI ' 1 'SI ' -TMED 2 'SPD SI CHIP ' 2 'SPD SI CHIP ' -TMED 3 'SPD SI BUS ' 3 'SPD SI BUS ' -TMED 4 'C (M55J) ' 4 'C (M55J) ' -TMED 5 'AIR ' 5 'AIR ' -TMED 6 'GEN AIR ' 6 'GEN AIR ' -TMED 7 'SDD SI CHIP ' 7 'SDD SI CHIP ' -TMED 9 'SDD C (M55J) ' 9 'SDD C (M55J) ' -TMED 10 'SDD AIR ' 10 'SDD AIR ' -TMED 11 'AL ' 11 'AL ' -TMED 12 'WATER ' 12 'WATER ' -TMED 14 'COPPER ' 14 'COPPER ' -TMED 15 'CERAMICS ' 15 'CERAMICS ' -TMED 20 'SSD C (M55J) ' 20 'SSD C (M55J) ' -TMED 21 'SSD AIR ' 21 'SSD AIR ' -TMED 25 'G10FR4 ' 25 'G10FR4 ' -TMED 52 'SPD SI CHIP ' 52 'SPD SI CHIP ' -TMED 54 'SPD C (M55J) ' 54 'SPD C (M55J) ' -TMED 55 'SPD AIR ' 55 'SPD AIR ' -TMED 56 'SPD KAPTON (POLYCH2)' 56 'SPD KAPTON (POLYCH2)' -TMED 61 'EPOXY ' 61 'EPOXY ' -TMED 62 'SILICON ' 62 'SILICON ' -TMED 63 'KAPTON-H (POLYCH2 ' 63 'KAPTON-H (POLYCH2 ' -TMED 64 'ALUMINUM ' 64 'ALUMINUM ' -TMED 65 'INOX ' 65 'INOX ' -TMED 68 'ROHACELL (Z,A ?) ' 68 'ROHACELL (Z,A ?) ' -TMED 69 'SDD C AL (M55J) ' 69 'SDD C AL (M55J) ' -TMED 70 'SDD KAPTON (POLYCH2)' 70 'SDD KAPTON (POLYCH2)' -TMED 71 'ITS SANDW A (Z,A ?) ' 71 'ITS SANDW A (Z,A ?) ' -TMED 72 'ITS SANDW B (Z,A ?) ' 72 'ITS SANDW B (Z,A ?) ' -TMED 73 'ITS SANDW C (Z,A ?) ' 73 'ITS SANDW C (Z,A ?) ' -TMED 74 'HEAT COND GLUE (Z,A)' 74 'HEAT COND GLUE (Z,A)' -TMED 75 'ELASTO SIL ' 75 'ELASTO SIL ' -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 'SPD BUS(AL+KPT+EPOX)' -! -! Reperes ITS12 -! -ROTM 104 90.0 252.0 90.0 342.0 0.0 0.0 -ROTM 66 90.0 57.26 90.0 147.26 0.0 0.0 -ROTM 62 90.0 325.0 90.0 55.0 0.0 0.0 -ROTM 63 90.0 310.0 90.0 40.0 0.0 0.0 -ROTM 32 90.0 40.0 90.0 130.0 0.0 0.0 -ROTM 64 90.0 107.63 90.0 197.63 0.0 0.0 -ROTM 70 90.0 229.63 90.0 319.63 0.0 0.0 -ROTM 74 90.0 319.0 90.0 49.0 0.0 0.0 -ROTM 75 90.0 49.0 90.0 139.0 0.0 0.0 -ROTM 77 90.0 116.63 90.0 206.63 0.0 0.0 -ROTM 79 90.0 238.63 90.0 328.63 0.0 0.0 -ROTM 80 90.0 328.0 90.0 58.0 0.0 0.0 -ROTM 41 90.0 58.0 90.0 148.0 0.0 0.0 -ROTM 81 90.0 247.63 90.0 337.63 0.0 0.0 -ROTM 82 90.0 125.63 90.0 215.63 0.0 0.0 -ROTM 83 90.0 337.0 90.0 67.0 0.0 0.0 -ROTM 43 90.0 66.91 90.0 156.91 0.0 0.0 -ROTM 84 90.0 318.3 90.0 48.3 0.0 0.0 -ROTM 1 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 85 90.0 275.41 90.0 5.41 0.0 0.0 -ROTM 86 90.0 186.0 90.0 276.0 0.0 0.0 -ROTM 87 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 39 90.0 72.0 90.0 162.0 0.0 0.0 -ROTM 11 90.0 342.0 90.0 72.0 0.0 0.0 -ROTM 3 90.0 73.5 90.0 163.5 0.0 0.0 -ROTM 88 90.0 57.41 90.0 147.41 0.0 0.0 -ROTM 89 90.0 333.0 90.0 63.0 0.0 0.0 -ROTM 90 90.0 351.0 90.0 81.0 0.0 0.0 -ROTM 92 90.0 27.0 90.0 117.0 0.0 0.0 -ROTM 93 90.0 18.0 90.0 108.0 0.0 0.0 -ROTM 94 90.0 9.0 90.0 99.0 0.0 0.0 -ROTM 95 90.0 327.0 90.0 57.0 0.0 0.0 -ROTM 67 90.0 130.01 90.0 220.01 0.0 0.0 -ROTM 96 90.0 40.63 90.0 130.63 0.0 0.0 -ROTM 68 90.0 287.63 90.0 17.63 0.0 0.0 -ROTM 97 90.0 228.4 90.0 318.4 0.0 0.0 -ROTM 69 90.0 139.0 90.0 229.0 0.0 0.0 -ROTM 98 90.0 49.63 90.0 139.63 0.0 0.0 -ROTM 99 90.0 296.63 90.0 26.63 0.0 0.0 -ROTM 100 90.0 237.4 90.0 327.4 0.0 0.0 -ROTM 71 90.0 147.99 90.0 237.99 0.0 0.0 -ROTM 101 90.0 58.63 90.0 148.63 0.0 0.0 -ROTM 72 90.0 305.63 90.0 35.63 0.0 0.0 -ROTM 102 90.0 246.4 90.0 336.4 0.0 0.0 -ROTM 73 90.0 157.0 90.0 247.0 0.0 0.0 -ROTM 103 90.0 67.3 90.0 157.3 0.0 0.0 -ROTM 105 90.0 5.41 90.0 95.41 0.0 0.0 -ROTM 78 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 76 90.0 162.0 90.0 252.0 0.0 0.0 -ROTM 2 90.0 37.5 90.0 127.5 0.0 0.0 -ROTM 4 90.0 109.5 90.0 199.5 0.0 0.0 -ROTM 5 90.0 181.5 90.0 271.5 0.0 0.0 -ROTM 6 90.0 217.5 90.0 307.5 0.0 0.0 -ROTM 7 90.0 253.5 90.0 343.5 0.0 0.0 -ROTM 8 90.0 289.5 90.0 19.5 0.0 0.0 -ROTM 9 90.0 325.5 90.0 55.5 0.0 0.0 -ROTM 10 90.0 1.5 90.0 91.5 0.0 0.0 -ROTM 12 90.0 277.0 90.0 7.0 0.0 0.0 -ROTM 13 90.0 97.0 90.0 187.0 0.0 0.0 -ROTM 14 90.0 1.5 90.0 91.5 180.0 0.0 -ROTM 15 90.0 37.5 90.0 127.5 180.0 0.0 -ROTM 16 90.0 73.5 90.0 163.5 180.0 0.0 -ROTM 17 90.0 109.5 90.0 199.5 180.0 0.0 -ROTM 18 90.0 145.5 90.0 235.5 180.0 0.0 -ROTM 19 90.0 181.5 90.0 271.5 180.0 0.0 -ROTM 20 90.0 217.5 90.0 307.5 180.0 0.0 -ROTM 21 90.0 253.5 90.0 343.5 180.0 0.0 -ROTM 22 90.0 289.5 90.0 19.5 180.0 0.0 -ROTM 23 90.0 325.5 90.0 55.5 180.0 0.0 -ROTM 24 90.0 186.99 90.0 276.99 0.0 0.0 -ROTM 25 90.0 199.5 90.0 289.5 0.0 0.0 -ROTM 26 90.0 208.5 90.0 298.5 0.0 0.0 -ROTM 27 90.0 298.5 90.0 28.5 0.0 0.0 -ROTM 28 90.0 307.5 90.0 37.5 0.0 0.0 -ROTM 29 90.0 226.5 90.0 316.5 0.0 0.0 -ROTM 30 90.0 316.5 90.0 46.5 0.0 0.0 -ROTM 31 90.0 235.5 90.0 325.5 0.0 0.0 -ROTM 33 90.0 244.49 90.0 334.49 0.0 0.0 -ROTM 34 90.0 334.5 90.0 64.5 0.0 0.0 -ROTM 35 90.0 343.5 90.0 73.5 0.0 0.0 -ROTM 36 90.0 262.49 90.0 352.49 0.0 0.0 -ROTM 37 90.0 352.5 90.0 82.5 0.0 0.0 -ROTM 38 90.0 271.49 90.0 1.49 0.0 0.0 -ROTM 40 90.0 280.5 90.0 10.5 0.0 0.0 -ROTM 42 90.0 10.5 90.0 100.5 0.0 0.0 -ROTM 44 90.0 19.5 90.0 109.5 0.0 0.0 -ROTM 45 90.0 28.5 90.0 118.5 0.0 0.0 -ROTM 46 90.0 46.5 90.0 136.5 0.0 0.0 -ROTM 47 90.0 55.5 90.0 145.5 0.0 0.0 -ROTM 48 90.0 64.5 90.0 154.5 0.0 0.0 -ROTM 49 90.0 82.5 90.0 172.5 0.0 0.0 -ROTM 50 90.0 91.47 90.0 181.47 0.0 0.0 -ROTM 51 90.0 6.99 90.0 96.99 0.0 0.0 -ROTM 52 90.0 118.5 90.0 208.5 0.0 0.0 -ROTM 53 90.0 127.5 90.0 217.5 0.0 0.0 -ROTM 54 90.0 136.5 90.0 226.5 0.0 0.0 -ROTM 55 90.0 145.5 90.0 235.5 0.0 0.0 -ROTM 56 90.0 154.5 90.0 244.5 0.0 0.0 -ROTM 57 90.0 163.5 90.0 253.5 0.0 0.0 -ROTM 58 90.0 172.5 90.0 262.5 0.0 0.0 -ROTM 59 90.0 100.5 90.0 190.5 0.0 0.0 -ROTM 60 90.0 190.5 90.0 280.5 0.0 0.0 -ROTM 61 90.0 184.99 90.0 274.99 0.0 0.0 -ROTM 130 90.0 324.0 90.0 54.0 0.0 0.0 -ROTM 117 90.0 288.0 90.0 18.0 0.0 0.0 -ROTM 106 90.0 36.0 90.0 126.0 0.0 0.0 -ROTM 107 90.0 108.0 90.0 198.0 0.0 0.0 -ROTM 65 90.0 144.0 90.0 234.0 0.0 0.0 -ROTM 91 90.0 216.0 90.0 306.0 0.0 0.0 -ROTM 108 90.0 324.0 90.0 54.0 180.0 0.0 -ROTM 109 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 110 90.0 36.0 90.0 126.0 180.0 0.0 -ROTM 111 90.0 72.0 90.0 162.0 180.0 0.0 -ROTM 112 90.0 108.0 90.0 198.0 180.0 0.0 -ROTM 113 90.0 144.0 90.0 234.0 180.0 0.0 -ROTM 114 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 115 90.0 216.0 90.0 306.0 180.0 0.0 -ROTM 116 90.0 252.0 90.0 342.0 180.0 0.0 -ROTM 118 90.0 288.0 90.0 18.0 180.0 0.0 -ROTM 119 90.0 360.0 90.0 90.0 0.0 0.0 -! -! Reperes Services -! -ROTM 212 90 0 90 90 180 0 -! -! Reperes ITS34 -! -ROTM 312 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 337 111.0 300.0 21.0 300.0 90.0 30.0 -ROTM 338 69.0 240.0 159.0 240.0 90.0 150.0 -ROTM 339 111.0 240.0 21.0 240.0 90.0 150.0 -ROTM 340 69.0 300.0 159.0 300.0 90.0 30.0 -ROTM 341 128.0 0.0 38.0 0.0 90.0 270.0 -ROTM 342 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 343 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 344 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 345 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 346 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 347 90.0 240.0 90.0 150.0 0.0 0.0 -ROTM 348 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 349 90.0 235.0 90.0 145.0 0.0 0.0 -ROTM 351 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 352 0.0 0.0 90.0 0.0 90.0 90.0 -ROTM 353 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 354 90.0 120.0 90.0 30.0 0.0 0.0 -ROTM 355 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 301 0.0 0.0 90.0 90.0 90.0 180.0 -ROTM 302 0.0 0.0 90.0 90.0 90.0 0.0 -ROTM 303 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 304 180.0 0.0 90.0 90.0 90.0 180.0 -ROTM 321 90.0 12.86 90.0 102.86 0.0 0.0 -ROTM 305 90.0 347.14 90.0 77.14 0.0 0.0 -ROTM 306 90.0 321.43 90.0 51.43 0.0 0.0 -ROTM 307 90.0 295.71 90.0 25.71 0.0 0.0 -ROTM 356 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 308 90.0 244.29 90.0 334.29 0.0 0.0 -ROTM 309 90.0 218.57 90.0 308.57 0.0 0.0 -ROTM 386 90.0 192.86 90.0 282.86 0.0 0.0 -ROTM 310 90.0 167.14 90.0 257.14 0.0 0.0 -ROTM 311 90.0 141.43 90.0 231.43 0.0 0.0 -ROTM 313 90.0 115.71 90.0 205.71 0.0 0.0 -ROTM 350 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 314 90.0 335.45 90.0 65.45 0.0 0.0 -ROTM 315 90.0 319.09 90.0 49.09 0.0 0.0 -ROTM 316 90.0 302.73 90.0 32.73 0.0 0.0 -ROTM 317 90.0 286.36 90.0 16.36 0.0 0.0 -ROTM 319 90.0 253.64 90.0 343.64 0.0 0.0 -ROTM 320 90.0 237.27 90.0 327.27 0.0 0.0 -ROTM 322 90.0 220.91 90.0 310.91 0.0 0.0 -ROTM 323 90.0 204.55 90.0 294.55 0.0 0.0 -ROTM 324 90.0 188.18 90.0 278.18 0.0 0.0 -ROTM 325 90.0 171.82 90.0 261.82 0.0 0.0 -ROTM 326 90.0 155.45 90.0 245.45 0.0 0.0 -ROTM 327 90.0 139.09 90.0 229.09 0.0 0.0 -ROTM 328 90.0 122.73 90.0 212.73 0.0 0.0 -ROTM 329 90.0 106.36 90.0 196.36 0.0 0.0 -ROTM 330 90.0 73.64 90.0 163.64 0.0 0.0 -ROTM 366 90.0 57.27 90.0 147.27 0.0 0.0 -ROTM 331 90.0 40.91 90.0 130.91 0.0 0.0 -ROTM 332 90.0 24.55 90.0 114.55 0.0 0.0 -ROTM 333 90.0 38.57 90.0 128.57 0.0 0.0 -ROTM 334 90.0 351.82 90.0 81.82 0.0 0.0 -ROTM 335 90.0 8.18 90.0 98.18 0.0 0.0 -ROTM 336 90.0 64.29 90.0 154.29 0.0 0.0 -ROTM 318 90.0 270.0 90.0 360.0 0.0 0.0 -! -! Reperes ITS56 -! -ROTM 501 90.0 190.59 90.0 280.59 0.0 0.0 -ROTM 502 90.0 201.18 90.0 291.18 0.0 0.0 -ROTM 503 90.0 211.76 90.0 301.76 0.0 0.0 -ROTM 504 90.0 222.35 90.0 312.35 0.0 0.0 -ROTM 505 90.0 232.94 90.0 322.94 0.0 0.0 -ROTM 506 90.0 243.53 90.0 333.53 0.0 0.0 -ROTM 507 90.0 254.12 90.0 344.12 0.0 0.0 -ROTM 508 90.0 264.71 90.0 354.71 0.0 0.0 -ROTM 509 90.0 275.29 90.0 5.29 0.0 0.0 -ROTM 510 90.0 285.88 90.0 15.88 0.0 0.0 -ROTM 511 90.0 296.47 90.0 26.47 0.0 0.0 -ROTM 512 90.0 307.06 90.0 37.06 0.0 0.0 -ROTM 513 90.0 317.65 90.0 47.65 0.0 0.0 -ROTM 514 90.0 328.24 90.0 58.24 0.0 0.0 -ROTM 515 90.0 338.82 90.0 68.82 0.0 0.0 -ROTM 516 90.0 349.41 90.0 79.41 0.0 0.0 -ROTM 517 90.0 10.59 90.0 100.59 0.0 0.0 -ROTM 518 90.0 21.18 90.0 111.18 0.0 0.0 -ROTM 519 90.0 31.76 90.0 121.76 0.0 0.0 -ROTM 520 90.0 42.35 90.0 132.35 0.0 0.0 -ROTM 521 90.0 52.94 90.0 142.94 0.0 0.0 -ROTM 522 90.0 63.53 90.0 153.53 0.0 0.0 -ROTM 523 90.0 74.12 90.0 164.12 0.0 0.0 -ROTM 524 90.0 84.71 90.0 174.71 0.0 0.0 -ROTM 525 90.0 95.29 90.0 185.29 0.0 0.0 -ROTM 526 90.0 105.88 90.0 195.88 0.0 0.0 -ROTM 527 90.0 116.47 90.0 206.47 0.0 0.0 -ROTM 528 90.0 127.06 90.0 217.06 0.0 0.0 -ROTM 529 90.0 137.65 90.0 227.65 0.0 0.0 -ROTM 530 90.0 148.24 90.0 238.24 0.0 0.0 -ROTM 531 90.0 158.82 90.0 248.82 0.0 0.0 -ROTM 532 90.0 169.41 90.0 259.41 0.0 0.0 -ROTM 533 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 534 90.0 189.47 90.0 279.47 0.0 0.0 -ROTM 535 90.0 198.95 90.0 288.95 0.0 0.0 -ROTM 536 90.0 208.42 90.0 298.42 0.0 0.0 -ROTM 537 90.0 217.89 90.0 307.89 0.0 0.0 -ROTM 538 90.0 227.37 90.0 317.37 0.0 0.0 -ROTM 539 90.0 236.84 90.0 326.84 0.0 0.0 -ROTM 540 90.0 246.32 90.0 336.32 0.0 0.0 -ROTM 541 90.0 255.79 90.0 345.79 0.0 0.0 -ROTM 542 90.0 265.26 90.0 355.26 0.0 0.0 -ROTM 543 90.0 274.74 90.0 4.74 0.0 0.0 -ROTM 544 90.0 284.21 90.0 14.21 0.0 0.0 -ROTM 545 90.0 293.68 90.0 23.68 0.0 0.0 -ROTM 546 90.0 303.16 90.0 33.16 0.0 0.0 -ROTM 547 90.0 312.63 90.0 42.63 0.0 0.0 -ROTM 548 90.0 322.11 90.0 52.11 0.0 0.0 -ROTM 549 90.0 331.58 90.0 61.58 0.0 0.0 -ROTM 550 90.0 341.05 90.0 71.05 0.0 0.0 -ROTM 551 90.0 350.53 90.0 80.53 0.0 0.0 -ROTM 552 90.0 9.47 90.0 99.47 0.0 0.0 -ROTM 553 90.0 18.95 90.0 108.95 0.0 0.0 -ROTM 554 90.0 28.42 90.0 118.42 0.0 0.0 -ROTM 555 90.0 37.89 90.0 127.89 0.0 0.0 -ROTM 556 90.0 47.37 90.0 137.37 0.0 0.0 -ROTM 557 90.0 56.84 90.0 146.84 0.0 0.0 -ROTM 558 90.0 66.32 90.0 156.32 0.0 0.0 -ROTM 559 90.0 75.79 90.0 165.79 0.0 0.0 -ROTM 560 90.0 85.26 90.0 175.26 0.0 0.0 -ROTM 561 90.0 94.74 90.0 184.74 0.0 0.0 -ROTM 562 90.0 104.21 90.0 194.21 0.0 0.0 -ROTM 563 90.0 113.68 90.0 203.68 0.0 0.0 -ROTM 564 90.0 123.16 90.0 213.16 0.0 0.0 -ROTM 565 90.0 132.63 90.0 222.63 0.0 0.0 -ROTM 566 90.0 142.11 90.0 232.11 0.0 0.0 -ROTM 567 90.0 151.58 90.0 241.58 0.0 0.0 -ROTM 568 90.0 161.05 90.0 251.05 0.0 0.0 -ROTM 569 90.0 170.53 90.0 260.53 0.0 0.0 -ROTM 570 90.0 180.0 90.0 90.0 180.0 0.0 -ROTM 571 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 572 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 573 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 583 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 575 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 576 65.71 300.0 90.0 30.0 24.29 120.0 -ROTM 577 114.29 300.0 90.0 30.0 155.71 120.0 -ROTM 579 65.71 240.0 90.0 150.0 24.29 60.0 -ROTM 580 114.29 240.0 90.0 150.0 155.71 60.0 -ROTM 581 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 586 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 584 90.0 180.0 180.0 0.0 90.0 90.0 -ROTM 574 90.0 360.0 90.0 90.0 0.0 0.0 -ROTM 578 132.46 0.0 90.0 90.0 42.46 360.0 -! -! Reperes support SSD -! -ROTM 701 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 702 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 703 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 704 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 705 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 706 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 707 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 708 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 709 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 710 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 711 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 712 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 713 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 714 90.0 328.4 90.0 58.4 180.0 0.0 -ROTM 715 90.0 28.4 90.0 118.4 180.0 0.0 -ROTM 716 90.0 88.4 90.0 178.4 180.0 0.0 -ROTM 717 90.0 148.4 90.0 238.4 180.0 0.0 -ROTM 718 90.0 208.4 90.0 298.4 180.0 0.0 -ROTM 719 90.0 268.4 90.0 358.4 180.0 0.0 -ROTM 720 90.0 28.4 90.0 118.4 0.0 0.0 -ROTM 721 90.0 88.4 90.0 178.4 0.0 0.0 -ROTM 722 90.0 148.4 90.0 238.4 0.0 0.0 -ROTM 723 90.0 208.4 90.0 298.4 0.0 0.0 -ROTM 724 90.0 268.4 90.0 358.4 0.0 0.0 -ROTM 725 90.0 328.4 90.0 58.4 0.0 0.0 -ROTM 726 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 727 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 728 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 729 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 733 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 730 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 731 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 768 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 732 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 734 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 798 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 735 90.0 47.5 90.0 137.5 0.0 0.0 -! -! Reperes support SDD -! -ROTM 846 90.0 300.0 90.0 30.0 0.0 0.0 -ROTM 851 90.0 305.0 90.0 35.0 0.0 0.0 -ROTM 853 90.0 60.0 90.0 150.0 0.0 0.0 -ROTM 856 90.0 0.0 90.0 90.0 180.0 0.0 -ROTM 857 90.0 5.0 90.0 95.0 180.0 0.0 -ROTM 858 90.0 65.0 90.0 155.0 180.0 0.0 -ROTM 859 90.0 305.0 90.0 35.0 180.0 0.0 -ROTM 860 90.0 245.0 90.0 335.0 180.0 0.0 -ROTM 861 90.0 185.0 90.0 275.0 180.0 0.0 -ROTM 862 90.0 125.0 90.0 215.0 180.0 0.0 -ROTM 863 90.0 257.5 90.0 347.5 180.0 0.0 -ROTM 864 90.0 227.5 90.0 317.5 180.0 0.0 -ROTM 865 90.0 197.5 90.0 287.5 180.0 0.0 -ROTM 867 90.0 167.5 90.0 257.5 180.0 0.0 -ROTM 869 90.0 137.5 90.0 227.5 180.0 0.0 -ROTM 870 90.0 107.5 90.0 197.5 180.0 0.0 -ROTM 871 90.0 77.5 90.0 167.5 180.0 0.0 -ROTM 872 90.0 47.5 90.0 137.5 180.0 0.0 -ROTM 873 90.0 17.5 90.0 107.5 180.0 0.0 -ROTM 874 90.0 347.5 90.0 77.5 180.0 0.0 -ROTM 875 90.0 317.5 90.0 47.5 180.0 0.0 -ROTM 876 90.0 287.5 90.0 17.5 180.0 0.0 -ROTM 877 90.0 185.0 90.0 275.0 0.0 0.0 -ROTM 879 90.0 125.0 90.0 215.0 0.0 0.0 -ROTM 880 90.0 65.0 90.0 155.0 0.0 0.0 -ROTM 881 90.0 5.0 90.0 95.0 0.0 0.0 -ROTM 882 90.0 245.0 90.0 335.0 0.0 0.0 -ROTM 898 90.0 17.5 90.0 107.5 0.0 0.0 -ROTM 883 90.0 47.5 90.0 137.5 0.0 0.0 -ROTM 884 90.0 77.5 90.0 167.5 0.0 0.0 -ROTM 885 90.0 107.5 90.0 197.5 0.0 0.0 -ROTM 887 90.0 137.5 90.0 227.5 0.0 0.0 -ROTM 888 90.0 167.5 90.0 257.5 0.0 0.0 -ROTM 889 90.0 197.5 90.0 287.5 0.0 0.0 -ROTM 890 90.0 227.5 90.0 317.5 0.0 0.0 -ROTM 891 90.0 347.5 90.0 77.5 0.0 0.0 -ROTM 892 90.0 317.5 90.0 47.5 0.0 0.0 -ROTM 868 90.0 287.5 90.0 17.5 0.0 0.0 -ROTM 893 90.0 257.5 90.0 347.5 0.0 0.0 -ROTM 894 90.0 270.0 0.0 0.0 90.0 180.0 -ROTM 895 90.0 286.36 0.0 0.0 90.0 196.36 -ROTM 896 90.0 302.73 0.0 0.0 90.0 212.73 -ROTM 897 90.0 319.09 0.0 0.0 90.0 229.09 -ROTM 899 90.0 335.45 0.0 0.0 90.0 245.45 -ROTM 900 90.0 351.82 0.0 0.0 90.0 261.82 -ROTM 901 90.0 8.18 0.0 0.0 90.0 278.18 -ROTM 902 90.0 24.55 0.0 0.0 90.0 294.55 -ROTM 903 90.0 40.91 0.0 0.0 90.0 310.91 -ROTM 904 90.0 57.27 0.0 0.0 90.0 327.27 -ROTM 905 90.0 73.64 0.0 0.0 90.0 343.64 -ROTM 906 90.0 90.0 0.0 0.0 90.0 360.0 -ROTM 907 90.0 106.36 0.0 0.0 90.0 16.36 -ROTM 908 90.0 122.73 0.0 0.0 90.0 32.73 -ROTM 909 90.0 139.09 0.0 0.0 90.0 49.09 -ROTM 910 90.0 155.45 0.0 0.0 90.0 65.45 -ROTM 911 90.0 171.82 0.0 0.0 90.0 81.82 -ROTM 912 90.0 188.18 0.0 0.0 90.0 98.18 -ROTM 913 90.0 204.55 0.0 0.0 90.0 114.55 -ROTM 914 90.0 220.91 0.0 0.0 90.0 130.91 -ROTM 915 90.0 237.27 0.0 0.0 90.0 147.27 -ROTM 916 90.0 253.64 0.0 0.0 90.0 163.64 -ROTM 917 90.0 295.71 0.0 0.0 90.0 205.71 -ROTM 918 90.0 321.43 0.0 0.0 90.0 231.43 -ROTM 919 90.0 347.14 0.0 0.0 90.0 257.14 -ROTM 920 90.0 12.86 0.0 0.0 90.0 282.86 -ROTM 921 90.0 38.57 0.0 0.0 90.0 308.57 -ROTM 922 90.0 64.29 0.0 0.0 90.0 334.29 -ROTM 923 90.0 115.71 0.0 0.0 90.0 25.71 -ROTM 924 90.0 141.43 0.0 0.0 90.0 51.43 -ROTM 925 90.0 167.14 0.0 0.0 90.0 77.14 -ROTM 926 90.0 192.86 0.0 0.0 90.0 102.86 -ROTM 927 90.0 218.57 0.0 0.0 90.0 128.57 -ROTM 928 90.0 244.29 0.0 0.0 90.0 154.29 -ROTM 929 90.0 120.0 90.0 210.0 0.0 0.0 -ROTM 878 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 930 90.0 240.0 90.0 330.0 0.0 0.0 -ROTM 931 90.0 60.0 90.0 150.0 180.0 0.0 -ROTM 932 90.0 120.0 90.0 210.0 180.0 0.0 -ROTM 933 90.0 180.0 90.0 270.0 180.0 0.0 -ROTM 934 90.0 240.0 90.0 330.0 180.0 0.0 -ROTM 935 90.0 300.0 90.0 30.0 180.0 0.0 -! -! REPERES GENERAUX -! -! -! VOLUMES GENERAUX -! -VOLU 'ITSV' 'PCON' 5 39 - 0. 360. 12. -289.1 62.4 85. -284. 62. 85. -284. - 62. 66. -100.7 46. 56.1 -77.2 46. 56.1 -40. - 3.295 56.1 40. 3.295 56.1 77.2 46. 56.1 100.7 - 46. 56.1 284. 62. 66. 284. 62. 85. 288.1 62.4 85. -VOLU 'ITSD' 'PCON' 5 15 - 0. 360. 4. -77.2 46. 52. -40. 3.3 52. 40. - 3.3 52. 77.2 46. 52. -! -! VOLUMES ITS12 ! -VOLU 'IT12' 'PCON' 55 21 - 0 360 6 -31 3.7 9.13 -23 3.7 9.13 -23 3.7 9 23 3.7 9 23 3.7 9.13 31 3.7 - 9.13 -VOLU 'I150' 'TUBS' 55 5 - 3.7 7.6 4 58 100 -VOLU 'I132' 'TUBS' 55 5 - 3.7 7.6 23 58 100 -VOLU 'I139' 'TUBS' 54 5 - 0.05 0.11 2.5 0 75 -VOLU 'I141' 'BOX ' 54 3 - 0.5359 0.03 2.5 -VOLU 'I142' 'TUBS' 54 5 - 0.05 0.11 2.5 0 157 -VOLU 'I143' 'BOX ' 54 3 - 0.2497 0.03 2.5 -VOLU 'I144' 'TUBS' 54 5 - 0.01 0.07 2.5 0 148 -VOLU 'I145' 'BOX ' 54 3 - 0.705 0.03 2.5 -VOLU 'I146' 'TUBS' 54 5 - 0.05 0.11 2.5 0 161 -VOLU 'I147' 'BOX ' 54 3 - 0.2433 0.03 2.5 -VOLU 'I149' 'BOX ' 54 3 - 1.4966 0.03 2.5 -VOLU 'I148' 'TUBS' 54 5 - 0.01 0.07 2.5 0 43 -VOLU 'I133' 'TUBS' 54 5 - 0.05 0.11 2.5 0 84 -VOLU 'I134' 'BOX ' 54 3 - 0.3041 0.03 2.5 -VOLU 'I135' 'TUBS' 54 5 - 0.05 0.11 2.5 0 90 -VOLU 'I136' 'BOX ' 54 3 - 0.03 0.0695 2.5 -VOLU 'I137' 'TUBS' 54 5 - 0.01 0.07 2.5 0 108 -VOLU 'I138' 'BOX ' 54 3 - 0.6229 0.03 2.5 -VOLU 'I140' 'BOX ' 54 3 - 1.3438 0.03 2.5 -VOLU 'I166' 'TUBS' 64 5 - 6.6 7.6 0.5 0 9 -VOLU 'I167' 'TUBS' 64 5 - 3.5 5.6 0.55 0 38 -VOLU 'I179' 'BOX ' 56 3 - 0.64 0.01 4 -VOLU 'I169' 'TUBE' 65 3 - 0 0.075 0.8 -VOLU 'I171' 'TUBE' 75 3 - 0 0.18 3 -VOLU 'I173' 'TUBE' 75 3 - 0 0.18 0.8 -VOLU 'I176' 'TUBE' 75 3 - 0 0.5 1.5 -VOLU 'I125' 'BOX ' 61 3 - 0.15 0.005 23 -VOLU 'I122' 'BOX ' 65 3 - 0.09 0.0335 23 -VOLU 'I124' 'BOX ' 74 3 - 0.15 0.0075 23 -VOLU 'I120' 'BOX ' 54 3 - 1.497 0.01 23 -VOLU 'I100' 'TUBS' 54 5 - 0.05 0.07 23 0 84 -VOLU 'I101' 'BOX ' 54 3 - 0.0676 0.01 23 -VOLU 'I102' 'BOX ' 54 3 - 0.01 0.0575 23 -VOLU 'I103' 'BOX ' 54 3 - 0.15 0.01 23 -VOLU 'I104' 'TUBS' 54 5 - 0.05 0.07 23 0 90 -VOLU 'I105' 'BOX ' 54 3 - 0.01 0.0695 23 -VOLU 'I106' 'TUBS' 54 5 - 0.05 0.07 23 0 108 -VOLU 'I107' 'BOX ' 54 3 - 0.25 0.01 23 -VOLU 'I108' 'BOX ' 54 3 - 0.202 0.01 23 -VOLU 'I109' 'TUBS' 54 5 - 0.05 0.07 23 0 75 -VOLU 'I110' 'BOX ' 54 3 - 1.3435 0.01 23 -VOLU 'I111' 'BOX ' 54 3 - 0.079 0.01 23 -VOLU 'I112' 'BOX ' 54 3 - 0.2855 0.01 23 -VOLU 'I116' 'TUBS' 54 5 - 0.05 0.07 23 0 157 -VOLU 'I115' 'BOX ' 54 3 - 0.2505 0.01 23 -VOLU 'I114' 'TUBS' 54 5 - 0.05 0.07 23 0 148 -VOLU 'I113' 'BOX ' 54 3 - 0.249 0.01 23 -VOLU 'I117' 'TUBS' 54 5 - 0.05 0.07 23 0 161 -VOLU 'I118' 'BOX ' 54 3 - 0.243 0.01 23 -VOLU 'I119' 'TUBS' 54 5 - 0.05 0.07 23 0 42 -VOLU 'I186' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I131' 'BOX ' 55 3 - 0.79 0.028 23 -VOLU 'I168' 'TUBS' 12 5 - 3.7 5.4 0.35 2 36 -VOLU 'I170' 'TUBE' 12 3 - 0 0.0746 0.8 -VOLU 'I172' 'TUBE' 12 3 - 0 0.1 3 -VOLU 'I174' 'TUBE' 12 3 - 0 0.1 0.8 -VOLU 'I175' 'TUBE' 64 3 - 0.07 0.125 0.3 -VOLU 'I177' 'TUBE' 12 3 - 0 0.3 1.5 -VOLU 'I178' 'TUBE' 64 3 - 0.26 0.32 0.55 -VOLU 'I123' 'BOX ' 12 3 - 0.0865 0.03 23 -VOLU 'I183' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I185' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I184' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I182' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS1' 'BOX ' 1 3 - 0.64 0.0075 4.19 -VOLU 'I130' 'BOX ' 52 3 - 0.64 0.015 2.5 -VOLU 'I129' 'BOX ' 56 3 - 0.64 0.01 3.045 -VOLU 'I128' 'BOX ' 76 3 - 0.79 0.0155 16.91 -VOLU 'I127' 'BOX ' 52 3 - 0.64 0.005 4.19 -VOLU 'ITS2' 'BOX ' 1 3 - 0.64 0.0075 4.19 -! -! VOLUMES ITS34 -! -VOLU 'IT34' 'PCON' 10 21 - 0 360 6 -34.65 23.495 28.5 -23.7 23.495 28.5 -23.7 14.595 28.5 23.7 14.595 - 28.5 23.7 23.495 28.5 34.65 23.495 28.5 -VOLU 'I048' 'BOX ' 10 3 - 3.2 2 34.65 -VOLU 'I005' 'BOX ' 10 3 - 3.63 0.135 30.385 -VOLU 'I047' 'BOX ' 10 3 - 3.2 2 23.7 -VOLU 'I004' 'BOX ' 10 3 - 3.63 0.135 23.05 -VOLU 'I024' 'BOX ' 10 3 - 3.2 2 2.725 -VOLU 'I018' 'BOX ' 10 3 - 3.2 2 3.65 -VOLU 'I302' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I402' 'BOX ' 7 3 - 3.625 0.015 4.382 -VOLU 'I025' 'TRD1' 9 4 - 0.2 0.1815 2.725 0.015 -VOLU 'I026' 'TRD1' 9 4 - 0.183 0.165 2.725 0.015 -VOLU 'I021' 'TRD1' 9 4 - 2.23 2.1 0.05 0.03 -VOLU 'I023' 'TRD1' 9 4 - 2.615 2.465 0.06 0.04 -VOLU 'I022' 'TRD1' 9 4 - 2.1 2 0.06 0.04 -VOLU 'I028' 'BOX ' 64 3 - 2.15 0.2 0.85 -VOLU 'I029' 'BOX ' 64 3 - 1.25 0.6 0.075 -VOLU 'I030' 'TRD1' 64 4 - 1.25 0.1 0.075 1 -VOLU 'I027' 'TRAP' 64 11 - 1.6 7 0 0.075 0.775 0.775 0 0.075 0.376 0.376 0 -VOLU 'I032' 'TUBE' 12 3 - 0 0.093 2.725 -VOLU 'I031' 'TUBE' 65 3 - 0.093 0.1 2.725 -VOLU 'I046' 'BOX ' 70 3 - 0.7 0.002 2.725 -VOLU 'I019' 'TRD1' 9 4 - 0.2 0.182 3.65 0.015 -VOLU 'I020' 'TRD1' 9 4 - 0.183 0.165 3.65 0.015 -VOLU 'I033' 'BOX ' 9 3 - 0.3 0.05 0.15 -VOLU 'I036' 'BOX ' 9 3 - 0.2 0.01 0.05 -VOLU 'I034' 'TUBE' 9 3 - 0 0.05 0.225 -VOLU 'I035' 'TUBE' 9 3 - 0.1 0.15 0.2 -VOLU 'I045' 'BOX ' 70 3 - 0.7 0.002 3.65 -VOLU 'I038' 'TUBE' 12 3 - 0 0.093 3.65 -VOLU 'I037' 'TUBE' 65 3 - 0.093 0.1 3.65 -VOLU 'I039' 'BOX ' 69 3 - 1 0.01 3.6 -VOLU 'I040' 'BOX ' 69 3 - 0.25 0.01 3.4 -VOLU 'I041' 'TUBS' 69 5 - 0.1 0.12 3.4 90 320 -VOLU 'I042' 'BOX ' 7 3 - 0.4 0.015 0.4 -VOLU 'I043' 'BOX ' 7 3 - 0.25 0.015 0.25 -VOLU 'I044' 'BOX ' 70 3 - 0.75 0.002 3.4 -VOLU 'I303' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'I403' 'TRAP' 10 11 - 1.8125 3.81 0 0.015 0.242 0.242 0 0.015 1E-03 1E-03 0 -VOLU 'ITS3' 'BOX ' 1 3 - 3.5 0.014 3.763 -VOLU 'ITS4' 'BOX ' 1 3 - 3.5 0.014 3.763 -! -! VOLUMES ITS56 -! -VOLU 'IT56' 'PCON' 21 36 - 0 360 11 -57.5 43.5 48 -51.365 43.5 48 -51.365 39 48 -45.4 39 48 -45.4 - 38.9 48 0 38.9 48 45.22 38.9 48 45.22 39 48 51.3651 39 48 51.3651 43.5 - 48 56.96 43.5 48 -VOLU 'I570' 'BOX ' 5 3 - 3.4 1.955 57.13 -VOLU 'I569' 'BOX ' 5 3 - 3.75 0.045 50.975 -VOLU 'I565' 'BOX ' 5 3 - 3.75 0.045 45.21 -VOLU 'I571' 'BOX ' 5 3 - 3.4 1.955 51.265 -VOLU 'I553' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I523' 'BOX ' 5 3 - 3.405 1.955 1.955 -VOLU 'I566' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I568' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I562' 'BOX ' 1 3 - 3.75 0.015 2.1 -VOLU 'I564' 'TUBE' 4 3 - 0 0.05 0.03 -VOLU 'I544' 'BOX ' 5 3 - 3.4 1.955 3.15 -VOLU 'I516' 'BOX ' 5 3 - 3.41 1.955 1.955 -VOLU 'I559' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I560' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I558' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I557' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I556' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I554' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I555' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I561' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I519' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I521' 'BOX ' 1 3 - 0.304 0.0275 0.432 -VOLU 'I520' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I518' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I522' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I542' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I541' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I543' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I537' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I538' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I536' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I535' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I534' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I540' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I539' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'ITS6' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'ITS5' 'BOX ' 1 3 - 3.65 0.015 2 -VOLU 'I550' 'TUBE' 12 3 - 0 0.07 3.15 -VOLU 'I551' 'TUBE' 11 3 - 0.07 0.1 3.15 -VOLU 'I549' 'TRD1' 4 4 - 0.225 0.195 3.15 0.025 -VOLU 'I548' 'TRD1' 4 4 - 0.25 0.22 3.15 0.025 -VOLU 'I547' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I545' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I546' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I552' 'BOX ' 4 3 - 0.3 0.15 0.15 -VOLU 'I515' 'BOX ' 1 3 - 0.304 0.0275 0.4322 -VOLU 'I513' 'BOX ' 15 3 - 0.025 0.025 0.05 -VOLU 'I514' 'BOX ' 15 3 - 0.16 0.08 0.08 -VOLU 'I512' 'BOX ' 4 3 - 3.4 0.015 0.525 -VOLU 'I528' 'TRD1' 4 4 - 0.225 0.195 1.955 0.025 -VOLU 'I527' 'TRD1' 4 4 - 0.25 0.22 1.955 0.025 -VOLU 'I526' 'BOX ' 4 3 - 2.17 0.035 0.05 -VOLU 'I525' 'BOX ' 4 3 - 2.675 0.035 0.05 -VOLU 'I524' 'BOX ' 4 3 - 2 0.035 0.05 -VOLU 'I529' 'TUBE' 4 3 - 0 0.05 0.205 -VOLU 'I530' 'TUBE' 4 3 - 0 0.05 0.17 -VOLU 'I517' 'TRD1' 4 4 - 0.15 0.105 0.29 0.08 -VOLU 'I531' 'TUBE' 12 3 - 0 0.07 1.955 -VOLU 'I532' 'TUBE' 11 3 - 0.07 0.1 1.955 -VOLU 'I533' 'BOX ' 4 3 - 0.3 0.15 0.15 -! -! VOLUMES SUPPORT SSD -! -! modifie y.andres 29/10/99 -! modifie r.barbera 23/04/01 -VOLU 'IS01' 'PCON' 5 39 - 0 360 12 -77.2 46.05 47 -61.2 28.5 47 -57.5 28.5 47 -57.5 28.5 43.5 -51.365 - 28.5 43.5 -51.365 28.5 38.9 51.3651 28.5 38.9 51.3651 28.5 43.5 56.96 28.5 - 43.5 56.96 28.5 47 60.66 28.5 47 76.66 46.05 47 -!VOLU 'IS01' 'PCON' 21 39 -! 0 360 12 -77.2 44.5 47 -60.7 28 47 -57.5 28 47 -57.5 28 43.58 -51.365 28 -! 43.58 -51.365 28 39.08 50.825 28 39.08 50.825 28 43.58 56.96 28 43.58 56.96 -! 28 47 60.16 28 47 76.66 44.5 47 -VOLU 'I212' 'PCON' 73 21 - 0 360 6 -75.2 44.5 47 -73.5 44.5 47 -72.7819 44.5 46.2819 -59.5 31.2181 - 33 -59.5 28 33 -57 28 30.5 -VOLU 'I210' 'TUBE' 73 3 - 29.82 30.5 56.3 -VOLU 'I211' 'TUBE' 20 3 - 28 29.82 0.5 -VOLU 'I217' 'TUBE' 25 3 - 37.35 38.25 1 -VOLU 'I218' 'TUBE' 65 3 - 38.25 39.08 1 -VOLU 'I219' 'TUBE' 25 3 - 41.85 42.75 1 -VOLU 'I220' 'TUBE' 65 3 - 42.75 43.58 1 -VOLU 'I214' 'TUBE' 25 3 - 42.1 42.5 1.25 -VOLU 'I213' 'TUBE' 25 3 - 37.1 37.5 1.25 -VOLU 'I215' 'PCON' 21 18 - 0 25 5 -75.2 44.5 44.5 -68.7 37 44.5 -68.5 37 44.5 -68.5 37 42.1 -63.5 - 37 42.1 -VOLU 'I216' 'PCON' 73 30 - 0 3.2 9 -16.45 30.5 33.5 -7.85 30.5 33.5 -7.85 30.5 41.85 -5.85 30.5 41.85 - -5.85 30.5 36.5 -5 30.5 36.5 -2 33.0173 36.5 -2 33.0173 37.35 0 34.6955 - 37.35 -! -! VOLUMES SUPPORT SDD -! -! modifie y.andres 29/10/99 -VOLU 'IS02' 'PCON' 5 39 - 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 23.495 -23.7 10 - 23.495 -23.7 10 14.595 23.7 10 14.595 23.7 10 23.495 34.65 10 23.495 34.65 - 10 28 42.6263 10 28 59.7 27.2637 28 -!VOLU 'IS02' 'PCON' 5 39 -! 0 360 12 -59.7 27 28 -42.7 10 28 -34.65 10 28 -34.65 10 24.2 -23.7 10 24.2 -! -23.7 10 14.595 23.7 10 14.595 23.7 10 24.2 34.65 10 24.2 34.65 10 28 42.7 -! 10 28 59.7 27 28 -VOLU 'I093' 'PCON' 73 21 - 0 360 6 39.4 10.065 12.7 40.66 10.065 13.96 40.66 12.1781 13.96 54.7 26.2181 - 28 55.2219 26.74 28 57.4 26.74 28 -VOLU 'I099' 'PCON' 5 12 - 0 50 3 23.7 14 18.75 46.7 14 18.75 51.45 18.75 18.75 -VOLU 'I200' 'PCON' 5 12 - 0 25 3 34.65 23.4 26.4 56.1 23.4 26.4 59.1 26.4 26.4 -VOLU 'I090' 'TUBE' 9 3 - 10.065 11 0.25 -VOLU 'I089' 'TUBE' 9 3 - 10.001 10.065 40 -VOLU 'I098' 'TUBE' 5 3 - 21.95 24.2 1 -VOLU 'I097' 'TUBE' 5 3 - 13.1 15.4 1 -VOLU 'I202' 'BOX ' 73 3 - 1 1 7.74 -VOLU 'I203' 'BOX ' 73 3 - 1 1 9.14 -VOLU 'I095' 'TUBE' 25 3 - 21.95 22.95 1 -VOLU 'I096' 'TRD1' 65 4 - 3 2.7 1 0.63 -VOLU 'I094' 'TUBE' 25 3 - 13.1 14.1 1 -! -! VOLUMES SERVICES -! -VOLU 'I1CU' 'TUBS' 14 5 - 46. 47. 9.5 12. 168. -VOLU 'I2CU' 'TUBS' 14 5 - 46. 47. 9.5 192. 348. -VOLU 'I1CC' 'TUBS' 4 5 - 47. 48.5 9.5 12. 168. -VOLU 'I2CC' 'TUBS' 4 5 - 47. 48.5 9.5 192. 348. -VOLU 'IPA1' 'TUBS' 11 5 - 46. 56. 2.25 12. 168. -VOLU 'IPA2' 'TUBS' 11 5 - 46. 56. 2.25 192. 348. -VOLU 'ICU1' 'CONS' 14 7 - 91.65 46.2 47.2 62.3 63.3 12. 168. -VOLU 'ICU2' 'CONS' 14 7 - 91.65 46.2 47.2 62.3 63.3 192. 348. -VOLU 'ICU3' 'TUBS' 14 5 - 62.1 74.5 0.5 12. 168. -VOLU 'ICU4' 'TUBS' 14 5 - 62.1 74.5 0.5 192. 348. -VOLU 'ICC1' 'CONS' 4 7 - 91.65 47.2 48.7 63.3 64.8 12. 168. -VOLU 'ICC2' 'CONS' 4 7 - 91.65 47.2 48.7 63.3 64.8 192. 348. -VOLU 'ICC3' 'TUBS' 4 5 - 62.1 74.5 0.75 12. 168. -VOLU 'ICC4' 'TUBS' 4 5 - 62.1 74.5 0.75 192. 348. -VOLU 'IHK1' 'TUBS' 65 5 - 74.5 79.5 2.5 12. 168. -VOLU 'IHK2' 'TUBS' 65 5 - 74.5 79.5 2.5 192. 348. -! -! VOLUMES RAILS -! -VOLU 'IRAI' 'BOX ' 64 3 - 0.85 10. 190. -!VOLU 'ICYL' 'TUBE' 64 4 -! 58. 59. 0.2 -! -! DIVISIONS -! -! -! POSITIONNEMENTS GENERAUX -! -POSI 'IT12' 1 'ITSD' 0.00000 0.00000 0.00000 0 'ONLY' -POSI 'IT34' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IT56' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS01' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -POSI 'IS02' 1 'ITSD' 0.0 0.0 0.0 0 'ONLY' -! -! -! POSITIONNEMENTS ITS12 -! -POSI 'I150' 16 'IT12' 0.0 0.0 27.0 104 'MANY' -POSI 'I150' 20 'IT12' 0.0 0.0 27.0 130 'MANY' -POSI 'I150' 18 'IT12' 0.0 0.0 27.0 117 'MANY' -POSI 'I150' 1 'IT12' 0.0 0.0 27.0 0 'MANY' -POSI 'I150' 4 'IT12' 0.0 0.0 27.0 106 'MANY' -POSI 'I150' 6 'IT12' 0.0 0.0 27.0 39 'MANY' -POSI 'I150' 8 'IT12' 0.0 0.0 27.0 107 'MANY' -POSI 'I150' 10 'IT12' 0.0 0.0 27.0 65 'MANY' -POSI 'I150' 12 'IT12' 0.0 0.0 27.0 78 'MANY' -POSI 'I150' 14 'IT12' 0.0 0.0 27.0 91 'MANY' -POSI 'I132' 8 'IT12' 0.0 0.0 0.0 104 'MANY' -POSI 'I132' 7 'IT12' 0.0 0.0 0.0 91 'MANY' -POSI 'I132' 6 'IT12' 0.0 0.0 0.0 78 'MANY' -POSI 'I132' 5 'IT12' 0.0 0.0 0.0 65 'MANY' -POSI 'I132' 4 'IT12' 0.0 0.0 0.0 107 'MANY' -POSI 'I132' 3 'IT12' 0.0 0.0 0.0 39 'MANY' -POSI 'I132' 2 'IT12' 0.0 0.0 0.0 106 'MANY' -POSI 'I132' 1 'IT12' 0.0 0.0 0.0 0 'MANY' -POSI 'I132' 10 'IT12' 0.0 0.0 0.0 130 'MANY' -POSI 'I132' 9 'IT12' 0.0 0.0 0.0 117 'MANY' -POSI 'I150' 19 'IT12' 0.0 0.0 -27.0 108 'MANY' -POSI 'I150' 2 'IT12' 0.0 0.0 -27.0 109 'MANY' -POSI 'I150' 3 'IT12' 0.0 0.0 -27.0 110 'MANY' -POSI 'I150' 5 'IT12' 0.0 0.0 -27.0 111 'MANY' -POSI 'I150' 7 'IT12' 0.0 0.0 -27.0 112 'MANY' -POSI 'I150' 9 'IT12' 0.0 0.0 -27.0 113 'MANY' -POSI 'I150' 11 'IT12' 0.0 0.0 -27.0 114 'MANY' -POSI 'I150' 13 'IT12' 0.0 0.0 -27.0 115 'MANY' -POSI 'I150' 15 'IT12' 0.0 0.0 -27.0 116 'MANY' -POSI 'I150' 17 'IT12' 0.0 0.0 -27.0 118 'MANY' -POSI 'I139' 2 'I150' 3.2872 6.0439 -1.5 62 'ONLY' -POSI 'I141' 1 'I150' 3.004 6.5058 -1.5 63 'ONLY' -POSI 'I142' 1 'I150' 2.5982 6.865 -1.5 32 'ONLY' -POSI 'I143' 1 'I150' 2.5977 6.6027 -1.5 64 'ONLY' -POSI 'I144' 1 'I150' 2.6352 6.3526 -1.5 70 'ONLY' -POSI 'I145' 1 'I150' 2.0769 6.7849 -1.5 74 'ONLY' -POSI 'I142' 2 'I150' 1.4923 7.1869 -1.5 75 'ONLY' -POSI 'I143' 2 'I150' 1.5328 6.9278 -1.5 77 'ONLY' -POSI 'I144' 2 'I150' 1.609 6.6866 -1.5 79 'ONLY' -POSI 'I145' 2 'I150' 0.9899 7.0263 -1.5 80 'ONLY' -POSI 'I142' 3 'I150' 0.3497 7.3319 -1.5 41 'ONLY' -POSI 'I143' 3 'I150' 0.4302 7.0823 -1.5 82 'ONLY' -POSI 'I144' 3 'I150' 0.5431 6.856 -1.5 81 'ONLY' -POSI 'I145' 3 'I150' -0.1214 7.0946 -1.5 83 'ONLY' -POSI 'I146' 1 'I150' -0.8017 7.2968 -1.5 43 'ONLY' -POSI 'I147' 1 'I150' -0.6733 7.0752 -1.5 84 'ONLY' -POSI 'I149' 1 'I150' -0.3371 5.3963 -1.5 85 'ONLY' -POSI 'I148' 1 'I150' -0.5183 6.8836 -1.5 1 'ONLY' -POSI 'I133' 1 'I150' -0.1164 3.915 -1.5 86 'ONLY' -POSI 'I134' 1 'I150' 0.1877 3.835 -1.5 0 'ONLY' -POSI 'I135' 1 'I150' 0.4917 3.915 -1.5 87 'ONLY' -POSI 'I136' 1 'I150' 0.5717 3.9845 -1.5 119 'ONLY' -POSI 'I137' 1 'I150' 0.6117 4.0541 -1.5 39 'ONLY' -POSI 'I138' 1 'I150' 1.2166 3.8996 -1.5 11 'ONLY' -POSI 'I139' 1 'I150' 1.8337 3.7832 -1.5 104 'ONLY' -POSI 'I140' 1 'I150' 2.6277 4.8701 -1.5 66 'ONLY' -POSI 'I166' 1 'I150' 0.0 0.0 0.25 3 'MANY' -POSI 'I167' 1 'I150' 0.1102 0.9945 0.45 88 'ONLY' -POSI 'I179' 6 'I150' 0.2244 3.795 0.0 0 'ONLY' -POSI 'I179' 2 'I150' 1.2205 3.8563 0.0 11 'ONLY' -POSI 'I179' 5 'I150' 3.1016 6.452 0.0 63 'ONLY' -POSI 'I179' 4 'I150' 2.0541 6.8577 0.0 74 'ONLY' -POSI 'I179' 3 'I150' 0.956 7.0946 0.0 80 'ONLY' -POSI 'I179' 1 'I150' -0.1656 7.1568 0.0 83 'ONLY' -POSI 'I169' 3 'I150' 0.1883 4.0372 -3.2 0 'ONLY' -POSI 'I171' 3 'I150' 0.1883 4.0372 0.6 0 'ONLY' -POSI 'I169' 2 'I150' 1.3343 4.0609 -3.2 0 'ONLY' -POSI 'I171' 2 'I150' 1.3343 4.0609 0.6 0 'ONLY' -POSI 'I169' 6 'I150' 2.9567 6.1959 -3.2 89 'ONLY' -POSI 'I171' 6 'I150' 2.9567 6.1959 0.6 89 'ONLY' -POSI 'I169' 5 'I150' 1.9511 6.5822 -3.2 11 'ONLY' -POSI 'I171' 5 'I150' 1.9511 6.5822 0.6 11 'ONLY' -POSI 'I169' 4 'I150' 0.8974 6.8064 -3.2 90 'ONLY' -POSI 'I171' 4 'I150' 0.8974 6.8064 0.6 90 'ONLY' -POSI 'I169' 1 'I150' -0.1784 6.863 -3.2 0 'ONLY' -POSI 'I171' 1 'I150' -0.1784 6.863 0.6 0 'ONLY' -POSI 'I173' 1 'I150' 0.2173 4.8037 1.8 0 'ONLY' -POSI 'I173' 6 'I150' 1.5093 4.5605 1.8 0 'ONLY' -POSI 'I173' 4 'I150' -0.173 6.2531 1.8 92 'ONLY' -POSI 'I173' 3 'I150' 0.8073 6.2032 1.8 93 'ONLY' -POSI 'I173' 2 'I150' 1.7678 6.0005 1.8 94 'ONLY' -POSI 'I173' 5 'I150' 2.6847 5.6501 1.8 0 'ONLY' -POSI 'I176' 2 'I150' 1.7618 5.2269 2.5 0 'ONLY' -POSI 'I176' 1 'I150' 0.4018 5.5869 2.5 0 'ONLY' -POSI 'I125' 1 'I132' -0.1271 6.9887 0.0 73 'ONLY' -POSI 'I122' 1 'I132' -0.1115 7.0256 0.0 73 'ONLY' -POSI 'I124' 1 'I132' -0.0949 7.0647 0.0 73 'ONLY' -POSI 'I125' 2 'I132' 0.9677 6.9226 0.0 71 'ONLY' -POSI 'I122' 2 'I132' 0.9889 6.9565 0.0 71 'ONLY' -POSI 'I124' 2 'I132' 1.0114 6.9925 0.0 71 'ONLY' -POSI 'I125' 3 'I132' 2.0387 6.686 0.0 69 'ONLY' -POSI 'I122' 3 'I132' 2.065 6.7162 0.0 69 'ONLY' -POSI 'I124' 3 'I132' 2.0929 6.7482 0.0 69 'ONLY' -POSI 'I125' 4 'I132' 3.0595 6.2847 0.0 67 'ONLY' -POSI 'I122' 4 'I132' 3.0902 6.3104 0.0 67 'ONLY' -POSI 'I124' 4 'I132' 3.1227 6.3378 0.0 67 'ONLY' -POSI 'I125' 6 'I132' 0.1887 3.935 0.0 0 'ONLY' -POSI 'I122' 6 'I132' 0.1887 3.895 0.0 0 'ONLY' -POSI 'I124' 6 'I132' 0.1887 3.8525 0.0 0 'ONLY' -POSI 'I125' 5 'I132' 1.2932 3.9802 0.0 11 'ONLY' -POSI 'I122' 5 'I132' 1.2809 3.9421 0.0 11 'ONLY' -POSI 'I124' 5 'I132' 1.2677 3.9017 0.0 11 'ONLY' -POSI 'I120' 1 'I132' -0.3173 5.3989 0.0 85 'ONLY' -POSI 'I100' 1 'I132' -0.1164 3.915 0.0 86 'ONLY' -POSI 'I101' 1 'I132' -0.0489 3.855 0.0 0 'ONLY' -POSI 'I102' 1 'I132' 0.0287 3.9025 0.0 119 'ONLY' -POSI 'I103' 1 'I132' 0.1887 3.95 0.0 0 'ONLY' -POSI 'I102' 2 'I132' 0.3487 3.9025 0.0 119 'ONLY' -POSI 'I101' 2 'I132' 0.4242 3.855 0.0 0 'ONLY' -POSI 'I104' 1 'I132' 0.4917 3.915 0.0 87 'ONLY' -POSI 'I105' 1 'I132' 0.5517 3.9845 0.0 119 'ONLY' -POSI 'I106' 1 'I132' 0.6117 4.0541 0.0 39 'ONLY' -POSI 'I107' 1 'I132' 0.868 4.0339 0.0 11 'ONLY' -POSI 'I102' 12 'I132' 1.131 3.9987 0.0 11 'ONLY' -POSI 'I103' 6 'I132' 1.2979 3.9944 0.0 11 'ONLY' -POSI 'I102' 11 'I132' 1.4354 3.8998 0.0 11 'ONLY' -POSI 'I108' 1 'I132' 1.6222 3.7888 0.0 11 'ONLY' -POSI 'I109' 1 'I132' 1.8337 3.7832 0.0 104 'ONLY' -POSI 'I110' 1 'I132' 2.6107 4.8806 0.0 66 'ONLY' -POSI 'I109' 2 'I132' 3.2872 6.0439 0.0 95 'ONLY' -POSI 'I111' 1 'I132' 3.2805 6.1451 0.0 63 'ONLY' -POSI 'I102' 3 'I132' 3.1875 6.1832 0.0 67 'ONLY' -POSI 'I103' 2 'I132' 3.0483 6.2753 0.0 67 'ONLY' -POSI 'I102' 4 'I132' 2.9818 6.4284 0.0 67 'ONLY' -POSI 'I112' 2 'I132' 2.828 6.6854 0.0 63 'ONLY' -POSI 'I116' 3 'I132' 2.5983 6.8653 0.0 96 'ONLY' -POSI 'I115' 3 'I132' 2.617 6.6084 0.0 68 'ONLY' -POSI 'I114' 3 'I132' 2.6353 6.3529 0.0 97 'ONLY' -POSI 'I113' 3 'I132' 2.4074 6.4715 0.0 74 'ONLY' -POSI 'I102' 7 'I132' 2.181 6.6058 0.0 69 'ONLY' -POSI 'I103' 4 'I132' 2.0291 6.6749 0.0 69 'ONLY' -POSI 'I102' 8 'I132' 1.9395 6.8157 0.0 69 'ONLY' -POSI 'I112' 4 'I132' 1.7473 7.0455 0.0 74 'ONLY' -POSI 'I116' 2 'I132' 1.4923 7.1872 0.0 98 'ONLY' -POSI 'I115' 2 'I132' 1.551 6.9364 0.0 99 'ONLY' -POSI 'I114' 2 'I132' 1.609 6.6869 0.0 100 'ONLY' -POSI 'I113' 2 'I132' 1.3654 6.7684 0.0 80 'ONLY' -POSI 'I102' 5 'I132' 1.1208 6.8656 0.0 71 'ONLY' -POSI 'I103' 3 'I132' 0.9599 6.9101 0.0 71 'ONLY' -POSI 'I102' 6 'I132' 0.8494 7.0352 0.0 71 'ONLY' -POSI 'I112' 3 'I132' 0.6237 7.2321 0.0 80 'ONLY' -POSI 'I116' 1 'I132' 0.3496 7.3322 0.0 101 'ONLY' -POSI 'I115' 1 'I132' 0.4468 7.0936 0.0 72 'ONLY' -POSI 'I114' 1 'I132' 0.5431 6.8563 0.0 102 'ONLY' -POSI 'I113' 1 'I132' 0.2898 6.8987 0.0 83 'ONLY' -POSI 'I102' 10 'I132' 0.033 6.9564 0.0 73 'ONLY' -POSI 'I103' 5 'I132' -0.1329 6.9752 0.0 73 'ONLY' -POSI 'I102' 9 'I132' -0.2616 7.0815 0.0 73 'ONLY' -POSI 'I112' 1 'I132' -0.5154 7.2406 0.0 83 'ONLY' -POSI 'I117' 1 'I132' -0.8017 7.2968 0.0 103 'ONLY' -POSI 'I118' 1 'I132' -0.6602 7.0903 0.0 84 'ONLY' -POSI 'I119' 1 'I132' -0.5183 6.8836 0.0 105 'ONLY' -POSI 'I186' 2 'I132' 0.15 3.817 0.0 78 'ONLY' -POSI 'I186' 1 'I132' 1.3976 3.8161 0.0 76 'ONLY' -POSI 'I131' 1 'I132' 3.0538 6.4757 0.0 63 'ONLY' -POSI 'I131' 2 'I132' 2.0032 6.8737 0.0 74 'ONLY' -POSI 'I131' 3 'I132' 0.9032 7.1024 0.0 80 'ONLY' -POSI 'I131' 4 'I132' -0.219 7.1563 0.0 83 'ONLY' -POSI 'I168' 1 'I167' 0.0 0.0 0.0 0 'ONLY' -POSI 'I170' 1 'I169' 0.0 0.0 0.0 0 'ONLY' -POSI 'I172' 1 'I171' 0.0 0.0 0.0 0 'ONLY' -POSI 'I174' 1 'I173' 0.0 0.0 0.0 0 'MANY' -POSI 'I175' 1 'I173' 0.0 0.0 -0.5 0 'ONLY' -POSI 'I177' 1 'I176' 0.0 0.0 0.0 0 'MANY' -POSI 'I178' 1 'I176' 0.0 0.0 -0.95 0 'ONLY' -POSI 'I123' 1 'I122' 0.0 0.0 0.0 0 'ONLY' -POSI 'I183' 1 'I186' 0.0 0.0125 0.0 0 'ONLY' -POSI 'I185' 2 'I186' -0.15 0.007 -19.41 119 'ONLY' -POSI 'I185' 1 'I186' -0.15 0.007 19.41 119 'ONLY' -POSI 'I184' 3 'I186' -0.15 -0.018 19.955 0 'ONLY' -POSI 'I184' 2 'I186' -0.15 -0.018 -19.955 0 'ONLY' -POSI 'I182' 4 'I186' -0.15 -0.008 12.72 119 'ONLY' -POSI 'I182' 3 'I186' -0.15 -0.008 -12.72 0 'ONLY' -POSI 'I182' 2 'I186' -0.15 -0.008 4.24 119 'ONLY' -POSI 'I182' 1 'I186' -0.15 -0.008 -4.24 119 'ONLY' -POSI 'ITS1' 1 'I186' -0.15 -0.0205 12.72 0 'ONLY' -POSI 'ITS1' 4 'I186' -0.15 -0.0205 -12.72 0 'ONLY' -POSI 'ITS1' 2 'I186' -0.15 -0.0205 4.24 0 'ONLY' -POSI 'ITS1' 3 'I186' -0.15 -0.0205 -4.24 0 'ONLY' -POSI 'I130' 2 'I131' 0.15 0.007 -19.41 119 'ONLY' -POSI 'I130' 1 'I131' 0.15 0.007 19.41 119 'ONLY' -POSI 'I129' 2 'I131' 0.15 -0.018 19.955 0 'ONLY' -POSI 'I129' 1 'I131' 0.15 -0.018 -19.955 0 'ONLY' -POSI 'I128' 1 'I131' 0.0 -0.0125 0.0 0 'ONLY' -POSI 'I127' 4 'I131' 0.15 0.008 12.72 0 'ONLY' -POSI 'I127' 3 'I131' 0.15 0.008 -12.72 0 'ONLY' -POSI 'I127' 2 'I131' 0.15 0.008 4.24 0 'ONLY' -POSI 'I127' 1 'I131' 0.15 0.008 -4.24 0 'ONLY' -POSI 'ITS2' 1 'I131' 0.15 0.0205 12.72 119 'ONLY' -POSI 'ITS2' 4 'I131' 0.15 0.0205 -12.72 0 'ONLY' -POSI 'ITS2' 2 'I131' 0.15 0.0205 4.24 119 'ONLY' -POSI 'ITS2' 3 'I131' 0.15 0.0205 -4.24 119 'ONLY' -! -! POSITIONNEMENTS ITS34 -! -POSI 'I048' 8 'IT34' -22.1376 -14.227 0.0 328 'ONLY' -POSI 'I048' 7 'IT34' -24.7213 -7.2588 0.0 329 'ONLY' -POSI 'I048' 6 'IT34' -26.315 0.0 0.0 350 'ONLY' -POSI 'I048' 5 'IT34' -24.7213 7.2588 0.0 330 'ONLY' -POSI 'I048' 4 'IT34' -22.1376 14.227 0.0 366 'ONLY' -POSI 'I048' 3 'IT34' -16.8725 19.4719 0.0 331 'ONLY' -POSI 'I048' 2 'IT34' -10.9317 23.937 0.0 332 'ONLY' -POSI 'I048' 1 'IT34' -3.6667 25.5027 0.0 335 'ONLY' -POSI 'I048' 22 'IT34' 3.745 26.0472 0.0 334 'ONLY' -POSI 'I048' 21 'IT34' 10.7032 23.4367 0.0 314 'ONLY' -POSI 'I048' 20 'IT34' 17.2327 19.8876 0.0 315 'ONLY' -POSI 'I048' 19 'IT34' 21.6749 13.9296 0.0 316 'ONLY' -POSI 'I048' 18 'IT34' 25.2491 7.4138 0.0 317 'ONLY' -POSI 'I048' 17 'IT34' 25.765 0.0 0.0 318 'ONLY' -POSI 'I048' 16 'IT34' 25.2491 -7.4138 0.0 319 'ONLY' -POSI 'I048' 15 'IT34' 21.6749 -13.9296 0.0 320 'ONLY' -POSI 'I048' 14 'IT34' 17.2327 -19.8876 0.0 322 'ONLY' -POSI 'I048' 13 'IT34' 10.7032 -23.4367 0.0 323 'ONLY' -POSI 'I048' 12 'IT34' 3.745 -26.0472 0.0 324 'ONLY' -POSI 'I048' 11 'IT34' -3.6667 -25.5027 0.0 325 'ONLY' -POSI 'I048' 10 'IT34' -10.9316 -23.937 0.0 326 'ONLY' -POSI 'I048' 9 'IT34' -16.8725 -19.4719 0.0 327 'ONLY' -POSI 'I005' 9 'IT34' -15.4744 -17.8584 -0.15 327 'ONLY' -POSI 'I005' 8 'IT34' -20.3415 -13.0727 -0.15 328 'ONLY' -POSI 'I005' 7 'IT34' -22.6728 -6.6573 -0.15 329 'ONLY' -POSI 'I005' 6 'IT34' -24.18 0.0 -0.15 350 'ONLY' -POSI 'I005' 5 'IT34' -22.6728 6.6573 -0.15 330 'ONLY' -POSI 'I005' 4 'IT34' -20.3415 13.0727 -0.15 366 'ONLY' -POSI 'I005' 3 'IT34' -15.4744 17.8584 -0.15 331 'ONLY' -POSI 'I005' 2 'IT34' -10.0447 21.9949 -0.15 332 'ONLY' -POSI 'I005' 1 'IT34' -3.3629 23.3895 -0.15 335 'ONLY' -POSI 'I005' 22 'IT34' 3.4412 23.9339 -0.15 334 'ONLY' -POSI 'I005' 21 'IT34' 9.8163 21.4946 -0.15 314 'ONLY' -POSI 'I005' 20 'IT34' 15.8345 18.274 -0.15 315 'ONLY' -POSI 'I005' 19 'IT34' 19.8788 12.7753 -0.15 316 'ONLY' -POSI 'I005' 18 'IT34' 23.2005 6.8123 -0.15 317 'ONLY' -POSI 'I005' 17 'IT34' 23.63 0.0 -0.15 318 'ONLY' -POSI 'I005' 16 'IT34' 23.2005 -6.8123 -0.15 319 'ONLY' -POSI 'I005' 15 'IT34' 19.8788 -12.7753 -0.15 320 'ONLY' -POSI 'I005' 14 'IT34' 15.8345 -18.274 -0.15 322 'ONLY' -POSI 'I005' 13 'IT34' 9.8163 -21.4946 -0.15 323 'ONLY' -POSI 'I005' 12 'IT34' 3.4412 -23.9339 -0.15 324 'ONLY' -POSI 'I005' 11 'IT34' -3.3629 -23.3895 -0.15 325 'ONLY' -POSI 'I005' 10 'IT34' -10.0447 -21.9949 -0.15 326 'ONLY' -POSI 'I047' 6 'IT34' -10.8893 -13.6547 0.0 311 'ONLY' -POSI 'I047' 5 'IT34' -15.1948 -7.3174 0.0 313 'ONLY' -POSI 'I047' 4 'IT34' -17.465 0.0 0.0 350 'ONLY' -POSI 'I047' 3 'IT34' -15.1948 7.3175 0.0 336 'ONLY' -POSI 'I047' 2 'IT34' -10.8892 13.6547 0.0 333 'ONLY' -POSI 'I047' 1 'IT34' -3.7528 16.4422 0.0 321 'ONLY' -POSI 'I047' 14 'IT34' 3.8863 17.0271 0.0 305 'ONLY' -POSI 'I047' 13 'IT34' 10.5152 13.1856 0.0 306 'ONLY' -POSI 'I047' 12 'IT34' 15.7354 7.5778 0.0 307 'ONLY' -POSI 'I047' 11 'IT34' 16.865 0.0 0.0 356 'ONLY' -POSI 'I047' 10 'IT34' 15.7354 -7.5778 0.0 308 'ONLY' -POSI 'I047' 9 'IT34' 10.5152 -13.1856 0.0 309 'ONLY' -POSI 'I047' 8 'IT34' 3.8863 -17.0271 0.0 386 'ONLY' -POSI 'I047' 7 'IT34' -3.7528 -16.4422 0.0 310 'ONLY' -POSI 'I004' 6 'IT34' -9.5581 -11.9855 0.0 311 'ONLY' -POSI 'I004' 5 'IT34' -13.2713 -6.3911 0.0 313 'ONLY' -POSI 'I004' 4 'IT34' -15.33 0.0 0.0 350 'ONLY' -POSI 'I004' 3 'IT34' -13.2713 6.3911 0.0 336 'ONLY' -POSI 'I004' 2 'IT34' -9.5581 11.9855 0.0 333 'ONLY' -POSI 'I004' 1 'IT34' -3.2777 14.3607 0.0 321 'ONLY' -POSI 'I004' 14 'IT34' 3.4113 14.9456 0.0 305 'ONLY' -POSI 'I004' 13 'IT34' 9.184 11.5164 0.0 306 'ONLY' -POSI 'I004' 12 'IT34' 13.8119 6.6514 0.0 307 'ONLY' -POSI 'I004' 11 'IT34' 14.73 0.0 0.0 356 'ONLY' -POSI 'I004' 10 'IT34' 13.8119 -6.6514 0.0 308 'ONLY' -POSI 'I004' 9 'IT34' 9.184 -11.5164 0.0 309 'ONLY' -POSI 'I004' 8 'IT34' 3.4112 -14.9456 0.0 386 'ONLY' -POSI 'I004' 7 'IT34' -3.2777 -14.3607 0.0 310 'ONLY' -POSI 'I024' 3 'I048' -0.0001 0.0 31.925 0 'ONLY' -POSI 'I024' 4 'I048' -0.0001 0.0 -31.925 355 'ONLY' -POSI 'I018' 13 'I048' -0.0001 0.0 -25.55 0 'ONLY' -POSI 'I018' 12 'I048' -0.0001 0.0 -18.25 0 'ONLY' -POSI 'I018' 11 'I048' -0.0001 0.0 -10.95 0 'ONLY' -POSI 'I018' 10 'I048' -0.0001 0.0 25.55 0 'ONLY' -POSI 'I018' 9 'I048' -0.0001 0.0 18.25 0 'ONLY' -POSI 'I018' 8 'I048' -0.0001 0.0 10.95 0 'ONLY' -POSI 'I018' 7 'I048' -0.0001 0.0 3.65 0 'ONLY' -POSI 'I018' 6 'I048' -0.0001 0.0 -3.65 0 'ONLY' -POSI 'I402' 5 'I005' 0.0 -0.115 -3.55 0 'ONLY' -POSI 'I402' 4 'I005' 0.0 0.115 3.85 0 'ONLY' -POSI 'I402' 2 'I005' 0.0 0.115 18.75 0 'ONLY' -POSI 'I402' 3 'I005' 0.0 -0.115 11.15 0 'ONLY' -POSI 'I402' 1 'I005' 0.0 -0.115 25.9 0 'ONLY' -POSI 'I402' 6 'I005' 0.0 0.115 -11.05 0 'ONLY' -POSI 'I402' 7 'I005' 0.0 -0.115 -18.3 0 'ONLY' -POSI 'I402' 8 'I005' 0.0 0.115 -25.9 0 'ONLY' -POSI 'I024' 1 'I047' 0.0 0.0 20.975 0 'ONLY' -POSI 'I018' 4 'I047' 0.0 0.0 7.3 0 'ONLY' -POSI 'I018' 5 'I047' 0.0 0.0 14.6 0 'ONLY' -POSI 'I018' 1 'I047' 0.0 0.0 0.0 0 'ONLY' -POSI 'I018' 3 'I047' 0.0 0.0 -14.6 0 'ONLY' -POSI 'I018' 2 'I047' 0.0 0.0 -7.3 0 'ONLY' -POSI 'I024' 2 'I047' 0.0 0.0 -20.975 355 'ONLY' -POSI 'I302' 4 'I004' 0.0 -0.115 -3.7 0 'ONLY' -POSI 'I302' 3 'I004' 0.0 0.115 3.7 0 'ONLY' -POSI 'I302' 6 'I004' 0.0 -0.115 -18.35 0 'ONLY' -POSI 'I302' 5 'I004' 0.0 0.115 -11.2 0 'ONLY' -POSI 'I302' 2 'I004' 0.0 -0.115 10.95 0 'ONLY' -POSI 'I302' 1 'I004' 0.0 0.115 18.55 0 'ONLY' -POSI 'I025' 2 'I024' 1.987 -1.5842 0.0 343 'ONLY' -POSI 'I026' 2 'I024' 1.8824 -1.7349 0.0 344 'ONLY' -POSI 'I025' 1 'I024' -1.9 -1.7349 0.0 344 'ONLY' -POSI 'I026' 1 'I024' -1.9782 -1.5689 0.0 342 'ONLY' -POSI 'I026' 3 'I024' 0.0958 1.6914 0.0 343 'ONLY' -POSI 'I025' 3 'I024' -0.087 1.7067 0.0 342 'ONLY' -POSI 'I021' 10 'I024' 1.0761 0.0836 1.7742 337 'ONLY' -POSI 'I021' 9 'I024' -1.0761 0.0836 1.7742 339 'ONLY' -POSI 'I021' 12 'I024' 1.0761 0.0836 -0.1242 340 'ONLY' -POSI 'I021' 11 'I024' -1.0761 0.0836 -0.1242 338 'ONLY' -POSI 'I021' 13 'I024' -1.0761 0.0836 -1.8758 339 'ONLY' -POSI 'I021' 14 'I024' 1.0761 0.0836 -1.8758 337 'ONLY' -POSI 'I023' 3 'I024' 0.0 -1.7899 -1.0 341 'ONLY' -POSI 'I022' 3 'I024' 0.0 -1.7899 0.825 312 'ONLY' -POSI 'I028' 1 'I024' 0.0 -1.7999 1.875 0 'MANY' -POSI 'I029' 1 'I024' 0.0 -0.9999 2.65 0 'ONLY' -POSI 'I030' 1 'I024' 0.0 0.6001 2.65 344 'ONLY' -POSI 'I027' 1 'I024' 0.0 0.0001 1.9965 352 'ONLY' -POSI 'I032' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 1 'I024' 1.7 -0.4999 0.0 0 'ONLY' -POSI 'I031' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I032' 2 'I024' -1.7 -0.4999 0.0 0 'ONLY' -POSI 'I046' 6 'I024' -0.616 1.1702 0.0 353 'ONLY' -POSI 'I046' 5 'I024' -0.566 1.1702 0.0 353 'ONLY' -POSI 'I046' 4 'I024' 0.616 1.1702 0.0 354 'ONLY' -POSI 'I046' 3 'I024' 0.566 1.1702 0.0 354 'ONLY' -POSI 'I046' 2 'I024' 0.516 1.1702 0.0 354 'ONLY' -POSI 'I046' 1 'I024' -0.516 1.1702 0.0 353 'ONLY' -POSI 'I022' 2 'I018' 0.0 -1.79 -0.1 312 'ONLY' -POSI 'I021' 8 'I018' 1.0761 0.0835 0.8492 337 'ONLY' -POSI 'I021' 7 'I018' -1.0761 0.0835 2.6008 338 'ONLY' -POSI 'I021' 6 'I018' -1.0761 0.0835 0.8492 339 'ONLY' -POSI 'I021' 5 'I018' 1.0761 0.0835 -1.0492 340 'ONLY' -POSI 'I021' 4 'I018' 1.0761 0.0835 -2.8008 337 'ONLY' -POSI 'I021' 3 'I018' -1.0761 0.0835 -1.0492 338 'ONLY' -POSI 'I021' 2 'I018' -1.0761 0.0835 -2.8008 339 'ONLY' -POSI 'I023' 2 'I018' 0.0 -1.79 -1.925 341 'ONLY' -POSI 'I019' 3 'I018' -0.087 1.7066 0.0 342 'ONLY' -POSI 'I020' 3 'I018' 0.0958 1.6913 0.0 343 'ONLY' -POSI 'I019' 2 'I018' 1.987 -1.5843 0.0 343 'ONLY' -POSI 'I020' 2 'I018' 1.8824 -1.735 0.0 344 'ONLY' -POSI 'I022' 1 'I018' 0.0 -1.79 3.55 312 'ONLY' -POSI 'I021' 1 'I018' 1.0761 0.0835 2.6008 340 'ONLY' -POSI 'I023' 1 'I018' 0.0 -1.79 1.725 341 'ONLY' -POSI 'I019' 1 'I018' -1.9 -1.735 0.0 344 'ONLY' -POSI 'I020' 1 'I018' -1.9782 -1.569 0.0 342 'ONLY' -POSI 'I033' 1 'I018' 1.8 -1.75 1.35 0 'MANY' -POSI 'I033' 4 'I018' 1.8 -1.75 -2.65 0 'MANY' -POSI 'I033' 2 'I018' -1.8 -1.75 -2.65 345 'MANY' -POSI 'I033' 3 'I018' -1.8 -1.75 1.35 345 'MANY' -POSI 'I036' 1 'I018' 0.3087 1.7191 3.56 346 'ONLY' -POSI 'I036' 4 'I018' -0.3087 1.7191 3.56 347 'ONLY' -POSI 'I036' 2 'I018' 0.3087 1.7191 -0.11 346 'ONLY' -POSI 'I036' 3 'I018' -0.3087 1.7191 -0.11 347 'ONLY' -POSI 'I034' 1 'I018' 1.6 -1.775 1.35 312 'ONLY' -POSI 'I034' 4 'I018' 1.6 -1.775 -2.65 312 'ONLY' -POSI 'I034' 2 'I018' -1.6 -1.775 -2.65 348 'ONLY' -POSI 'I034' 3 'I018' -1.6 -1.775 1.35 348 'ONLY' -POSI 'I035' 2 'I018' -1.7 -0.55 2.8581 345 'MANY' -POSI 'I035' 1 'I018' 1.7 -0.55 2.8581 0 'MANY' -POSI 'I045' 1 'I018' 0.7483 0.9337 0.0 346 'ONLY' -POSI 'I045' 2 'I018' 0.7065 0.9337 0.0 346 'ONLY' -POSI 'I045' 3 'I018' -0.7483 0.9337 0.0 347 'ONLY' -POSI 'I045' 4 'I018' -0.7065 0.9337 0.0 347 'ONLY' -POSI 'I038' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I037' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I038' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I039' 1 'I018' 1.8126 -0.485 0.0 346 'ONLY' -POSI 'I040' 1 'I018' 1.9204 -0.7118 0.0 346 'ONLY' -POSI 'I041' 1 'I018' 1.7 -0.55 0.0 346 'ONLY' -POSI 'I042' 1 'I018' 2.0342 -0.8189 3.12 346 'ONLY' -POSI 'I042' 2 'I018' 2.0342 -0.8189 2.28 346 'ONLY' -POSI 'I042' 3 'I018' 2.0342 -0.8189 1.38 346 'ONLY' -POSI 'I042' 4 'I018' 2.0342 -0.8189 0.48 346 'ONLY' -POSI 'I042' 5 'I018' 2.0342 -0.8189 -0.42 346 'ONLY' -POSI 'I042' 6 'I018' 2.0342 -0.8189 -1.32 346 'ONLY' -POSI 'I042' 7 'I018' 2.0342 -0.8189 -2.22 346 'ONLY' -POSI 'I042' 8 'I018' 2.0342 -0.8189 -3.12 346 'ONLY' -POSI 'I043' 8 'I018' 1.5592 0.0038 -3.15 346 'ONLY' -POSI 'I043' 7 'I018' 1.5592 0.0038 -2.25 346 'ONLY' -POSI 'I043' 6 'I018' 1.5592 0.0038 -1.35 346 'ONLY' -POSI 'I043' 5 'I018' 1.5592 0.0038 -0.45 346 'ONLY' -POSI 'I043' 4 'I018' 1.5592 0.0038 0.45 346 'ONLY' -POSI 'I043' 3 'I018' 1.5592 0.0038 1.35 346 'ONLY' -POSI 'I043' 2 'I018' 1.5592 0.0038 2.25 346 'ONLY' -POSI 'I043' 1 'I018' 1.5592 0.0038 3.15 346 'ONLY' -POSI 'I039' 2 'I018' -1.8126 -0.485 0.0 347 'ONLY' -POSI 'I041' 2 'I018' -1.7 -0.55 0.0 347 'ONLY' -POSI 'I040' 2 'I018' -1.9204 -0.7118 0.0 347 'ONLY' -POSI 'I043' 16 'I018' -1.5592 0.0038 -3.15 347 'ONLY' -POSI 'I042' 9 'I018' -2.0342 -0.8189 -3.12 347 'ONLY' -POSI 'I043' 15 'I018' -1.5592 0.0038 -2.25 347 'ONLY' -POSI 'I042' 10 'I018' -2.0342 -0.8189 -2.22 347 'ONLY' -POSI 'I042' 11 'I018' -2.0342 -0.8189 -1.32 347 'ONLY' -POSI 'I043' 14 'I018' -1.5592 0.0038 -1.35 347 'ONLY' -POSI 'I042' 12 'I018' -2.0342 -0.8189 -0.42 347 'ONLY' -POSI 'I043' 13 'I018' -1.5592 0.0038 -0.45 347 'ONLY' -POSI 'I043' 12 'I018' -1.5592 0.0038 0.45 347 'ONLY' -POSI 'I043' 11 'I018' -1.5592 0.0038 1.35 347 'ONLY' -POSI 'I043' 10 'I018' -1.5592 0.0038 2.25 347 'ONLY' -POSI 'I043' 9 'I018' -1.5592 0.0038 3.15 347 'ONLY' -POSI 'I042' 16 'I018' -2.0342 -0.8189 3.12 347 'ONLY' -POSI 'I042' 15 'I018' -2.0342 -0.8189 2.28 347 'ONLY' -POSI 'I042' 14 'I018' -2.0342 -0.8189 1.38 347 'ONLY' -POSI 'I042' 13 'I018' -2.0342 -0.8189 0.48 347 'ONLY' -POSI 'I044' 2 'I018' -2.7487 -1.3673 -0.2 349 'ONLY' -POSI 'I044' 1 'I018' 2.7487 -1.3673 -0.2 351 'ONLY' -POSI 'I303' 1 'I302' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I303' 2 'I302' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I303' 3 'I302' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I303' 4 'I302' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'I403' 1 'I402' 1.8125 0.0 4.2605 301 'ONLY' -POSI 'I403' 2 'I402' -1.8125 0.0 4.2605 302 'ONLY' -POSI 'I403' 3 'I402' -1.8125 0.0 -4.2605 303 'ONLY' -POSI 'I403' 4 'I402' 1.8125 0.0 -4.2605 304 'ONLY' -POSI 'ITS3' 1 'I302' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS4' 1 'I402' 0.0 0.0 0.0 0 'ONLY' -! -! POSITIONNEMENTS ITS56 -! -POSI 'I570' 17 'IT56' -7.4965 -44.9238 -0.27 569 'ONLY' -POSI 'I569' 17 'IT56' -7.1673 -42.9511 0.005 569 'ONLY' -POSI 'I570' 16 'IT56' -14.838 -43.2217 -0.27 568 'ONLY' -POSI 'I569' 16 'IT56' -14.1886 -41.33 0.005 568 'ONLY' -POSI 'I570' 15 'IT56' -21.677 -40.0556 -0.27 567 'ONLY' -POSI 'I569' 15 'IT56' -20.7251 -38.2967 0.005 567 'ONLY' -POSI 'I570' 14 'IT56' -28.0681 -36.0619 -0.27 566 'ONLY' -POSI 'I569' 14 'IT56' -26.8397 -34.4836 0.005 566 'ONLY' -POSI 'I570' 13 'IT56' -33.5086 -30.8468 -0.27 565 'ONLY' -POSI 'I569' 13 'IT56' -32.0371 -29.4922 0.005 565 'ONLY' -POSI 'I570' 12 'IT56' -38.2566 -24.9943 -0.27 564 'ONLY' -POSI 'I569' 12 'IT56' -36.5823 -23.9004 0.005 564 'ONLY' -POSI 'I570' 11 'IT56' -41.7089 -18.2952 -0.27 563 'ONLY' -POSI 'I569' 11 'IT56' -39.8773 -17.4918 0.005 563 'ONLY' -POSI 'I570' 10 'IT56' -44.2994 -11.2181 -0.27 562 'ONLY' -POSI 'I569' 10 'IT56' -42.3606 -10.7271 0.005 562 'ONLY' -POSI 'I570' 9 'IT56' -45.3894 -3.7611 -0.27 561 'ONLY' -POSI 'I569' 9 'IT56' -43.3963 -3.5959 0.005 561 'ONLY' -POSI 'I570' 8 'IT56' -45.5416 3.7737 -0.27 560 'ONLY' -POSI 'I569' 8 'IT56' -43.5484 3.6085 0.005 560 'ONLY' -POSI 'I570' 7 'IT56' -44.1513 11.1806 -0.27 559 'ONLY' -POSI 'I569' 7 'IT56' -42.2125 10.6897 0.005 559 'ONLY' -POSI 'I570' 6 'IT56' -41.8487 18.3566 -0.27 558 'ONLY' -POSI 'I569' 6 'IT56' -40.0172 17.5532 0.005 558 'ONLY' -POSI 'I569' 5 'IT56' -36.4544 23.8169 0.005 557 'ONLY' -POSI 'I570' 5 'IT56' -38.1287 24.9108 -0.27 557 'ONLY' -POSI 'I569' 4 'IT56' -32.1494 29.5956 0.005 556 'ONLY' -POSI 'I570' 4 'IT56' -33.6209 30.9502 -0.27 556 'ONLY' -POSI 'I570' 3 'IT56' -27.9743 35.9414 -0.27 555 'ONLY' -POSI 'I569' 3 'IT56' -26.7459 34.3631 0.005 555 'ONLY' -POSI 'I569' 2 'IT56' -20.7978 38.431 0.005 554 'ONLY' -POSI 'I570' 2 'IT56' -21.7497 40.1899 -0.27 554 'ONLY' -POSI 'I569' 1 'IT56' -14.139 41.1856 0.005 553 'ONLY' -POSI 'I570' 1 'IT56' -14.7884 43.0772 -0.27 553 'ONLY' -POSI 'I570' 38 'IT56' -7.5216 45.0744 -0.27 552 'ONLY' -POSI 'I569' 38 'IT56' -7.1924 43.1017 0.005 552 'ONLY' -POSI 'I570' 37 'IT56' 0.0 45.545 -0.27 0 'ONLY' -POSI 'I569' 37 'IT56' 0.0 43.545 0.005 0 'ONLY' -POSI 'I570' 36 'IT56' 7.5216 45.0744 -0.27 551 'ONLY' -POSI 'I569' 36 'IT56' 7.1924 43.1017 0.005 551 'ONLY' -POSI 'I569' 35 'IT56' 14.139 41.1856 0.005 550 'ONLY' -POSI 'I570' 35 'IT56' 14.7884 43.0772 -0.27 550 'ONLY' -POSI 'I570' 34 'IT56' 21.7497 40.1899 -0.27 549 'ONLY' -POSI 'I569' 34 'IT56' 20.7978 38.431 0.005 549 'ONLY' -POSI 'I570' 33 'IT56' 27.9743 35.9414 -0.27 548 'ONLY' -POSI 'I569' 33 'IT56' 26.7459 34.3631 0.005 548 'ONLY' -POSI 'I570' 32 'IT56' 33.6209 30.9502 -0.27 547 'ONLY' -POSI 'I569' 32 'IT56' 32.1494 29.5956 0.005 547 'ONLY' -POSI 'I570' 31 'IT56' 38.1287 24.9107 -0.27 546 'ONLY' -POSI 'I569' 31 'IT56' 36.4544 23.8169 0.005 546 'ONLY' -POSI 'I570' 30 'IT56' 41.8487 18.3566 -0.27 545 'ONLY' -POSI 'I569' 30 'IT56' 40.0172 17.5532 0.005 545 'ONLY' -POSI 'I570' 29 'IT56' 44.1513 11.1806 -0.27 544 'ONLY' -POSI 'I569' 29 'IT56' 42.2125 10.6897 0.005 544 'ONLY' -POSI 'I570' 28 'IT56' 45.5416 3.7737 -0.27 543 'ONLY' -POSI 'I569' 28 'IT56' 43.5484 3.6085 0.005 543 'ONLY' -POSI 'I570' 27 'IT56' 45.3894 -3.7611 -0.27 542 'ONLY' -POSI 'I569' 27 'IT56' 43.3963 -3.5959 0.005 542 'ONLY' -POSI 'I570' 26 'IT56' 44.2994 -11.2181 -0.27 541 'ONLY' -POSI 'I569' 26 'IT56' 42.3606 -10.7272 0.005 541 'ONLY' -POSI 'I569' 25 'IT56' 39.8773 -17.4918 0.005 540 'ONLY' -POSI 'I570' 25 'IT56' 41.7089 -18.2952 -0.27 540 'ONLY' -POSI 'I569' 24 'IT56' 36.5822 -23.9004 0.005 539 'ONLY' -POSI 'I570' 24 'IT56' 38.2566 -24.9943 -0.27 539 'ONLY' -POSI 'I569' 23 'IT56' 32.0371 -29.4922 0.005 538 'ONLY' -POSI 'I570' 23 'IT56' 33.5086 -30.8468 -0.27 538 'ONLY' -POSI 'I569' 22 'IT56' 26.8397 -34.4836 0.005 537 'ONLY' -POSI 'I570' 22 'IT56' 28.0681 -36.0619 -0.27 537 'ONLY' -POSI 'I569' 21 'IT56' 20.7251 -38.2967 0.005 536 'ONLY' -POSI 'I570' 21 'IT56' 21.677 -40.0556 -0.27 536 'ONLY' -POSI 'I570' 20 'IT56' 14.838 -43.2217 -0.27 535 'ONLY' -POSI 'I569' 20 'IT56' 14.1886 -41.33 0.005 535 'ONLY' -POSI 'I570' 19 'IT56' 7.4965 -44.9238 -0.27 534 'ONLY' -POSI 'I569' 19 'IT56' 7.1673 -42.9511 0.005 534 'ONLY' -POSI 'I569' 18 'IT56' 0.0 -43.6977 0.005 533 'ONLY' -POSI 'I570' 18 'IT56' 0.0 -45.6977 -0.27 533 'ONLY' -POSI 'I565' 9 'IT56' -38.8784 3.6026 -0.09 524 'ONLY' -POSI 'I565' 8 'IT56' -37.7021 10.7272 -0.09 523 'ONLY' -POSI 'I565' 7 'IT56' -34.9517 17.4039 -0.09 522 'ONLY' -POSI 'I565' 6 'IT56' -31.2811 23.6224 -0.09 521 'ONLY' -POSI 'I565' 5 'IT56' -26.3044 28.8546 -0.09 520 'ONLY' -POSI 'I565' 4 'IT56' -20.6354 33.3272 -0.09 519 'ONLY' -POSI 'I565' 3 'IT56' -14.1047 36.4084 -0.09 518 'ONLY' -POSI 'I565' 2 'IT56' -7.2027 38.5311 -0.09 517 'ONLY' -POSI 'I565' 1 'IT56' 0.0 39.045 -0.09 0 'ONLY' -POSI 'I565' 34 'IT56' 7.2027 38.5311 -0.09 516 'ONLY' -POSI 'I565' 33 'IT56' 14.1047 36.4084 -0.09 515 'ONLY' -POSI 'I565' 32 'IT56' 20.6354 33.3272 -0.09 514 'ONLY' -POSI 'I565' 31 'IT56' 26.3045 28.8546 -0.09 513 'ONLY' -POSI 'I565' 30 'IT56' 31.2811 23.6224 -0.09 512 'ONLY' -POSI 'I565' 29 'IT56' 34.9517 17.4038 -0.09 511 'ONLY' -POSI 'I565' 28 'IT56' 37.7021 10.7272 -0.09 510 'ONLY' -POSI 'I565' 27 'IT56' 38.8784 3.6026 -0.09 509 'ONLY' -POSI 'I565' 26 'IT56' 39.0313 -3.6168 -0.09 508 'ONLY' -POSI 'I565' 25 'IT56' 37.5545 -10.6852 -0.09 507 'ONLY' -POSI 'I565' 24 'IT56' 35.089 -17.4723 -0.09 506 'ONLY' -POSI 'I565' 23 'IT56' 31.1586 -23.5299 -0.09 505 'ONLY' -POSI 'I565' 22 'IT56' 26.4078 -28.968 -0.09 504 'ONLY' -POSI 'I565' 21 'IT56' 20.5545 -33.1967 -0.09 503 'ONLY' -POSI 'I565' 20 'IT56' 14.1601 -36.5515 -0.09 502 'ONLY' -POSI 'I565' 19 'IT56' 7.1745 -38.3802 -0.09 501 'ONLY' -POSI 'I565' 18 'IT56' 0.0 -39.1985 -0.09 533 'ONLY' -POSI 'I565' 17 'IT56' -7.1745 -38.3802 -0.09 532 'ONLY' -POSI 'I565' 16 'IT56' -14.1601 -36.5515 -0.09 531 'ONLY' -POSI 'I565' 15 'IT56' -20.5546 -33.1967 -0.09 530 'ONLY' -POSI 'I565' 14 'IT56' -26.4079 -28.968 -0.09 529 'ONLY' -POSI 'I565' 13 'IT56' -31.1586 -23.5299 -0.09 528 'ONLY' -POSI 'I565' 12 'IT56' -35.0891 -17.4723 -0.09 527 'ONLY' -POSI 'I565' 11 'IT56' -37.5545 -10.6852 -0.09 526 'ONLY' -POSI 'I565' 10 'IT56' -39.0313 -3.6168 -0.09 525 'ONLY' -POSI 'I571' 17 'IT56' 0.0 -41.1985 0.0 533 'ONLY' -POSI 'I571' 18 'IT56' -7.542 -40.3461 0.0 532 'ONLY' -POSI 'I571' 15 'IT56' -14.8826 -38.4165 0.0 531 'ONLY' -POSI 'I571' 16 'IT56' -21.6074 -34.8972 0.0 530 'ONLY' -POSI 'I571' 13 'IT56' -27.7553 -30.4461 0.0 529 'ONLY' -POSI 'I571' 14 'IT56' -32.7546 -24.7351 0.0 528 'ONLY' -POSI 'I571' 11 'IT56' -36.8794 -18.3637 0.0 527 'ONLY' -POSI 'I571' 12 'IT56' -39.4781 -11.2325 0.0 526 'ONLY' -POSI 'I571' 9 'IT56' -41.0228 -3.8013 0.0 525 'ONLY' -POSI 'I571' 10 'IT56' -40.8699 3.7872 0.0 524 'ONLY' -POSI 'I571' 7 'IT56' -39.6258 11.2745 0.0 523 'ONLY' -POSI 'I571' 8 'IT56' -36.742 18.2953 0.0 522 'ONLY' -POSI 'I571' 5 'IT56' -32.8771 24.8276 0.0 521 'ONLY' -POSI 'I571' 6 'IT56' -27.6518 30.3326 0.0 520 'ONLY' -POSI 'I571' 3 'IT56' -21.6882 35.0277 0.0 519 'ONLY' -POSI 'I571' 4 'IT56' -14.8272 38.2733 0.0 518 'ONLY' -POSI 'I571' 2 'IT56' -7.5702 40.497 0.0 517 'ONLY' -POSI 'I571' 1 'IT56' 0.0 41.045 0.0 0 'ONLY' -POSI 'I571' 33 'IT56' 7.5702 40.497 0.0 516 'ONLY' -POSI 'I571' 34 'IT56' 14.8272 38.2733 0.0 515 'ONLY' -POSI 'I571' 31 'IT56' 21.6882 35.0277 0.0 514 'ONLY' -POSI 'I571' 32 'IT56' 27.6518 30.3326 0.0 513 'ONLY' -POSI 'I571' 29 'IT56' 32.8771 24.8276 0.0 512 'ONLY' -POSI 'I571' 30 'IT56' 36.742 18.2953 0.0 511 'ONLY' -POSI 'I571' 27 'IT56' 39.6258 11.2745 0.0 510 'ONLY' -POSI 'I571' 28 'IT56' 40.8699 3.7871 0.0 509 'ONLY' -POSI 'I571' 26 'IT56' 41.0227 -3.8013 0.0 508 'ONLY' -POSI 'I571' 25 'IT56' 39.4781 -11.2325 0.0 507 'ONLY' -POSI 'I571' 23 'IT56' 36.8794 -18.3638 0.0 506 'ONLY' -POSI 'I571' 24 'IT56' 32.7546 -24.7352 0.0 505 'ONLY' -POSI 'I571' 21 'IT56' 27.7552 -30.4461 0.0 504 'ONLY' -POSI 'I571' 22 'IT56' 21.6074 -34.8972 0.0 503 'ONLY' -POSI 'I571' 19 'IT56' 14.8826 -38.4165 0.0 502 'ONLY' -POSI 'I571' 20 'IT56' 7.542 -40.3461 0.0 501 'ONLY' -POSI 'I553' 1 'I570' 0.0051 0.0 53.98 0 'ONLY' -POSI 'I523' 2 'I570' 0.0001 0.0 48.875 0 'ONLY' -POSI 'I523' 3 'I570' 0.0001 0.0 44.965 0 'ONLY' -POSI 'I523' 4 'I570' 0.0001 0.0 41.055 0 'ONLY' -POSI 'I523' 5 'I570' 0.0001 0.0 33.235 0 'ONLY' -POSI 'I523' 6 'I570' 0.0001 0.0 37.145 0 'ONLY' -POSI 'I523' 7 'I570' 0.0001 0.0 29.325 0 'ONLY' -POSI 'I523' 8 'I570' 0.0001 0.0 25.415 0 'ONLY' -POSI 'I523' 9 'I570' 0.0001 0.0 21.505 0 'ONLY' -POSI 'I523' 10 'I570' 0.0001 0.0 13.685 0 'ONLY' -POSI 'I523' 11 'I570' 0.0001 0.0 17.595 0 'ONLY' -POSI 'I523' 12 'I570' 0.0001 0.0 9.775 0 'ONLY' -POSI 'I523' 13 'I570' 0.0001 0.0 5.865 0 'ONLY' -POSI 'I523' 14 'I570' 0.0001 0.0 1.955 0 'ONLY' -POSI 'I523' 15 'I570' 0.0001 0.0 -1.955 0 'ONLY' -POSI 'I523' 16 'I570' 0.0001 0.0 -9.775 0 'ONLY' -POSI 'I523' 17 'I570' 0.0001 0.0 -5.865 0 'ONLY' -POSI 'I523' 18 'I570' 0.0001 0.0 -13.685 0 'ONLY' -POSI 'I523' 19 'I570' 0.0001 0.0 -21.505 0 'ONLY' -POSI 'I523' 20 'I570' 0.0001 0.0 -17.595 0 'ONLY' -POSI 'I523' 21 'I570' 0.0001 0.0 -25.415 0 'ONLY' -POSI 'I523' 22 'I570' 0.0001 0.0 -29.325 0 'ONLY' -POSI 'I523' 23 'I570' 0.0001 0.0 -37.145 0 'ONLY' -POSI 'I523' 24 'I570' 0.0001 0.0 -33.235 0 'ONLY' -POSI 'I523' 25 'I570' 0.0001 0.0 -44.965 0 'ONLY' -POSI 'I523' 26 'I570' 0.0001 0.0 -41.055 0 'ONLY' -POSI 'I553' 2 'I570' -0.0049 0.0 -53.98 570 'ONLY' -POSI 'I523' 1 'I570' 0.0001 0.0 -48.875 0 'ONLY' -POSI 'I566' 26 'I569' 0.0 0.03 -48.875 0 'ONLY' -POSI 'I568' 39 'I569' -1.8 0.015 48.455 572 'ONLY' -POSI 'I568' 38 'I569' 1.8 0.015 48.455 571 'ONLY' -POSI 'I568' 37 'I569' 0.0 0.015 50.555 571 'ONLY' -POSI 'I566' 2 'I569' 0.0 0.03 44.965 0 'ONLY' -POSI 'I566' 1 'I569' 0.0 -0.03 48.875 0 'ONLY' -POSI 'I568' 36 'I569' -1.8 0.015 40.635 572 'ONLY' -POSI 'I568' 35 'I569' 1.8 0.015 40.635 571 'ONLY' -POSI 'I568' 34 'I569' 0.0 0.015 42.735 571 'ONLY' -POSI 'I566' 4 'I569' 0.0 0.03 37.145 0 'ONLY' -POSI 'I566' 3 'I569' 0.0 -0.03 41.055 574 'ONLY' -POSI 'I568' 33 'I569' -1.8 0.015 32.815 572 'ONLY' -POSI 'I568' 32 'I569' 1.8 0.015 32.815 571 'ONLY' -POSI 'I568' 31 'I569' 0.0 0.015 34.915 571 'ONLY' -POSI 'I566' 6 'I569' 0.0 0.03 29.325 0 'ONLY' -POSI 'I566' 5 'I569' 0.0 -0.03 33.235 574 'ONLY' -POSI 'I568' 30 'I569' -1.8 0.015 24.995 572 'ONLY' -POSI 'I568' 29 'I569' 1.8 0.015 24.995 571 'ONLY' -POSI 'I568' 28 'I569' 0.0 0.015 27.095 571 'ONLY' -POSI 'I566' 8 'I569' 0.0 0.03 21.505 0 'ONLY' -POSI 'I566' 7 'I569' 0.0 -0.03 25.415 574 'ONLY' -POSI 'I568' 27 'I569' -1.8 0.015 17.175 572 'ONLY' -POSI 'I568' 26 'I569' 1.8 0.015 17.175 571 'ONLY' -POSI 'I568' 25 'I569' 0.0 0.015 19.275 571 'ONLY' -POSI 'I566' 10 'I569' 0.0 0.03 13.685 0 'ONLY' -POSI 'I566' 9 'I569' 0.0 -0.03 17.595 574 'ONLY' -POSI 'I568' 24 'I569' -1.8 0.015 9.355 572 'ONLY' -POSI 'I568' 23 'I569' 1.8 0.015 9.355 571 'ONLY' -POSI 'I568' 22 'I569' 0.0 0.015 11.455 571 'ONLY' -POSI 'I566' 12 'I569' 0.0 0.03 5.865 0 'ONLY' -POSI 'I566' 11 'I569' 0.0 -0.03 9.775 574 'ONLY' -POSI 'I568' 21 'I569' -1.8 0.015 1.535 572 'ONLY' -POSI 'I568' 20 'I569' 1.8 0.015 1.535 571 'ONLY' -POSI 'I568' 19 'I569' 0.0 0.015 3.635 571 'ONLY' -POSI 'I566' 14 'I569' 0.0 0.03 -1.955 0 'ONLY' -POSI 'I566' 13 'I569' 0.0 -0.03 1.955 0 'ONLY' -POSI 'I568' 18 'I569' -1.8 0.015 -6.285 572 'ONLY' -POSI 'I568' 17 'I569' 1.8 0.015 -6.285 571 'ONLY' -POSI 'I568' 16 'I569' 0.0 0.015 -4.185 571 'ONLY' -POSI 'I566' 16 'I569' 0.0 0.03 -9.775 0 'ONLY' -POSI 'I566' 15 'I569' 0.0 -0.03 -5.865 574 'ONLY' -POSI 'I568' 15 'I569' -1.8 0.015 -14.105 572 'ONLY' -POSI 'I568' 14 'I569' 1.8 0.015 -14.105 571 'ONLY' -POSI 'I568' 13 'I569' 0.0 0.015 -12.005 571 'ONLY' -POSI 'I566' 18 'I569' 0.0 0.03 -17.595 0 'ONLY' -POSI 'I566' 17 'I569' 0.0 -0.03 -13.685 574 'ONLY' -POSI 'I568' 12 'I569' -1.8 0.015 -21.925 572 'ONLY' -POSI 'I568' 11 'I569' 1.8 0.015 -21.925 571 'ONLY' -POSI 'I568' 10 'I569' 0.0 0.015 -19.825 571 'ONLY' -POSI 'I566' 20 'I569' 0.0 0.03 -25.415 0 'ONLY' -POSI 'I566' 19 'I569' 0.0 -0.03 -21.505 574 'ONLY' -POSI 'I568' 9 'I569' -1.8 0.015 -29.745 572 'ONLY' -POSI 'I568' 8 'I569' 1.8 0.015 -29.745 571 'ONLY' -POSI 'I568' 7 'I569' 0.0 0.015 -27.645 571 'ONLY' -POSI 'I566' 22 'I569' 0.0 0.03 -33.235 0 'ONLY' -POSI 'I566' 21 'I569' 0.0 -0.03 -29.325 574 'ONLY' -POSI 'I568' 6 'I569' -1.8 0.015 -37.565 572 'ONLY' -POSI 'I568' 5 'I569' 1.8 0.015 -37.565 571 'ONLY' -POSI 'I568' 4 'I569' 0.0 0.015 -35.465 571 'ONLY' -POSI 'I566' 24 'I569' 0.0 0.03 -41.055 0 'ONLY' -POSI 'I566' 23 'I569' 0.0 -0.03 -37.145 0 'ONLY' -POSI 'I568' 3 'I569' -1.8 0.015 -45.385 572 'ONLY' -POSI 'I568' 2 'I569' 1.8 0.015 -45.385 571 'ONLY' -POSI 'I568' 1 'I569' 0.0 0.015 -43.285 571 'ONLY' -POSI 'I566' 25 'I569' 0.0 -0.03 -44.965 574 'ONLY' -POSI 'I562' 22 'I565' 0.0 0.03 -39.2003 0 'ONLY' -POSI 'I564' 36 'I565' 1.8 0.015 42.6897 571 'ONLY' -POSI 'I564' 35 'I565' 0.0 0.015 44.7897 571 'ONLY' -POSI 'I564' 34 'I565' -1.8 0.015 42.6897 572 'ONLY' -POSI 'I562' 1 'I565' 0.0 -0.03 43.1097 574 'ONLY' -POSI 'I562' 2 'I565' 0.0 0.03 39.1997 0 'ONLY' -POSI 'I564' 33 'I565' 1.8 0.015 34.8497 571 'ONLY' -POSI 'I564' 32 'I565' 0.0 0.015 36.9497 571 'ONLY' -POSI 'I564' 31 'I565' -1.8 0.015 34.8497 572 'ONLY' -POSI 'I562' 3 'I565' 0.0 -0.03 35.2697 574 'ONLY' -POSI 'I562' 4 'I565' 0.0 0.03 31.3597 0 'ONLY' -POSI 'I564' 30 'I565' 1.8 0.015 27.0097 571 'ONLY' -POSI 'I564' 29 'I565' 0.0 0.015 29.1097 571 'ONLY' -POSI 'I564' 28 'I565' -1.8 0.015 27.0097 572 'ONLY' -POSI 'I562' 5 'I565' 0.0 -0.03 27.4297 574 'ONLY' -POSI 'I562' 6 'I565' 0.0 0.03 23.5197 0 'ONLY' -POSI 'I564' 27 'I565' 1.8 0.015 19.1697 571 'ONLY' -POSI 'I564' 26 'I565' 0.0 0.015 21.2697 571 'ONLY' -POSI 'I564' 25 'I565' -1.8 0.015 19.1697 572 'ONLY' -POSI 'I562' 7 'I565' 0.0 -0.03 19.5897 574 'ONLY' -POSI 'I562' 8 'I565' 0.0 0.03 15.6797 0 'ONLY' -POSI 'I564' 24 'I565' 1.8 0.015 11.3297 571 'ONLY' -POSI 'I564' 23 'I565' 0.0 0.015 13.4297 571 'ONLY' -POSI 'I564' 22 'I565' -1.8 0.015 11.3297 572 'ONLY' -POSI 'I562' 9 'I565' 0.0 -0.03 11.7497 574 'ONLY' -POSI 'I562' 10 'I565' 0.0 0.03 7.8397 0 'ONLY' -POSI 'I564' 21 'I565' 1.8 0.015 3.4897 571 'ONLY' -POSI 'I564' 20 'I565' 0.0 0.015 5.5897 571 'ONLY' -POSI 'I564' 19 'I565' -1.8 0.015 3.4897 572 'ONLY' -POSI 'I562' 11 'I565' 0.0 -0.03 3.9097 0 'ONLY' -POSI 'I562' 12 'I565' 0.0 0.03 -0.0003 0 'ONLY' -POSI 'I564' 18 'I565' 1.8 0.015 -4.3503 571 'ONLY' -POSI 'I564' 17 'I565' 0.0 0.015 -2.2503 571 'ONLY' -POSI 'I564' 16 'I565' -1.8 0.015 -4.3503 572 'ONLY' -POSI 'I562' 13 'I565' 0.0 -0.03 -3.9303 574 'ONLY' -POSI 'I562' 14 'I565' 0.0 0.03 -7.8403 0 'ONLY' -POSI 'I564' 15 'I565' 1.8 0.015 -12.1903 571 'ONLY' -POSI 'I564' 14 'I565' 0.0 0.015 -10.0903 571 'ONLY' -POSI 'I564' 13 'I565' -1.8 0.015 -12.1903 572 'ONLY' -POSI 'I562' 15 'I565' 0.0 -0.03 -11.7703 0 'ONLY' -POSI 'I562' 16 'I565' 0.0 0.03 -15.6803 0 'ONLY' -POSI 'I564' 12 'I565' 1.8 0.015 -20.0303 571 'ONLY' -POSI 'I564' 11 'I565' 0.0 0.015 -17.9303 571 'ONLY' -POSI 'I564' 10 'I565' -1.8 0.015 -20.0303 572 'ONLY' -POSI 'I562' 17 'I565' 0.0 -0.03 -19.6103 574 'ONLY' -POSI 'I562' 18 'I565' 0.0 0.03 -23.5203 0 'ONLY' -POSI 'I564' 9 'I565' 1.8 0.015 -27.8703 571 'ONLY' -POSI 'I564' 8 'I565' 0.0 0.015 -25.7703 571 'ONLY' -POSI 'I564' 7 'I565' -1.8 0.015 -27.8703 572 'ONLY' -POSI 'I562' 19 'I565' 0.0 -0.03 -27.4503 574 'ONLY' -POSI 'I562' 20 'I565' 0.0 0.03 -31.3603 0 'ONLY' -POSI 'I564' 6 'I565' 0.0 0.015 -41.4303 571 'ONLY' -POSI 'I564' 5 'I565' 1.8 0.015 -43.5303 571 'ONLY' -POSI 'I564' 4 'I565' -1.8 0.015 -43.5303 572 'ONLY' -POSI 'I562' 23 'I565' 0.0 -0.03 -43.1103 574 'ONLY' -POSI 'I564' 3 'I565' -1.8 0.015 -35.7103 572 'ONLY' -POSI 'I564' 2 'I565' 1.8 0.015 -35.7103 571 'ONLY' -POSI 'I564' 1 'I565' 0.0 0.015 -33.6103 571 'ONLY' -POSI 'I562' 21 'I565' 0.0 -0.03 -35.2903 574 'ONLY' -POSI 'I544' 1 'I571' 0.0101 0.0 48.115 0 'ONLY' -POSI 'I516' 23 'I571' 0.0001 0.0 43.01 0 'ONLY' -POSI 'I516' 22 'I571' 0.0001 0.0 39.1 0 'ONLY' -POSI 'I516' 21 'I571' 0.0001 0.0 35.19 0 'ONLY' -POSI 'I516' 20 'I571' 0.0001 0.0 31.28 0 'ONLY' -POSI 'I516' 19 'I571' 0.0001 0.0 27.37 0 'ONLY' -POSI 'I516' 18 'I571' 0.0001 0.0 23.46 0 'ONLY' -POSI 'I516' 17 'I571' 0.0001 0.0 19.55 0 'ONLY' -POSI 'I516' 16 'I571' 0.0001 0.0 15.64 0 'ONLY' -POSI 'I516' 15 'I571' 0.0001 0.0 11.73 0 'ONLY' -POSI 'I516' 14 'I571' 0.0001 0.0 7.82 0 'ONLY' -POSI 'I516' 13 'I571' 0.0001 0.0 3.91 0 'ONLY' -POSI 'I516' 12 'I571' 0.0001 0.0 0.0 0 'ONLY' -POSI 'I516' 11 'I571' 0.0001 0.0 -3.91 0 'ONLY' -POSI 'I516' 10 'I571' 0.0001 0.0 -7.82 0 'ONLY' -POSI 'I516' 9 'I571' 0.0001 0.0 -11.73 0 'ONLY' -POSI 'I516' 8 'I571' 0.0001 0.0 -15.64 0 'ONLY' -POSI 'I516' 7 'I571' 0.0001 0.0 -19.55 0 'ONLY' -POSI 'I516' 6 'I571' 0.0001 0.0 -23.46 0 'ONLY' -POSI 'I516' 5 'I571' 0.0001 0.0 -27.37 0 'ONLY' -POSI 'I516' 4 'I571' 0.0001 0.0 -31.28 0 'ONLY' -POSI 'I516' 3 'I571' 0.0001 0.0 -35.19 0 'ONLY' -POSI 'I516' 2 'I571' 0.0001 0.0 -39.1 0 'ONLY' -POSI 'I516' 1 'I571' 0.0001 0.0 -43.01 0 'ONLY' -POSI 'I544' 2 'I571' -0.0099 0.0 -48.115 570 'ONLY' -POSI 'I559' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 1 'I553' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I560' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I558' 1 'I553' -1.7167 -1.52 0.0 583 'ONLY' -POSI 'I557' 1 'I553' -1.8533 -1.341 0.0 581 'ONLY' -POSI 'I558' 2 'I553' 1.8367 -1.3122 0.0 575 'ONLY' -POSI 'I557' 2 'I553' 1.75 -1.52 0.0 583 'ONLY' -POSI 'I558' 3 'I553' -0.12 1.6613 0.0 581 'ONLY' -POSI 'I557' 3 'I553' 0.1034 1.6901 0.0 575 'ONLY' -POSI 'I556' 3 'I553' -1.031 0.2033 -2.203 580 'ONLY' -POSI 'I556' 1 'I553' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I554' 1 'I553' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I555' 1 'I553' -0.0072 -1.58 -1.2311 578 'ONLY' -POSI 'I556' 2 'I553' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I556' 4 'I553' -1.031 0.2033 -0.287 579 'ONLY' -POSI 'I559' 2 'I553' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I561' 1 'I553' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I561' 2 'I553' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I519' 37 'I523' 0.0001 -1.79 -0.99 586 'ONLY' -POSI 'I519' 36 'I523' -3.2986 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 35 'I523' -3.2986 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 34 'I523' -3.2286 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 33 'I523' -3.2286 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 32 'I523' -3.1586 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 31 'I523' -3.1586 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 30 'I523' -1.3436 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 29 'I523' -1.3436 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 28 'I523' -1.2736 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 27 'I523' -1.2736 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 26 'I523' -1.2036 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 25 'I523' -1.2036 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 24 'I523' -1.0458 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 23 'I523' -1.0458 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 22 'I523' -0.9758 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 21 'I523' -0.9758 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 20 'I523' -0.9058 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 19 'I523' -0.9058 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 18 'I523' 0.9092 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 17 'I523' 0.9092 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 16 'I523' 0.9792 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 15 'I523' 0.9792 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 14 'I523' 1.0492 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 13 'I523' 1.0492 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 12 'I523' 1.207 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 11 'I523' 1.207 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 10 'I523' 1.277 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 9 'I523' 1.277 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 8 'I523' 1.347 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 7 'I523' 1.347 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 6 'I523' 3.162 -1.71 -1.2943 0 'ONLY' -POSI 'I519' 5 'I523' 3.162 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 4 'I523' 3.232 -1.79 -1.2943 0 'ONLY' -POSI 'I519' 3 'I523' 3.232 -1.71 -1.2943 0 'ONLY' -POSI 'I521' 12 'I523' -2.8209 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 11 'I523' -1.6895 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 10 'I523' -0.5631 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 9 'I523' 0.5633 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 8 'I523' 1.6861 -1.7925 -0.982 0 'ONLY' -POSI 'I521' 7 'I523' 2.8161 -1.7925 -0.982 0 'ONLY' -POSI 'I519' 2 'I523' 3.302 -1.79 -1.2943 0 'ONLY' -POSI 'I520' 3 'I523' 0.0001 -1.845 -1.19 0 'ONLY' -POSI 'I520' 2 'I523' -2.2499 -1.845 -1.19 0 'ONLY' -POSI 'I521' 6 'I523' -2.8209 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 5 'I523' -1.6895 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 4 'I523' -0.5631 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 3 'I523' 0.5633 -1.7075 -0.982 0 'ONLY' -POSI 'I521' 2 'I523' 1.6861 -1.7075 -0.982 0 'ONLY' -POSI 'I518' 1 'I523' 0.0001 -1.75 -1.065 0 'ONLY' -POSI 'I519' 1 'I523' 3.302 -1.71 -1.2943 0 'ONLY' -POSI 'I520' 1 'I523' 2.2501 -1.845 -1.19 0 'ONLY' -POSI 'I521' 1 'I523' 2.8161 -1.7075 -0.982 0 'ONLY' -POSI 'I522' 1 'I523' 2.2501 -1.655 -1.3 583 'MANY' -POSI 'I522' 2 'I523' -2.2499 -1.655 -1.3 583 'MANY' -POSI 'I542' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 2 'I523' -2.2499 -1.615 0.0 573 'ONLY' -POSI 'I541' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I542' 1 'I523' 2.2501 -1.615 0.0 0 'ONLY' -POSI 'I543' 1 'I523' 2.1001 -1.615 0.955 0 'MANY' -POSI 'I543' 2 'I523' -2.0999 -1.615 0.955 573 'MANY' -POSI 'I537' 2 'I523' 1.7501 -1.52 0.0 583 'ONLY' -POSI 'I538' 2 'I523' 1.8368 -1.3122 0.0 575 'ONLY' -POSI 'I537' 3 'I523' 0.1035 1.6901 0.0 575 'ONLY' -POSI 'I538' 3 'I523' -0.1199 1.6612 0.0 581 'ONLY' -POSI 'I538' 1 'I523' -1.7166 -1.52 0.0 583 'ONLY' -POSI 'I537' 1 'I523' -1.8532 -1.341 0.0 581 'ONLY' -POSI 'I536' 3 'I523' -1.031 0.2033 -1.008 580 'ONLY' -POSI 'I536' 4 'I523' -1.031 0.2033 0.908 579 'ONLY' -POSI 'I535' 1 'I523' -0.0072 -1.58 -0.0361 578 'ONLY' -POSI 'I536' 2 'I523' 1.0312 0.2033 -1.008 577 'ONLY' -POSI 'I536' 1 'I523' 1.0312 0.2033 0.908 576 'ONLY' -POSI 'I534' 1 'I523' 0.0001 -1.58 1.905 0 'ONLY' -POSI 'I540' 1 'I523' 0.0001 -1.785 1.905 571 'ONLY' -POSI 'I539' 1 'I523' 1.8001 -1.75 -0.195 571 'ONLY' -POSI 'I539' 2 'I523' -1.7999 -1.75 -0.195 572 'ONLY' -POSI 'ITS6' 1 'I566' 0.0 0.0 0.0 0 'ONLY' -POSI 'ITS5' 1 'I562' 0.0 0.0 0.0 0 'ONLY' -POSI 'I550' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 1 'I544' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I551' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I550' 2 'I544' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I549' 1 'I544' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I548' 1 'I544' 1.8533 -1.341 0.0 575 'ONLY' -POSI 'I547' 1 'I544' 1.0311 0.2033 -0.287 576 'ONLY' -POSI 'I545' 1 'I544' 0.0 -1.58 0.71 0 'ONLY' -POSI 'I547' 2 'I544' 1.0311 0.2033 -2.203 577 'ONLY' -POSI 'I546' 1 'I544' -0.0073 -1.58 -1.2311 578 'ONLY' -POSI 'I547' 4 'I544' -1.0311 0.2033 -0.287 579 'ONLY' -POSI 'I547' 3 'I544' -1.0311 0.2033 -2.203 580 'ONLY' -POSI 'I548' 2 'I544' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I549' 2 'I544' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I549' 3 'I544' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I548' 3 'I544' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I552' 1 'I544' 2.1 -1.615 -0.24 0 'MANY' -POSI 'I552' 2 'I544' -2.1 -1.615 -0.24 573 'MANY' -POSI 'I515' 12 'I516' -1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 11 'I516' -1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 37 'I516' 0.0 -1.79 -1.035 586 'ONLY' -POSI 'I513' 1 'I516' -3.2987 -1.71 -1.2943 0 'ONLY' -POSI 'I515' 1 'I516' -2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I514' 1 'I516' -2.25 -1.845 -1.19 0 'ONLY' -POSI 'I514' 2 'I516' 0.0 -1.845 -1.19 0 'ONLY' -POSI 'I514' 3 'I516' 2.25 -1.845 -1.19 0 'ONLY' -POSI 'I515' 2 'I516' -2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I513' 2 'I516' -3.2987 -1.79 -1.2943 0 'ONLY' -POSI 'I515' 3 'I516' -0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 4 'I516' -0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 5 'I516' 0.5632 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 6 'I516' 0.5632 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 7 'I516' 1.6896 -1.7075 -0.9822 0 'ONLY' -POSI 'I515' 8 'I516' 1.6896 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 9 'I516' 2.816 -1.7925 -0.9822 0 'ONLY' -POSI 'I515' 10 'I516' 2.816 -1.7075 -0.9822 0 'ONLY' -POSI 'I513' 3 'I516' -3.2287 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 4 'I516' -3.2287 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 5 'I516' -3.1587 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 6 'I516' -3.1587 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 7 'I516' -1.3437 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 8 'I516' -1.3437 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 9 'I516' -1.2737 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 10 'I516' -1.2737 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 11 'I516' -1.2037 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 12 'I516' -1.2037 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 13 'I516' -1.046 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 14 'I516' -1.046 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 15 'I516' -0.976 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 16 'I516' -0.976 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 17 'I516' -0.906 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 18 'I516' -0.906 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 19 'I516' 0.9091 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 20 'I516' 0.9091 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 21 'I516' 0.9791 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 22 'I516' 0.9791 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 23 'I516' 1.0491 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 24 'I516' 1.0491 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 25 'I516' 1.2068 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 26 'I516' 1.2068 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 27 'I516' 1.2768 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 28 'I516' 1.2768 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 29 'I516' 1.3469 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 30 'I516' 1.3469 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 31 'I516' 3.1619 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 32 'I516' 3.1619 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 33 'I516' 3.2319 -1.71 -1.2943 0 'ONLY' -POSI 'I513' 34 'I516' 3.2319 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 35 'I516' 3.3019 -1.79 -1.2943 0 'ONLY' -POSI 'I513' 36 'I516' 3.3019 -1.71 -1.2943 0 'ONLY' -POSI 'I512' 1 'I516' 0.0 -1.75 -1.065 0 'ONLY' -POSI 'I528' 1 'I516' 1.7167 -1.52 0.0 583 'ONLY' -POSI 'I527' 1 'I516' 1.8534 -1.341 0.0 575 'ONLY' -POSI 'I528' 2 'I516' 0.12 1.6613 0.0 575 'ONLY' -POSI 'I527' 2 'I516' -0.1033 1.6901 0.0 581 'ONLY' -POSI 'I527' 3 'I516' -1.75 -1.52 0.0 583 'ONLY' -POSI 'I528' 3 'I516' -1.8367 -1.3122 0.0 581 'ONLY' -POSI 'I526' 2 'I516' 1.0311 0.2033 -1.008 577 'ONLY' -POSI 'I525' 1 'I516' -0.0073 -1.58 -0.0361 578 'ONLY' -POSI 'I524' 1 'I516' 0.0 -1.58 1.905 0 'ONLY' -POSI 'I526' 1 'I516' 1.0311 0.2033 0.908 576 'ONLY' -POSI 'I526' 3 'I516' -1.0311 0.2033 0.908 579 'ONLY' -POSI 'I526' 4 'I516' -1.0311 0.2033 -1.008 580 'ONLY' -POSI 'I529' 1 'I516' 1.8 -1.75 -0.195 571 'ONLY' -POSI 'I530' 1 'I516' 0.0 -1.785 1.905 571 'ONLY' -POSI 'I529' 2 'I516' -1.8 -1.75 -0.195 572 'ONLY' -POSI 'I517' 1 'I516' 2.25 -1.655 -1.3 583 'MANY' -POSI 'I517' 2 'I516' -2.25 -1.655 -1.3 584 'MANY' -POSI 'I531' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I531' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 1 'I516' 2.25 -1.615 0.0 0 'ONLY' -POSI 'I532' 2 'I516' -2.25 -1.615 0.0 573 'ONLY' -POSI 'I533' 1 'I516' 2.1 -1.615 0.955 0 'MANY' -POSI 'I533' 2 'I516' -2.1 -1.615 0.955 573 'MANY' -! -! POSITIONNEMENTS SUPPORT SSD -! -POSI 'I212' 2 'IS01' 0.0 0.0 -1.4 701 'MANY' -POSI 'I212' 1 'IS01' 0.0 0.0 0.0 0 'MANY' -POSI 'I210' 1 'IS01' 0.0 0.0 -0.7 0 'ONLY' -POSI 'I211' 1 'IS01' 0.0 0.0 -56.5 0 'ONLY' -POSI 'I217' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I218' 1 'IS01' 0.0 0.0 -47.75 0 'ONLY' -POSI 'I219' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I220' 1 'IS01' 0.0 0.0 -53.6 0 'ONLY' -POSI 'I211' 2 'IS01' 0.0 0.0 55.1 701 'ONLY' -POSI 'I219' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I220' 2 'IS01' 0.0 0.0 52.2 701 'ONLY' -POSI 'I217' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I218' 2 'IS01' 0.0 0.0 46.35 701 'ONLY' -POSI 'I214' 2 'IS01' 0.0 0.0 65.85 701 'ONLY' -POSI 'I213' 2 'IS01' 0.0 0.0 60.85 701 'ONLY' -POSI 'I213' 1 'IS01' 0.0 0.0 -62.25 0 'ONLY' -POSI 'I214' 1 'IS01' 0.0 0.0 -67.25 0 'ONLY' -POSI 'I215' 19 'IS01' 0.0 0.0 -1.4 702 'ONLY' -POSI 'I215' 21 'IS01' 0.0 0.0 -1.4 703 'ONLY' -POSI 'I215' 23 'IS01' 0.0 0.0 -1.4 704 'ONLY' -POSI 'I215' 24 'IS01' 0.0 0.0 -1.4 705 'ONLY' -POSI 'I215' 3 'IS01' 0.0 0.0 -1.4 706 'ONLY' -POSI 'I215' 5 'IS01' 0.0 0.0 -1.4 707 'ONLY' -POSI 'I215' 7 'IS01' 0.0 0.0 -1.4 708 'ONLY' -POSI 'I215' 9 'IS01' 0.0 0.0 -1.4 709 'ONLY' -POSI 'I215' 11 'IS01' 0.0 0.0 -1.4 710 'ONLY' -POSI 'I215' 13 'IS01' 0.0 0.0 -1.4 711 'ONLY' -POSI 'I215' 15 'IS01' 0.0 0.0 -1.4 712 'ONLY' -POSI 'I215' 17 'IS01' 0.0 0.0 -1.4 713 'ONLY' -POSI 'I216' 9 'IS01' 0.0 0.0 45.35 714 'ONLY' -POSI 'I216' 11 'IS01' 0.0 0.0 45.35 715 'ONLY' -POSI 'I216' 12 'IS01' 0.0 0.0 45.35 716 'ONLY' -POSI 'I216' 3 'IS01' 0.0 0.0 45.35 717 'ONLY' -POSI 'I216' 5 'IS01' 0.0 0.0 45.35 718 'ONLY' -POSI 'I216' 7 'IS01' 0.0 0.0 45.35 719 'ONLY' -POSI 'I216' 10 'IS01' 0.0 0.0 -46.75 720 'ONLY' -POSI 'I216' 1 'IS01' 0.0 0.0 -46.75 721 'ONLY' -POSI 'I216' 2 'IS01' 0.0 0.0 -46.75 722 'ONLY' -POSI 'I216' 4 'IS01' 0.0 0.0 -46.75 723 'ONLY' -POSI 'I216' 6 'IS01' 0.0 0.0 -46.75 724 'ONLY' -POSI 'I216' 8 'IS01' 0.0 0.0 -46.75 725 'ONLY' -POSI 'I215' 1 'IS01' 0.0 0.0 0.0 726 'ONLY' -POSI 'I215' 2 'IS01' 0.0 0.0 0.0 727 'ONLY' -POSI 'I215' 4 'IS01' 0.0 0.0 0.0 728 'ONLY' -POSI 'I215' 6 'IS01' 0.0 0.0 0.0 729 'ONLY' -POSI 'I215' 8 'IS01' 0.0 0.0 0.0 733 'ONLY' -POSI 'I215' 10 'IS01' 0.0 0.0 0.0 730 'ONLY' -POSI 'I215' 12 'IS01' 0.0 0.0 0.0 731 'ONLY' -POSI 'I215' 14 'IS01' 0.0 0.0 0.0 768 'ONLY' -POSI 'I215' 16 'IS01' 0.0 0.0 0.0 732 'ONLY' -POSI 'I215' 18 'IS01' 0.0 0.0 0.0 734 'ONLY' -POSI 'I215' 20 'IS01' 0.0 0.0 0.0 798 'ONLY' -POSI 'I215' 22 'IS01' 0.0 0.0 0.0 735 'ONLY' -! -! POSITIONNEMENTS SUPPORT SDD -! -POSI 'I093' 1 'IS02' 0.0 0.0 0.0 0 'MANY' -POSI 'I093' 2 'IS02' 0.0 0.0 0.0 856 'MANY' -POSI 'I099' 4 'IS02' 0.0 0.0 0.0 857 'ONLY' -POSI 'I099' 3 'IS02' 0.0 0.0 0.0 858 'ONLY' -POSI 'I099' 5 'IS02' 0.0 0.0 0.0 859 'ONLY' -POSI 'I099' 6 'IS02' 0.0 0.0 0.0 860 'ONLY' -POSI 'I099' 7 'IS02' 0.0 0.0 0.0 861 'ONLY' -POSI 'I099' 2 'IS02' 0.0 0.0 0.0 862 'ONLY' -POSI 'I200' 4 'IS02' 0.0 0.0 0.0 863 'ONLY' -POSI 'I200' 3 'IS02' 0.0 0.0 0.0 864 'ONLY' -POSI 'I200' 2 'IS02' 0.0 0.0 0.0 865 'ONLY' -POSI 'I200' 13 'IS02' 0.0 0.0 0.0 867 'ONLY' -POSI 'I200' 12 'IS02' 0.0 0.0 0.0 869 'ONLY' -POSI 'I200' 11 'IS02' 0.0 0.0 0.0 870 'ONLY' -POSI 'I200' 10 'IS02' 0.0 0.0 0.0 871 'ONLY' -POSI 'I200' 9 'IS02' 0.0 0.0 0.0 872 'ONLY' -POSI 'I200' 8 'IS02' 0.0 0.0 0.0 873 'ONLY' -POSI 'I200' 7 'IS02' 0.0 0.0 0.0 874 'ONLY' -POSI 'I200' 6 'IS02' 0.0 0.0 0.0 875 'ONLY' -POSI 'I200' 5 'IS02' 0.0 0.0 0.0 876 'ONLY' -POSI 'I090' 2 'IS02' 0.0 0.0 -39.15 0 'ONLY' -POSI 'I089' 1 'IS02' 0.0 0.0 0.0 0 'ONLY' -POSI 'I090' 1 'IS02' 0.0 0.0 39.15 856 'ONLY' -POSI 'I099' 9 'IS02' 0.0 0.0 0.0 877 'ONLY' -POSI 'I099' 8 'IS02' 0.0 0.0 0.0 879 'ONLY' -POSI 'I099' 1 'IS02' 0.0 0.0 0.0 880 'ONLY' -POSI 'I099' 12 'IS02' 0.0 0.0 0.0 881 'ONLY' -POSI 'I099' 11 'IS02' 0.0 0.0 0.0 851 'ONLY' -POSI 'I099' 10 'IS02' 0.0 0.0 0.0 882 'ONLY' -POSI 'I200' 23 'IS02' 0.0 0.0 0.0 898 'ONLY' -POSI 'I200' 24 'IS02' 0.0 0.0 0.0 883 'ONLY' -POSI 'I200' 1 'IS02' 0.0 0.0 0.0 884 'ONLY' -POSI 'I200' 14 'IS02' 0.0 0.0 0.0 885 'ONLY' -POSI 'I200' 15 'IS02' 0.0 0.0 0.0 887 'ONLY' -POSI 'I200' 16 'IS02' 0.0 0.0 0.0 888 'ONLY' -POSI 'I200' 17 'IS02' 0.0 0.0 0.0 889 'ONLY' -POSI 'I200' 18 'IS02' 0.0 0.0 0.0 890 'ONLY' -POSI 'I200' 22 'IS02' 0.0 0.0 0.0 891 'ONLY' -POSI 'I200' 21 'IS02' 0.0 0.0 0.0 892 'ONLY' -POSI 'I200' 20 'IS02' 0.0 0.0 0.0 868 'ONLY' -POSI 'I200' 19 'IS02' 0.0 0.0 0.0 893 'ONLY' -POSI 'I098' 1 'IS02' 0.0 0.0 32.1 0 'ONLY' -POSI 'I097' 1 'IS02' 0.0 0.0 25.1 0 'ONLY' -POSI 'I097' 2 'IS02' 0.0 0.0 -25.1 856 'ONLY' -POSI 'I098' 2 'IS02' 0.0 0.0 -32.1 856 'ONLY' -POSI 'I202' 1 'IS02' 12.1 0.0 33.84 0 'ONLY' -POSI 'I202' 6 'IS02' -6.05 -10.4789 33.84 930 'ONLY' -POSI 'I202' 5 'IS02' -6.05 10.4789 33.84 929 'ONLY' -POSI 'I202' 2 'IS02' 12.1 0.0 -33.84 856 'ONLY' -POSI 'I202' 3 'IS02' -6.05 10.4789 -33.84 932 'ONLY' -POSI 'I202' 4 'IS02' -6.05 -10.4789 -33.84 934 'ONLY' -POSI 'I203' 12 'IS02' 21.8453 0.0 -42.24 856 'ONLY' -POSI 'I203' 11 'IS02' 10.9227 -18.9186 -42.24 935 'ONLY' -POSI 'I203' 10 'IS02' 10.9227 -18.9186 42.24 846 'ONLY' -POSI 'I203' 9 'IS02' -10.9227 -18.9186 -42.24 934 'ONLY' -POSI 'I203' 8 'IS02' -10.9227 -18.9186 42.24 930 'ONLY' -POSI 'I203' 7 'IS02' -21.8453 0.0 -42.24 933 'ONLY' -POSI 'I203' 6 'IS02' -21.8453 0.0 42.24 878 'ONLY' -POSI 'I203' 5 'IS02' -10.9227 18.9186 -42.24 932 'ONLY' -POSI 'I203' 4 'IS02' -10.9227 18.9186 42.24 929 'ONLY' -POSI 'I203' 3 'IS02' 10.9227 18.9186 -42.24 931 'ONLY' -POSI 'I203' 2 'IS02' 10.9227 18.9186 42.24 853 'ONLY' -POSI 'I203' 1 'IS02' 21.8453 0.0 42.24 0 'ONLY' -POSI 'I095' 1 'I098' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 23 'I098' 22.77 0.0 0.0 894 'MANY' -POSI 'I096' 14 'I098' 22.3754 6.57 0.0 895 'MANY' -POSI 'I096' 3 'I098' 19.1553 12.3104 0.0 896 'MANY' -POSI 'I096' 16 'I098' 15.2714 17.6241 0.0 897 'MANY' -POSI 'I096' 5 'I098' 9.459 20.7123 0.0 899 'MANY' -POSI 'I096' 18 'I098' 3.3188 23.0826 0.0 900 'MANY' -POSI 'I096' 7 'I098' -3.2405 22.5382 0.0 901 'MANY' -POSI 'I096' 20 'I098' -9.6875 21.2126 0.0 902 'MANY' -POSI 'I096' 9 'I098' -14.9112 17.2084 0.0 903 'MANY' -POSI 'I096' 22 'I098' -19.618 12.6077 0.0 904 'MANY' -POSI 'I096' 11 'I098' -21.8477 6.4151 0.0 905 'MANY' -POSI 'I096' 24 'I098' -23.32 0.0 0.0 906 'MANY' -POSI 'I096' 13 'I098' -21.8477 -6.4151 0.0 907 'MANY' -POSI 'I096' 4 'I098' -19.618 -12.6077 0.0 908 'MANY' -POSI 'I096' 15 'I098' -14.9112 -17.2084 0.0 909 'MANY' -POSI 'I096' 6 'I098' -9.6875 -21.2126 0.0 910 'MANY' -POSI 'I096' 17 'I098' -3.2405 -22.5382 0.0 911 'MANY' -POSI 'I096' 8 'I098' 3.3188 -23.0826 0.0 912 'MANY' -POSI 'I096' 19 'I098' 9.459 -20.7123 0.0 913 'MANY' -POSI 'I096' 10 'I098' 15.2714 -17.6241 0.0 914 'MANY' -POSI 'I096' 21 'I098' 19.1553 -12.3104 0.0 915 'MANY' -POSI 'I096' 12 'I098' 22.3754 -6.57 0.0 916 'MANY' -POSI 'I094' 1 'I097' 0.0 0.0 0.0 0 'ONLY' -POSI 'I096' 1 'I097' 13.87 0.0 0.0 894 'MANY' -POSI 'I096' 32 'I097' 13.037 6.2783 0.0 917 'MANY' -POSI 'I096' 25 'I097' 8.6478 10.844 0.0 918 'MANY' -POSI 'I096' 34 'I097' 3.2199 14.1072 0.0 919 'MANY' -POSI 'I096' 27 'I097' -3.0864 13.5223 0.0 920 'MANY' -POSI 'I096' 36 'I097' -9.0219 11.3131 0.0 921 'MANY' -POSI 'I096' 29 'I097' -12.4964 6.018 0.0 922 'MANY' -POSI 'I096' 2 'I097' -14.47 0.0 0.0 906 'MANY' -POSI 'I096' 31 'I097' -12.4964 -6.018 0.0 923 'MANY' -POSI 'I096' 26 'I097' -9.0219 -11.3131 0.0 924 'MANY' -POSI 'I096' 33 'I097' -3.0864 -13.5223 0.0 925 'MANY' -POSI 'I096' 28 'I097' 3.2199 -14.1072 0.0 926 'MANY' -POSI 'I096' 35 'I097' 8.6478 -10.844 0.0 927 'MANY' -POSI 'I096' 30 'I097' 13.037 -6.2783 0.0 928 'MANY' -! -! POSITIONNEMENTS SERVICES -! -POSI 'I1CU' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I1CU' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I2CU' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I2CU' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I1CC' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I1CC' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'I2CC' 1 'ITSV' 0. 0. 86.7 0 'ONLY' -POSI 'I2CC' 2 'ITSV' 0. 0. -86.7 212 'ONLY' -POSI 'IPA1' 1 'ITSV' 0. 0. 98.45 0 'ONLY' -POSI 'IPA1' 2 'ITSV' 0. 0. -98.45 212 'ONLY' -POSI 'IPA2' 1 'ITSV' 0. 0. 98.45 0 'ONLY' -POSI 'IPA2' 2 'ITSV' 0. 0. -98.45 212 'ONLY' -POSI 'ICU1' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICU1' 2 'ITSV' 0. 0. -192.35 212 'ONLY' -POSI 'ICU2' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICU2' 2 'ITSV' 0. 0. -192.35 212 'ONLY' -POSI 'ICU3' 1 'ITSV' 0. 0. 286. 0 'ONLY' -POSI 'ICU3' 2 'ITSV' 0. 0. -286. 212 'ONLY' -POSI 'ICU4' 1 'ITSV' 0. 0. 286. 0 'ONLY' -POSI 'ICU4' 2 'ITSV' 0. 0. -286. 212 'ONLY' -POSI 'ICC1' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICC1' 2 'ITSV' 0. 0. -192.35 212 'ONLY' -POSI 'ICC2' 1 'ITSV' 0. 0. 192.35 0 'ONLY' -POSI 'ICC2' 2 'ITSV' 0. 0. -192.35 212 'ONLY' -POSI 'ICC3' 1 'ITSV' 0. 0. 284.75 0 'ONLY' -POSI 'ICC3' 2 'ITSV' 0. 0. -284.75 212 'ONLY' -POSI 'ICC4' 1 'ITSV' 0. 0. 284.75 0 'ONLY' -POSI 'ICC4' 2 'ITSV' 0. 0. -284.75 212 'ONLY' -POSI 'IHK1' 1 'ITSV' 0. 0. -286.5 0 'ONLY' -POSI 'IHK2' 1 'ITSV' 0. 0. -286.5 0 'ONLY' -! -! POSITIONNEMENTS RAILS -! -POSI 'IRAI' 1 'ITSV' 53. 0. -69.5 0 'ONLY' -POSI 'IRAI' 2 'ITSV' -53. 0. -69.5 0 'ONLY' -!POSI 'ICYL' 1 'ALIC' 0. 0. 74. 0 'ONLY -!POSI 'ICYL' 2 'ALIC' 0. 0. -74. 212 'ONLY -! -! Positionnements Finals -! -POSI 'ITSD' 1 'ITSV' 0 0 0 0 'ONLY' -END - - diff --git a/Euclid/ITSgeometry_5symm.tme b/Euclid/ITSgeometry_5symm.tme deleted file mode 100644 index b7147fefffb..00000000000 --- a/Euclid/ITSgeometry_5symm.tme +++ /dev/null @@ -1,77 +0,0 @@ -MATE 1 'SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 1 'SI ' 1 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 2 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 2 'SPD SI CHIP ' 2 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 3 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 3 'SPD SI BUS ' 3 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 4 'C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 4 'C (M55J) ' 4 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 5 'AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 5 'AIR ' 5 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 6 'GEN AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 6 'GEN AIR ' 6 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 7 'SDD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 7 'SDD SI CHIP ' 7 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 9 'SDD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 9 'SDD C (M55J) ' 9 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 10 'SDD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 10 'SDD AIR ' 10 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 11 'AL ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 11 'AL ' 11 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 12 'WATER ' 0.14322E+02 0.72167E+01 0.10000E+01 -0.35759E+02 0.94951E+02 0 -TMED 12 'WATER ' 12 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 14 'COPPER ' 0.63546E+02 0.29000E+02 0.89600E+01 -0.14300E+01 0.99900E+03 0 -TMED 14 'COPPER ' 14 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 15 'CERAMICS ' 0.22314E+02 0.10856E+02 0.36000E+01 -0.76200E+01 0.31901E+02 0 -TMED 15 'CERAMICS ' 15 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 20 'SSD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 20 'SSD C (M55J) ' 20 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 21 'SSD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 21 'SSD AIR ' 21 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 25 'G10FR4 ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 25 'G10FR4 ' 25 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 26 'GEN C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 26 'GEN C (M55J) ' 26 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 27 'GEN Air ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 27 'GEN Air ' 27 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 51 'SPD SI ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 51 'SPD SI ' 51 1 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 52 'SPD SI CHIP ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 52 'SPD SI CHIP ' 52 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 53 'SPD SI BUS ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 53 'SPD SI BUS ' 53 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 54 'SPD C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 54 'SPD C (M55J) ' 54 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 55 'SPD AIR ' 0.14610E+02 0.73000E+01 0.12050E-02 -0.30423E+05 0.99900E+03 0 -TMED 55 'SPD AIR ' 55 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 56 'SPD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 56 'SPD KAPTON (POLYCH2)' 56 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 61 'EPOXY ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 61 'EPOXY ' 61 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 62 'SILICON ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 62 'SILICON ' 62 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 63 'KAPTON-H (POLYCH2) ' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 63 'KAPTON-H (POLYCH2 ' 63 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 64 'ALUMINUM ' 0.26982E+02 0.13000E+02 0.26989E+01 -0.89000E+01 0.99900E+03 0 -TMED 64 'ALUMINUM ' 64 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 65 'INOX ' 0.55098E+02 0.2572E+02 0.7900E+01 -0.17800E+01 0.99900E+03 0 -TMED 65 'INOX ' 65 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 68 'ROHACELL (Z,A ?) ' 0.12011E+02 0.60000E+01 0.9500E-01 -0.43600E+03 0.99900E+03 0 -TMED 68 'ROHACELL (Z,A ?) ' 68 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 69 'SDD C AL (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 69 'SDD C AL (M55J) ' 69 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 70 'SDD KAPTON (POLYCH2)' 0.14000E+02 0.71770E+01 0.13000E+01 -0.31270E+02 0.99900E+03 0 -TMED 70 'SDD KAPTON (POLYCH2)' 70 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 71 'ITS SANDW A (Z,A ?) ' 0.12011E+02 0.60000E+01 0.2115E+00 -0.17479E+03 0.99900E+03 0 -TMED 71 'ITS SANDW A (Z,A ?) ' 71 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 72 'ITS SANDW B (Z,A ?) ' 0.12011E+02 0.60000E+01 0.27000E+00 -0.18956E+03 0.99900E+03 0 -TMED 72 'ITS SANDW B (Z,A ?) ' 72 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 73 'ITS SANDW C (Z,A ?) ' 0.12011E+02 0.60000E+01 0.41000E+00 -0.90868E+02 0.99900E+03 0 -TMED 73 'ITS SANDW C (Z,A ?) ' 73 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 74 'HEAT COND GLUE (Z,A)' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 74 'HEAT COND GLUE (Z,A)' 74 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 75 'ELASTO SIL ' 0.28086E+02 0.14000E+02 0.23300E+01 -0.93600E+01 0.99900E+03 0 -TMED 75 'ELASTO SIL ' 75 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -MATE 76 'SPD BUS(AL+KPT+EPOX)' 0.19509E+02 0.96502E+01 0.19060E+01 -0.15413E+02 0.99900E+03 0 -TMED 76 'SPD BUS(AL+KPT+EPOX)' 76 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 -END diff --git a/Euclid/bpipeb.euc b/Euclid/bpipeb.euc deleted file mode 100644 index fa4e1ef848b..00000000000 --- a/Euclid/bpipeb.euc +++ /dev/null @@ -1,233 +0,0 @@ -! -! Reperes -! -ROTM 1 90.0 240.0 0.0 0.0 90.0 150.0 -ROTM 2 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 3 90.0 120.0 0.0 0.0 90.0 30.0 -ROTM 4 90.0 315.0 90.0 45.0 0.0 0.0 -ROTM 5 90.0 270.0 90.0 0.0 0.0 0.0 -ROTM 6 90.0 225.0 90.0 315.0 0.0 0.0 -ROTM 78 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 7 90.0 135.0 90.0 225.0 0.0 0.0 -ROTM 50 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 8 90.0 45.0 90.0 135.0 0.0 0.0 -ROTM 9 90.0 180.0 90.0 90.0 180.0 0.0 -! -! Volumes -! -VOLU 'QBPM' 'PCON' 27 36 - 0 360 11 -90 0 5.8 -81.0 0. 5.8 -81. 0. 4.2 -32 0 4.2 -32 0 3.2 0 0 3.2 32 0 3.2 32 0 4.2 250 0 4.2 - 250 0 5 800 0 5 -VOLU 'QB11' 'TUBE' 67 3 - 0 2.9 445 -VOLU 'QB00' 'TUBE' 66 3 - 2.9 3 29 -VOLU 'QB02' 'TUBE' 64 3 - 3 3.15 0.375 -VOLU 'QB01' 'TUBE' 65 3 - 3 3.15 0.375 -VOLU 'QB04' 'TUBE' 64 3 - 2.9 3.15 2.375 -VOLU 'QB03' 'TUBE' 65 3 - 2.9 3.15 2.375 -VOLU 'QB05' 'TUBE' 65 3 - 3.15 3.5 0.1 -VOLU 'QB06' 'TUBE' 64 3 - 3.15 3.5 0.1 -VOLU 'QB08' 'TUBE' 65 3 - 0 0.1 0.5 -VOLU 'QB10' 'TUBE' 64 3 - 2.9 3 85.175 -VOLU 'QB07' 'TUBE' 26 3 - 3.15 4.1 0.55 -VOLU 'QB30' 'TUBE' 65 3 - 0 0.7 3 -VOLU 'QB29' 'TUBE' 65 3 - 3 4.9 2.2 -VOLU 'QB28' 'TUBE' 65 3 - 2.9 3 275.05 -VOLU 'QB27' 'TUBE' 65 3 - 2.9 3 1 -VOLU 'QB26' 'TUBE' 65 3 - 2.9 3.15 1.5 -VOLU 'QB25' 'TUBE' 64 3 - 3 3.15 2.75 -VOLU 'QB20' 'TUBE' 27 3 - 2.9 3.75 5.7 -VOLU 'QB23' 'TUBE' 65 3 - 2.9 3 9 -VOLU 'QB24' 'TUBE' 65 3 - 2.9 3 3.575 -VOLU 'QB22' 'TUBE' 65 3 - 2.9 3 0.45 -VOLU 'QB19' 'TUBE' 67 3 - 2.9 3.25 3.7 -VOLU 'QB18' 'TUBE' 67 3 - 3.25 3.74 0.095 -VOLU 'QB21' 'TUBE' 65 3 - 2.9 3 1.2 -VOLU 'QB15' 'TUBE' 65 3 - 3.25 3.75 0.005 -VOLU 'QB16' 'TUBE' 65 3 - 3.74 3.75 0.095 -VOLU 'QB17' 'TUBE' 65 3 - 3.25 3.26 0.095 -VOLU 'QB14' 'TUBE' 65 3 - 3.25 3.26 0.3975 -VOLU 'QB13' 'TUBE' 65 3 - 2.9 3.26 0.05 -VOLU 'QB12' 'TUBE' 65 3 - 2.9 3 0.7 -VOLU 'QB31' 'TUBE' 65 3 - 2.9 5.7 2.2 -VOLU 'QB32' 'TUBE' 65 3 - 2.9 3.0 1.5 -! -! Divisions -! -! -! Positionnements -! -POSI 'QB11' 1 'QBPM' 0.0 0.0 355.0 0 'ONLY' -POSI 'QB00' 1 'QBPM' 0.0 0.0 0.0 0 'ONLY' -POSI 'QB02' 1 'QBPM' 0.0 0.0 28.625 0 'ONLY' -POSI 'QB01' 1 'QBPM' 0.0 0.0 -28.625 0 'ONLY' -POSI 'QB04' 1 'QBPM' 0.0 0.0 31.375 0 'ONLY' -POSI 'QB03' 1 'QBPM' 0.0 0.0 -31.375 0 'ONLY' -POSI 'QB05' 1 'QBPM' 0.0 0.0 -33.65 0 'ONLY' -POSI 'QB05' 2 'QBPM' 0.0 0.0 -32.35 0 'ONLY' -POSI 'QB06' 1 'QBPM' 0.0 0.0 33.65 0 'ONLY' -POSI 'QB06' 2 'QBPM' 0.0 0.0 32.35 0 'ONLY' -POSI 'QB08' 1 'QBPM' 0.0 3.65 -33.0 2 'ONLY' -POSI 'QB08' 2 'QBPM' 3.161 -1.825 -33.0 1 'ONLY' -POSI 'QB08' 3 'QBPM' -3.161 -1.825 -33.0 3 'ONLY' -POSI 'QB08' 4 'QBPM' -3.161 -1.825 33.0 3 'ONLY' -POSI 'QB08' 5 'QBPM' 0.0 3.65 33.0 2 'ONLY' -POSI 'QB08' 6 'QBPM' 3.161 -1.825 33.0 1 'ONLY' -POSI 'QB10' 1 'QBPM' 0.0 0.0 118.925 0 'ONLY' -POSI 'QB07' 1 'QBPM' 0.0 0.0 -33.0 0 'MANY' -POSI 'QB07' 2 'QBPM' 0.0 0.0 33.0 0 'MANY' -POSI 'QB30' 16 'QBPM' 2.8284 2.8284 654.8 4 'ONLY' -POSI 'QB30' 15 'QBPM' 4.0 0.0 654.8 5 'ONLY' -POSI 'QB30' 14 'QBPM' 2.8284 -2.8284 654.8 6 'ONLY' -POSI 'QB30' 13 'QBPM' 0.0 -4.0 654.8 78 'ONLY' -POSI 'QB30' 12 'QBPM' -2.8284 -2.8284 654.8 7 'ONLY' -POSI 'QB30' 11 'QBPM' -4.0 0.0 654.8 50 'ONLY' -POSI 'QB30' 10 'QBPM' -2.8284 2.8284 654.8 8 'ONLY' -POSI 'QB30' 9 'QBPM' 0.0 4.0 654.8 0 'ONLY' -POSI 'QB29' 2 'QBPM' 0.0 0.0 654.8 0 'ONLY' -POSI 'QB30' 8 'QBPM' 2.8284 2.8284 254.8 4 'ONLY' -POSI 'QB30' 7 'QBPM' 4.0 0.0 254.8 5 'ONLY' -POSI 'QB30' 6 'QBPM' 2.8284 -2.8284 254.8 6 'ONLY' -POSI 'QB30' 5 'QBPM' 0.0 -4.0 254.8 78 'ONLY' -POSI 'QB30' 4 'QBPM' -2.8284 -2.8284 254.8 7 'ONLY' -POSI 'QB30' 3 'QBPM' -4.0 0.0 254.8 50 'ONLY' -POSI 'QB30' 2 'QBPM' -2.8284 2.8284 254.8 8 'ONLY' -POSI 'QB30' 1 'QBPM' 0.0 4.0 254.8 0 'ONLY' -POSI 'QB29' 1 'QBPM' 0.0 0.0 254.8 0 'ONLY' -POSI 'QB28' 1 'QBPM' 0.0 0.0 524.95 0 'ONLY' -POSI 'QB27' 1 'QBPM' 0.0 0.0 208.1 0 'ONLY' -POSI 'QB26' 1 'QBPM' 0.0 0.0 205.6 0 'ONLY' -POSI 'QB25' 1 'QBPM' 0.0 0.0 201.35 0 'ONLY' -POSI 'QB20' 4 'QBPM' 0.0 0.0 214.8 0 'ONLY' -POSI 'QB20' 3 'QBPM' 0.0 0.0 244.2 9 'ONLY' -POSI 'QB23' 2 'QBPM' 0.0 0.0 229.5 0 'ONLY' -POSI 'QB06' 4 'QBPM' 0.0 0.0 200.0 0 'ONLY' -POSI 'QB06' 3 'QBPM' 0.0 0.0 198.7 0 'ONLY' -POSI 'QB08' 9 'QBPM' 0.0 3.65 199.35 2 'ONLY' -POSI 'QB08' 8 'QBPM' -3.161 -1.825 199.35 3 'ONLY' -POSI 'QB08' 7 'QBPM' 3.161 -1.825 199.35 1 'ONLY' -POSI 'QB24' 1 'QBPM' 0.0 0.0 -37.325 0 'ONLY' -POSI 'QB23' 1 'QBPM' 0.0 0.0 -61.3 0 'ONLY' -POSI 'QB22' 1 'QBPM' 0.0 0.0 -82.15 0 'ONLY' -POSI 'QB20' 2 'QBPM' 0.0 0.0 -46.6 9 'ONLY' -POSI 'QB20' 1 'QBPM' 0.0 0.0 -76.0 0 'ONLY' -POSI 'QB07' 3 'QBPM' 0.0 0.0 199.35 0 'MANY' -POSI 'QB31' 1 'QBPM' 0.0 0.0 -84.8 0 'ONLY' -POSI 'QB32' 1 'QBPM' 0.0 0.0 -88.5 0 'ONLY' -POSI 'QB19' 1 'QB20' 0.0 0.0 0.5 0 'ONLY' -POSI 'QB18' 15 'QB20' 0.0 0.0 -2.3 0 'ONLY' -POSI 'QB18' 14 'QB20' 0.0 0.0 -1.9 0 'ONLY' -POSI 'QB18' 13 'QB20' 0.0 0.0 -1.5 0 'ONLY' -POSI 'QB18' 12 'QB20' 0.0 0.0 -1.1 0 'ONLY' -POSI 'QB18' 11 'QB20' 0.0 0.0 -0.7 0 'ONLY' -POSI 'QB18' 10 'QB20' 0.0 0.0 -0.3 0 'ONLY' -POSI 'QB18' 9 'QB20' 0.0 0.0 0.1 0 'ONLY' -POSI 'QB18' 8 'QB20' 0.0 0.0 0.5 0 'ONLY' -POSI 'QB18' 7 'QB20' 0.0 0.0 0.9 0 'ONLY' -POSI 'QB18' 6 'QB20' 0.0 0.0 1.3 0 'ONLY' -POSI 'QB18' 5 'QB20' 0.0 0.0 1.7 0 'ONLY' -POSI 'QB18' 4 'QB20' 0.0 0.0 2.1 0 'ONLY' -POSI 'QB18' 3 'QB20' 0.0 0.0 2.5 0 'ONLY' -POSI 'QB18' 2 'QB20' 0.0 0.0 2.9 0 'ONLY' -POSI 'QB18' 1 'QB20' 0.0 0.0 3.3 0 'ONLY' -POSI 'QB21' 1 'QB20' 0.0 0.0 -4.5 0 'ONLY' -POSI 'QB15' 3 'QB20' 0.0 0.0 -2.2 0 'ONLY' -POSI 'QB16' 2 'QB20' 0.0 0.0 -2.3 0 'ONLY' -POSI 'QB15' 4 'QB20' 0.0 0.0 -2.4 0 'ONLY' -POSI 'QB15' 5 'QB20' 0.0 0.0 -1.8 0 'ONLY' -POSI 'QB16' 3 'QB20' 0.0 0.0 -1.9 0 'ONLY' -POSI 'QB15' 6 'QB20' 0.0 0.0 -2.0 0 'ONLY' -POSI 'QB17' 2 'QB20' 0.0 0.0 -2.1 0 'ONLY' -POSI 'QB15' 7 'QB20' 0.0 0.0 -1.4 0 'ONLY' -POSI 'QB16' 4 'QB20' 0.0 0.0 -1.5 0 'ONLY' -POSI 'QB15' 8 'QB20' 0.0 0.0 -1.6 0 'ONLY' -POSI 'QB17' 3 'QB20' 0.0 0.0 -1.7 0 'ONLY' -POSI 'QB15' 9 'QB20' 0.0 0.0 -1.0 0 'ONLY' -POSI 'QB16' 5 'QB20' 0.0 0.0 -1.1 0 'ONLY' -POSI 'QB15' 10 'QB20' 0.0 0.0 -1.2 0 'ONLY' -POSI 'QB17' 4 'QB20' 0.0 0.0 -1.3 0 'ONLY' -POSI 'QB15' 11 'QB20' 0.0 0.0 -0.6 0 'ONLY' -POSI 'QB16' 6 'QB20' 0.0 0.0 -0.7 0 'ONLY' -POSI 'QB15' 12 'QB20' 0.0 0.0 -0.8 0 'ONLY' -POSI 'QB17' 5 'QB20' 0.0 0.0 -0.9 0 'ONLY' -POSI 'QB15' 13 'QB20' 0.0 0.0 -0.2 0 'ONLY' -POSI 'QB16' 7 'QB20' 0.0 0.0 -0.3 0 'ONLY' -POSI 'QB15' 14 'QB20' 0.0 0.0 -0.4 0 'ONLY' -POSI 'QB17' 6 'QB20' 0.0 0.0 -0.5 0 'ONLY' -POSI 'QB15' 15 'QB20' 0.0 0.0 0.2 0 'ONLY' -POSI 'QB16' 8 'QB20' 0.0 0.0 0.1 0 'ONLY' -POSI 'QB15' 16 'QB20' 0.0 0.0 0.0 0 'ONLY' -POSI 'QB17' 7 'QB20' 0.0 0.0 -0.1 0 'ONLY' -POSI 'QB15' 17 'QB20' 0.0 0.0 0.6 0 'ONLY' -POSI 'QB16' 9 'QB20' 0.0 0.0 0.5 0 'ONLY' -POSI 'QB15' 18 'QB20' 0.0 0.0 0.4 0 'ONLY' -POSI 'QB17' 8 'QB20' 0.0 0.0 0.3 0 'ONLY' -POSI 'QB15' 19 'QB20' 0.0 0.0 1.0 0 'ONLY' -POSI 'QB16' 10 'QB20' 0.0 0.0 0.9 0 'ONLY' -POSI 'QB15' 20 'QB20' 0.0 0.0 0.8 0 'ONLY' -POSI 'QB17' 9 'QB20' 0.0 0.0 0.7 0 'ONLY' -POSI 'QB15' 21 'QB20' 0.0 0.0 1.4 0 'ONLY' -POSI 'QB16' 11 'QB20' 0.0 0.0 1.3 0 'ONLY' -POSI 'QB15' 22 'QB20' 0.0 0.0 1.2 0 'ONLY' -POSI 'QB17' 10 'QB20' 0.0 0.0 1.1 0 'ONLY' -POSI 'QB15' 23 'QB20' 0.0 0.0 1.8 0 'ONLY' -POSI 'QB16' 12 'QB20' 0.0 0.0 1.7 0 'ONLY' -POSI 'QB15' 24 'QB20' 0.0 0.0 1.6 0 'ONLY' -POSI 'QB17' 11 'QB20' 0.0 0.0 1.5 0 'ONLY' -POSI 'QB15' 25 'QB20' 0.0 0.0 2.2 0 'ONLY' -POSI 'QB16' 13 'QB20' 0.0 0.0 2.1 0 'ONLY' -POSI 'QB15' 26 'QB20' 0.0 0.0 2.0 0 'ONLY' -POSI 'QB17' 12 'QB20' 0.0 0.0 1.9 0 'ONLY' -POSI 'QB15' 27 'QB20' 0.0 0.0 2.6 0 'ONLY' -POSI 'QB16' 14 'QB20' 0.0 0.0 2.5 0 'ONLY' -POSI 'QB15' 28 'QB20' 0.0 0.0 2.4 0 'ONLY' -POSI 'QB17' 13 'QB20' 0.0 0.0 2.3 0 'ONLY' -POSI 'QB15' 29 'QB20' 0.0 0.0 3.0 0 'ONLY' -POSI 'QB16' 15 'QB20' 0.0 0.0 2.9 0 'ONLY' -POSI 'QB15' 30 'QB20' 0.0 0.0 2.8 0 'ONLY' -POSI 'QB17' 14 'QB20' 0.0 0.0 2.7 0 'ONLY' -POSI 'QB17' 1 'QB20' 0.0 0.0 3.1 0 'ONLY' -POSI 'QB15' 2 'QB20' 0.0 0.0 3.2 0 'ONLY' -POSI 'QB16' 1 'QB20' 0.0 0.0 3.3 0 'ONLY' -POSI 'QB15' 1 'QB20' 0.0 0.0 3.4 0 'ONLY' -POSI 'QB14' 2 'QB20' 0.0 0.0 -2.8025 0 'ONLY' -POSI 'QB14' 1 'QB20' 0.0 0.0 3.8025 0 'ONLY' -POSI 'QB13' 2 'QB20' 0.0 0.0 -3.25 0 'ONLY' -POSI 'QB13' 1 'QB20' 0.0 0.0 4.25 0 'ONLY' -POSI 'QB12' 2 'QB20' 0.0 0.0 5.0 0 'ONLY' -END - - - - diff --git a/Euclid/bpumpa.euc b/Euclid/bpumpa.euc deleted file mode 100644 index 29fb7d067fd..00000000000 --- a/Euclid/bpumpa.euc +++ /dev/null @@ -1,28 +0,0 @@ -! -! Reperes -! -ROTM 2 90.0 0.0 0.0 0.0 90.0 270.0 -! -! Volumes -! -VOLU 'QIPM' 'TUBE' 27 3 - 5 55 20 -VOLU 'QI32' 'BOX ' 65 3 - 6.5 6.75 15.5 -VOLU 'QI33' 'TUBE' 65 3 - 0 19 2.5 -VOLU 'QI34' 'TUBE' 65 3 - 0 5.4 13.7 -VOLU 'QI35' 'TUBE' 65 3 - 0 7.3 2.15 -! -! Divisions -! -! -! Positionnements -! -POSI 'QI32' 1 'QIPM' 0.0 -44.25 0.0 0 'ONLY' -POSI 'QI33' 1 'QIPM' 0.0 -35.00 0.0 2 'ONLY' -POSI 'QI34' 1 'QIPM' 0.0 -18.80 0.0 2 'ONLY' -POSI 'QI35' 1 'QIPM' 0.0 -24.35 0.0 2 'ONLY' -END diff --git a/Euclid/frame.tme b/Euclid/frame.tme deleted file mode 100644 index 857b1480802..00000000000 --- a/Euclid/frame.tme +++ /dev/null @@ -1,16 +0,0 @@ -MATE 5 'GEN Air '0.14610E+02 0.73000E+01 0.12050E-02 0.30423E+05 0.99900E+03 0 -TMED 5 'GEN Air ' 5 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 65 'ALUMINIUM '0.26982E+02 0.13000E+02 0.26989E+01 0.89000E+01 0.99900E+03 0 -TMED 65 'ALUMINIUM ' 65 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 4 'C (M55J) ' 0.12011E+02 0.60000E+01 0.1930E+01 -0.22100E+02 0.99900E+03 0 -TMED 4 'C (M55J) ' 4 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 25 'EPOXY ' 0.17749E+02 0.88750E+01 0.18000E+01 -0.21822E+02 0.99900E+03 0 -TMED 25 'EPOXY ' 25 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -END - - - diff --git a/Euclid/frame1099h.euc b/Euclid/frame1099h.euc deleted file mode 100644 index dca2bb5a94f..00000000000 --- a/Euclid/frame1099h.euc +++ /dev/null @@ -1,751 +0,0 @@ -! -! Tracking Medium -! -!TMED 5 'AIR' 5 'AIR' -!TMED 65 'INOX' 65 'INOX' -! -! Reperes -! -ROTM 136 100.0 0.0 90.0 270.0 10.0 0.0 -ROTM 137 100.0 0.0 90.0 90.0 10.0 0.0 -ROTM 138 170.0 0.0 90.0 90.0 80.0 0.0 -ROTM 139 170.0 180.0 90.0 90.0 80.0 180.0 -ROTM 140 10.0 0.0 80.0 180.0 90.0 90.0 -ROTM 141 170.0 180.0 80.0 180.0 90.0 90.0 -ROTM 142 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 143 170.0 180.0 80.0 180.0 90.0 270.0 -ROTM 144 10.0 0.0 80.0 180.0 90.0 270.0 -ROTM 147 100.0 180.0 90.0 270.0 10.0 180.0 -ROTM 148 10.0 180.0 80.0 0.0 90.0 90.0 -ROTM 152 90.0 0.0 90.0 270.0 0.0 0.0 -ROTM 153 170.0 0.0 80.0 0.0 90.0 90.0 -ROTM 154 170.0 0.0 80.0 0.0 90.0 270.0 -ROTM 155 100.0 180.0 90.0 90.0 10.0 180.0 -ROTM 156 10.0 180.0 80.0 0.0 90.0 270.0 -ROTM 157 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 23 90.0 80.0 180.0 0.0 90.0 350.0 -ROTM 43 90.0 20.0 0.0 0.0 90.0 290.0 -ROTM 44 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 51 90.0 340.0 0.0 0.0 90.0 250.0 -ROTM 53 90.0 320.0 0.0 0.0 90.0 230.0 -ROTM 60 90.0 60.0 180.0 0.0 90.0 330.0 -ROTM 62 90.0 100.0 180.0 0.0 90.0 10.0 -ROTM 64 90.0 120.0 180.0 0.0 90.0 30.0 -ROTM 75 90.0 140.0 180.0 0.0 90.0 50.0 -ROTM 145 90.0 40.0 180.0 0.0 90.0 130.0 -ROTM 146 90.0 60.0 180.0 0.0 90.0 150.0 -ROTM 22 90.0 80.0 180.0 0.0 90.0 170.0 -ROTM 87 90.0 100.0 180.0 0.0 90.0 190.0 -ROTM 149 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 150 90.0 20.0 180.0 0.0 90.0 110.0 -ROTM 151 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 74 90.0 160.0 180.0 0.0 90.0 70.0 -ROTM 36 90.0 220.0 0.0 0.0 90.0 310.0 -ROTM 158 170.0 180.0 90.0 270.0 80.0 180.0 -ROTM 159 170.0 0.0 90.0 270.0 80.0 0.0 -ROTM 160 90.0 180.0 90.0 270.0 0.0 0.0 -ROTM 1 90.0 170.0 90.0 80.0 180.0 0.0 -ROTM 2 90.0 170.0 90.0 80.0 0.0 0.0 -ROTM 3 90.0 150.0 90.0 60.0 0.0 0.0 -ROTM 4 90.0 10.0 90.0 280.0 180.0 0.0 -ROTM 5 90.0 10.0 90.0 280.0 0.0 0.0 -ROTM 6 90.0 30.0 90.0 300.0 0.0 0.0 -ROTM 7 90.0 30.0 90.0 300.0 180.0 0.0 -ROTM 8 90.0 50.0 90.0 320.0 0.0 0.0 -ROTM 9 90.0 70.0 90.0 340.0 0.0 0.0 -ROTM 10 90.0 90.0 90.0 0.0 0.0 0.0 -ROTM 11 90.0 110.0 90.0 20.0 0.0 0.0 -ROTM 12 90.0 130.0 90.0 40.0 0.0 0.0 -ROTM 13 90.0 10.0 90.0 100.0 180.0 0.0 -ROTM 14 90.0 10.0 90.0 100.0 0.0 0.0 -ROTM 15 90.0 110.0 90.0 200.0 0.0 0.0 -ROTM 50 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 16 90.0 70.0 90.0 160.0 0.0 0.0 -ROTM 17 90.0 50.0 90.0 140.0 0.0 0.0 -ROTM 18 90.0 170.0 90.0 260.0 180.0 0.0 -ROTM 19 90.0 150.0 90.0 240.0 180.0 0.0 -ROTM 20 90.0 150.0 90.0 240.0 0.0 0.0 -ROTM 21 90.0 30.0 90.0 120.0 0.0 0.0 -ROTM 24 90.0 60.0 0.0 0.0 90.0 330.0 -ROTM 25 90.0 60.0 0.0 0.0 90.0 150.0 -ROTM 26 90.0 280.0 180.0 0.0 90.0 190.0 -ROTM 27 90.0 280.0 180.0 0.0 90.0 10.0 -ROTM 28 90.0 180.0 0.0 0.0 90.0 90.0 -ROTM 29 90.0 170.0 90.0 260.0 0.0 0.0 -ROTM 67 90.0 130.0 90.0 220.0 0.0 0.0 -ROTM 30 90.0 340.0 0.0 0.0 90.0 70.0 -ROTM 31 90.0 320.0 0.0 0.0 90.0 50.0 -ROTM 32 90.0 300.0 0.0 0.0 90.0 30.0 -ROTM 33 90.0 280.0 0.0 0.0 90.0 10.0 -ROTM 34 90.0 260.0 0.0 0.0 90.0 350.0 -ROTM 35 90.0 240.0 0.0 0.0 90.0 330.0 -ROTM 37 90.0 160.0 0.0 0.0 90.0 70.0 -ROTM 38 90.0 140.0 0.0 0.0 90.0 50.0 -ROTM 39 90.0 120.0 0.0 0.0 90.0 30.0 -ROTM 40 90.0 100.0 0.0 0.0 90.0 10.0 -ROTM 41 90.0 80.0 0.0 0.0 90.0 350.0 -ROTM 42 90.0 40.0 0.0 0.0 90.0 310.0 -ROTM 45 90.0 200.0 0.0 0.0 90.0 110.0 -ROTM 46 90.0 220.0 0.0 0.0 90.0 130.0 -ROTM 47 90.0 240.0 0.0 0.0 90.0 150.0 -ROTM 48 90.0 260.0 0.0 0.0 90.0 170.0 -ROTM 49 90.0 280.0 0.0 0.0 90.0 190.0 -ROTM 52 90.0 300.0 0.0 0.0 90.0 210.0 -ROTM 54 90.0 0.0 180.0 0.0 90.0 270.0 -ROTM 55 90.0 340.0 180.0 0.0 90.0 250.0 -ROTM 56 90.0 20.0 180.0 0.0 90.0 290.0 -ROTM 57 90.0 220.0 180.0 0.0 90.0 310.0 -ROTM 58 90.0 40.0 180.0 0.0 90.0 310.0 -ROTM 59 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 61 90.0 260.0 180.0 0.0 90.0 350.0 -ROTM 63 90.0 300.0 180.0 0.0 90.0 30.0 -ROTM 65 90.0 320.0 180.0 0.0 90.0 230.0 -ROTM 66 90.0 300.0 180.0 0.0 90.0 210.0 -ROTM 68 90.0 260.0 180.0 0.0 90.0 170.0 -ROTM 69 90.0 240.0 180.0 0.0 90.0 150.0 -ROTM 70 90.0 220.0 180.0 0.0 90.0 130.0 -ROTM 71 90.0 200.0 180.0 0.0 90.0 110.0 -ROTM 72 90.0 180.0 180.0 0.0 90.0 90.0 -ROTM 73 90.0 340.0 180.0 0.0 90.0 70.0 -ROTM 76 90.0 320.0 180.0 0.0 90.0 50.0 -ROTM 77 90.0 0.0 0.0 0.0 90.0 90.0 -ROTM 78 90.0 20.0 0.0 0.0 90.0 110.0 -ROTM 79 90.0 40.0 0.0 0.0 90.0 130.0 -ROTM 80 90.0 120.0 0.0 0.0 90.0 210.0 -ROTM 81 90.0 140.0 0.0 0.0 90.0 230.0 -ROTM 82 90.0 160.0 0.0 0.0 90.0 250.0 -ROTM 83 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 84 90.0 200.0 0.0 0.0 90.0 290.0 -ROTM 85 90.0 100.0 0.0 0.0 90.0 190.0 -ROTM 86 90.0 80.0 0.0 0.0 90.0 170.0 -ROTM 88 180.0 0.0 90.0 10.0 90.0 280.0 -ROTM 89 180.0 0.0 90.0 10.0 90.0 100.0 -ROTM 90 135.0 100.0 90.0 10.0 135.0 280.0 -ROTM 91 45.0 280.0 90.0 10.0 45.0 100.0 -ROTM 92 0.0 0.0 90.0 10.0 90.0 100.0 -ROTM 93 0.0 0.0 90.0 10.0 90.0 280.0 -ROTM 94 0.0 0.0 90.0 350.0 90.0 80.0 -ROTM 95 0.0 0.0 90.0 350.0 90.0 260.0 -ROTM 96 45.0 80.0 90.0 350.0 45.0 260.0 -ROTM 97 180.0 0.0 90.0 350.0 90.0 80.0 -ROTM 98 135.0 260.0 90.0 350.0 135.0 80.0 -ROTM 99 180.0 0.0 90.0 350.0 90.0 260.0 -ROTM 100 0.0 0.0 90.0 30.0 90.0 120.0 -ROTM 101 0.0 0.0 90.0 30.0 90.0 300.0 -ROTM 102 45.0 120.0 90.0 30.0 45.0 300.0 -ROTM 103 180.0 0.0 90.0 30.0 90.0 120.0 -ROTM 104 135.0 300.0 90.0 30.0 135.0 120.0 -ROTM 105 180.0 0.0 90.0 30.0 90.0 300.0 -ROTM 106 180.0 0.0 90.0 50.0 90.0 320.0 -ROTM 107 180.0 0.0 90.0 50.0 90.0 140.0 -ROTM 108 135.0 140.0 90.0 50.0 135.0 320.0 -ROTM 109 45.0 320.0 90.0 50.0 45.0 140.0 -ROTM 110 0.0 0.0 90.0 50.0 90.0 140.0 -ROTM 111 0.0 0.0 90.0 50.0 90.0 320.0 -ROTM 112 0.0 0.0 90.0 130.0 90.0 220.0 -ROTM 113 0.0 0.0 90.0 130.0 90.0 40.0 -ROTM 114 45.0 220.0 90.0 130.0 45.0 40.0 -ROTM 115 180.0 0.0 90.0 130.0 90.0 220.0 -ROTM 116 135.0 40.0 90.0 130.0 135.0 220.0 -ROTM 117 180.0 0.0 90.0 130.0 90.0 40.0 -ROTM 118 180.0 0.0 90.0 150.0 90.0 60.0 -ROTM 119 180.0 0.0 90.0 150.0 90.0 240.0 -ROTM 120 135.0 240.0 90.0 150.0 135.0 60.0 -ROTM 121 45.0 60.0 90.0 150.0 45.0 240.0 -ROTM 122 0.0 0.0 90.0 150.0 90.0 240.0 -ROTM 123 0.0 0.0 90.0 150.0 90.0 60.0 -ROTM 124 180.0 0.0 90.0 170.0 90.0 260.0 -ROTM 125 180.0 0.0 90.0 170.0 90.0 80.0 -ROTM 126 135.0 80.0 90.0 170.0 135.0 260.0 -ROTM 127 45.0 260.0 90.0 170.0 45.0 80.0 -ROTM 128 0.0 0.0 90.0 170.0 90.0 80.0 -ROTM 129 0.0 0.0 90.0 170.0 90.0 260.0 -ROTM 130 0.0 0.0 90.0 190.0 90.0 100.0 -ROTM 131 0.0 0.0 90.0 190.0 90.0 280.0 -ROTM 132 45.0 100.0 90.0 190.0 45.0 280.0 -ROTM 133 180.0 0.0 90.0 190.0 90.0 100.0 -ROTM 134 135.0 280.0 90.0 190.0 135.0 100.0 -ROTM 135 180.0 0.0 90.0 190.0 90.0 280.0 -! -! Volumes -! -VOLU 'B077' 'TUBE' 5 3 - 280 428.2 376 -VOLU 'B071' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B074' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B075' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B078' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B079' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B044' 'PGON' 5 10 - 0 360 18 2 -350 399 420.5636 350 399 420.5636 -VOLU 'B080' 'BOX ' 65 3 - 1 5 375.5 -VOLU 'B063' 'BOX ' 65 3 - 1 3 53.1 -VOLU 'B065' 'TRAP' 65 11 - 55.5 40 0 1 3.9 3.9 0 1 3.9 3.9 0 -VOLU 'B067' 'TRAP' 65 11 - 74 33 0 1 3.575 3.575 0 1 3.575 3.575 0 -VOLU 'B069' 'TRAP' 65 11 - 67 35 0 1 3.65 3.65 0 1 3.65 3.65 0 -VOLU 'B056' 'TRAP' 65 11 - 1 10 0 350 2 2 0 350 2 2 0 -VOLU 'B059' 'TRAP' 65 11 - 2.5 10 0 350 3.75 3.75 0 350 3.75 3.75 0 -VOLU 'B072' 'BOX ' 65 3 - 50 2 1 -VOLU 'BTR1' 'TRD1' 5 4 - 49.8065 62.8535 375.5 37 -VOLU 'BTO1' 'TRD1' 5 4 - 63.2061 68.3192 375.5 14.5 -VOLU 'BTR2' 'TRD1' 5 4 - 49.8065 62.8535 156.75 37 -VOLU 'BTO2' 'TRD1' 5 4 - 63.2061 68.3192 156.75 14.5 -VOLU 'B055' 'TRAP' 65 11 - 1 10 0 144 2 2 0 144 2 2 0 -VOLU 'B058' 'TRAP' 65 11 - 2.5 10 0 144 3.75 3.75 0 144 3.75 3.75 0 -VOLU 'BTR3' 'TRD1' 5 4 - 49.8065 62.8535 79.75 37 -VOLU 'BTO3' 'TRD1' 5 4 - 63.2061 68.3192 79.75 14.5 -VOLU 'B054' 'TRAP' 65 11 - 1 10 0 67 2 2 0 67 2 2 0 -VOLU 'B057' 'TRAP' 65 11 - 2.5 10 0 67 3.75 3.75 0 67 3.75 3.75 0 -VOLU 'B037' 'BOX ' 65 3 - 8.75 10 67.5 -VOLU 'B033' 'BOX ' 65 3 - 8.75 10 350 -VOLU 'B035' 'BOX ' 65 3 - 8.75 10 145 -VOLU 'B042' 'TRD1' 65 4 - 65.2717 61.7452 8.75 10 -VOLU 'B039' 'TRAP' 65 11 - 2.5 5.02 0 350 0.5 0.5 0 350 0.064 0.064 0 -VOLU 'B041' 'TRAP' 65 11 - 2.5 5.02 359.99 64.35 0.5 0.5 0 64.35 0.064 0.064 0 -VOLU 'B040' 'TRAP' 65 11 - 2.5 5.01 0 145 0.5 0.5 0 145 0.064 0.064 0 -VOLU 'B047' 'TRAP' 65 0 -VOLU 'B045' 'TRAP' 65 11 - 65.2 37.34 360 10 11 11 0 10 11 11 0 -VOLU 'B051' 'TRAP' 65 0 -VOLU 'B049' 'TRAP' 65 11 - 65.2 45 360 10 12.37 12.37 0 10 12.37 12.37 0 -VOLU 'B064' 'BOX ' 5 3 - 0.75 2.5 53.1 -VOLU 'B066' 'TRAP' 5 11 - 55.5 40 0 0.75 3.25 3.25 0 0.75 3.25 3.25 0 -VOLU 'B068' 'TRAP' 5 11 - 74 33 0 0.75 2.975 2.975 0 0.75 2.975 2.975 0 -VOLU 'B070' 'TRAP' 5 11 - 67 35 0 0.75 3.05 3.05 0 0.75 3.05 3.05 0 -VOLU 'B062' 'BOX ' 5 3 - 2.25 350 2.5 -VOLU 'B073' 'BOX ' 5 3 - 50 1.7 0.7 -VOLU 'B061' 'BOX ' 5 3 - 2.25 144 2.5 -VOLU 'B060' 'BOX ' 5 3 - 2.25 67 2.5 -VOLU 'B038' 'BOX ' 5 3 - 8.25 9.5 67.5 -VOLU 'B034' 'BOX ' 5 3 - 8.25 9.5 350 -VOLU 'B036' 'BOX ' 5 3 - 8.25 9.5 145 -VOLU 'B043' 'TRD1' 5 4 - 65.1836 61.8333 8.25 9.5 -VOLU 'B048' 'TRAP' 5 11 - 65.2 46.31 0 9.5 11.94 11.94 0 9.5 11.94 11.94 0 -VOLU 'B046' 'TRAP' 5 11 - 65.2 37.34 0 9.5 10.375 10.375 0 9.5 10.375 10.375 0 -VOLU 'B052' 'TRAP' 5 11 - 8.25 26.57 0 9.5 45.8534 45.8534 0 9.5 37.6033 37.6033 0 -VOLU 'B050' 'TRAP' 5 11 - 65.2 45 0 9.5 11.665 11.665 0 9.5 11.665 11.665 0 -! -! Divisions -! -! -! Positionnements -! -POSI 'B071' 10 'B077' 219.705 261.834 0.0 75 'ONLY' -POSI 'B071' 9 'B077' 296.008 170.9 0.0 64 'ONLY' -POSI 'B071' 8 'B077' 336.607 59.3529 0.0 62 'ONLY' -POSI 'B071' 7 'B077' 336.607 -59.353 0.0 23 'ONLY' -POSI 'B071' 6 'B077' 296.008 -170.9 0.0 60 'ONLY' -POSI 'B071' 1 'B077' -219.705 261.834 0.0 145 'ONLY' -POSI 'B071' 2 'B077' -296.008 170.9 0.0 146 'ONLY' -POSI 'B071' 3 'B077' -336.607 59.3529 0.0 22 'ONLY' -POSI 'B071' 4 'B077' -336.607 -59.353 0.0 87 'ONLY' -POSI 'B071' 5 'B077' -296.008 -170.9 0.0 149 'ONLY' -POSI 'B074' 2 'B077' -116.902 -321.187 0.0 51 'ONLY' -POSI 'B074' 1 'B077' 0.0 -341.8 0.0 44 'ONLY' -POSI 'B074' 4 'B077' 116.902 -321.187 0.0 43 'ONLY' -POSI 'B075' 1 'B077' 0.0 341.8 0.0 151 'ONLY' -POSI 'B078' 1 'B077' -116.902 321.187 0.0 150 'ONLY' -POSI 'B078' 2 'B077' 116.902 321.187 0.0 74 'ONLY' -POSI 'B079' 1 'B077' -219.705 -261.834 0.0 53 'ONLY' -POSI 'B079' 2 'B077' 219.705 -261.834 0.0 36 'ONLY' -POSI 'B044' 1 'B077' 0.0 0.0 0.0 0 'ONLY' -POSI 'B080' 1 'B077' 281.0 0.0 0.0 0 'ONLY' -POSI 'B080' 2 'B077' -281.0 0.0 0.0 157 'ONLY' -POSI 'B063' 6 'B071' 60.0732 -341.0 4.6669 136 'ONLY' -POSI 'B065' 1 'B071' 60.0732 -282.5 4.6669 140 'ONLY' -POSI 'B063' 5 'B071' 60.0732 -224.0 4.6669 136 'ONLY' -POSI 'B067' 1 'B071' 60.0732 -147.0 4.6669 141 'ONLY' -POSI 'B063' 4 'B071' 60.0732 -70.0 4.6669 136 'ONLY' -POSI 'B069' 4 'B071' 60.0732 0.0 4.6669 143 'ONLY' -POSI 'B069' 1 'B071' 60.0732 0.0 4.6669 141 'ONLY' -POSI 'B063' 3 'B071' 60.0732 70.0 4.6669 137 'ONLY' -POSI 'B067' 4 'B071' 60.0732 147.0 4.6669 143 'ONLY' -POSI 'B063' 2 'B071' 60.0732 224.0 4.6669 137 'ONLY' -POSI 'B065' 5 'B071' 60.0732 282.5 4.6669 144 'ONLY' -POSI 'B063' 1 'B071' 60.0732 341.0 4.6669 137 'ONLY' -POSI 'B056' 1 'B071' 63.0607 0.0 27.2 0 'ONLY' -POSI 'B059' 2 'B071' 48.6476 0.0 -51.493 139 'ONLY' -POSI 'B063' 12 'B071' -60.0732 -341.0 4.6669 147 'ONLY' -POSI 'B065' 4 'B071' -60.0732 -282.5 4.6669 148 'ONLY' -POSI 'B072' 6 'B071' 0.0 -224.0 -56.2 152 'ONLY' -POSI 'B063' 11 'B071' -60.0732 -224.0 4.6669 147 'ONLY' -POSI 'B067' 3 'B071' -60.0732 -147.0 4.6669 153 'ONLY' -POSI 'B063' 10 'B071' -60.0732 -70.0 4.6669 147 'ONLY' -POSI 'B069' 3 'B071' -60.0732 0.0 4.6669 154 'ONLY' -POSI 'B069' 2 'B071' -60.0732 0.0 4.6669 153 'ONLY' -POSI 'B063' 9 'B071' -60.0732 70.0 4.6669 155 'ONLY' -POSI 'B067' 2 'B071' -60.0732 147.0 4.6669 154 'ONLY' -POSI 'B063' 8 'B071' -60.0732 224.0 4.6669 155 'ONLY' -POSI 'B065' 3 'B071' -60.0732 282.5 4.6669 156 'ONLY' -POSI 'B063' 7 'B071' -60.0732 341.0 4.6669 155 'ONLY' -POSI 'B056' 2 'B071' -63.0607 0.0 27.2 157 'ONLY' -POSI 'B059' 1 'B071' -48.6476 0.0 -51.493 138 'ONLY' -POSI 'B072' 5 'B071' 0.0 -341.0 -56.2 152 'ONLY' -POSI 'B072' 4 'B071' 0.0 -70.0 -56.2 152 'ONLY' -POSI 'B072' 2 'B071' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B072' 3 'B071' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 1 'B071' 0.0 341.0 -56.2 0 'ONLY' -POSI 'BTR1' 1 'B071' 0.0 0.0 -10.8 0 'ONLY' -POSI 'BTO1' 1 'B071' 0.0 0.0 42.7 0 'ONLY' -POSI 'BTR2' 1 'B074' 0.0 -218.75 -10.8 152 'ONLY' -POSI 'BTR2' 2 'B074' 0.0 218.75 -10.8 0 'ONLY' -POSI 'BTO2' 1 'B074' 0.0 -218.75 42.7 152 'ONLY' -POSI 'BTO2' 2 'B074' 0.0 218.75 42.7 0 'ONLY' -POSI 'B055' 3 'B074' 63.0607 -206.0 27.2 152 'ONLY' -POSI 'B058' 3 'B074' 48.6476 -206.0 -51.493 158 'ONLY' -POSI 'B058' 4 'B074' -48.6476 -206.0 -51.493 159 'ONLY' -POSI 'B055' 4 'B074' -63.0607 -206.0 27.2 160 'ONLY' -POSI 'B055' 1 'B074' 63.0607 206.0 27.2 0 'ONLY' -POSI 'B055' 2 'B074' -63.0607 206.0 27.2 157 'ONLY' -POSI 'B058' 2 'B074' 48.6476 206.0 -51.493 139 'ONLY' -POSI 'B058' 1 'B074' -48.6476 206.0 -51.493 138 'ONLY' -POSI 'B063' 20 'B074' 60.0732 341.0 4.6669 137 'ONLY' -POSI 'B065' 7 'B074' 60.0732 282.5 4.6669 144 'ONLY' -POSI 'B063' 21 'B074' 60.0732 224.0 4.6669 137 'ONLY' -POSI 'B067' 7 'B074' 60.0732 147.0 4.6669 143 'ONLY' -POSI 'B063' 22 'B074' 60.0732 70.0 4.6669 137 'ONLY' -POSI 'B063' 23 'B074' 60.0732 -70.0 4.6669 136 'ONLY' -POSI 'B067' 8 'B074' 60.0732 -147.0 4.6669 141 'ONLY' -POSI 'B063' 24 'B074' 60.0732 -224.0 4.6669 136 'ONLY' -POSI 'B065' 8 'B074' 60.0732 -282.5 4.6669 140 'ONLY' -POSI 'B063' 13 'B074' 60.0732 -341.0 4.6669 136 'ONLY' -POSI 'B063' 19 'B074' -60.0732 -341.0 4.6669 147 'ONLY' -POSI 'B065' 6 'B074' -60.0732 -282.5 4.6669 148 'ONLY' -POSI 'B063' 18 'B074' -60.0732 -224.0 4.6669 147 'ONLY' -POSI 'B067' 6 'B074' -60.0732 -147.0 4.6669 153 'ONLY' -POSI 'B063' 17 'B074' -60.0732 -70.0 4.6669 147 'ONLY' -POSI 'B063' 16 'B074' -60.0732 70.0 4.6669 155 'ONLY' -POSI 'B067' 5 'B074' -60.0732 147.0 4.6669 154 'ONLY' -POSI 'B063' 15 'B074' -60.0732 224.0 4.6669 155 'ONLY' -POSI 'B065' 2 'B074' -60.0732 282.5 4.6669 156 'ONLY' -POSI 'B063' 14 'B074' -60.0732 341.0 4.6669 155 'ONLY' -POSI 'B072' 12 'B074' 0.0 341.0 -56.2 0 'ONLY' -POSI 'B072' 11 'B074' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 10 'B074' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B072' 9 'B074' 0.0 -70.0 -56.2 152 'ONLY' -POSI 'B072' 8 'B074' 0.0 -224.0 -56.2 152 'ONLY' -POSI 'B072' 7 'B074' 0.0 -341.0 -56.2 152 'ONLY' -POSI 'BTR3' 1 'B075' 0.0 -295.75 -10.8 152 'ONLY' -POSI 'BTR3' 2 'B075' 0.0 295.75 -10.8 0 'ONLY' -POSI 'BTR3' 3 'B078' 0.0 -295.75 -10.8 152 'ONLY' -POSI 'BTR3' 4 'B078' 0.0 295.75 -10.8 0 'ONLY' -POSI 'BTO3' 1 'B075' 0.0 -295.75 42.7 152 'ONLY' -POSI 'BTO3' 2 'B075' 0.0 295.75 42.7 0 'ONLY' -POSI 'BTO3' 3 'B078' 0.0 -295.75 42.7 152 'ONLY' -POSI 'BTO3' 4 'B078' 0.0 295.75 42.7 0 'ONLY' -POSI 'B054' 1 'B075' 63.0607 283.0 27.2 0 'ONLY' -POSI 'B054' 2 'B075' -63.0607 283.0 27.2 157 'ONLY' -POSI 'B057' 1 'B075' -48.6476 283.0 -51.493 138 'ONLY' -POSI 'B057' 2 'B075' 48.6476 283.0 -51.493 139 'ONLY' -POSI 'B063' 31 'B075' 60.0732 341.0 4.6669 137 'ONLY' -POSI 'B065' 11 'B075' 60.0732 282.5 4.6669 144 'ONLY' -POSI 'B063' 32 'B075' 60.0732 224.0 4.6669 137 'ONLY' -POSI 'B063' 28 'B075' -60.0732 224.0 4.6669 155 'ONLY' -POSI 'B065' 10 'B075' -60.0732 282.5 4.6669 156 'ONLY' -POSI 'B063' 27 'B075' -60.0732 341.0 4.6669 155 'ONLY' -POSI 'B072' 13 'B075' 0.0 341.0 -56.2 0 'ONLY' -POSI 'B072' 14 'B075' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B063' 35 'B075' 60.0732 -224.0 4.6669 136 'ONLY' -POSI 'B065' 12 'B075' 60.0732 -282.5 4.6669 140 'ONLY' -POSI 'B063' 36 'B075' 60.0732 -341.0 4.6669 136 'ONLY' -POSI 'B063' 26 'B075' -60.0732 -224.0 4.6669 147 'ONLY' -POSI 'B065' 9 'B075' -60.0732 -282.5 4.6669 148 'ONLY' -POSI 'B072' 17 'B075' 0.0 -224.0 -56.2 152 'ONLY' -POSI 'B063' 25 'B075' -60.0732 -341.0 4.6669 147 'ONLY' -POSI 'B072' 18 'B075' 0.0 -341.0 -56.2 152 'ONLY' -POSI 'B054' 3 'B075' 63.0607 -283.0 27.2 152 'ONLY' -POSI 'B054' 4 'B075' -63.0607 -283.0 27.2 160 'ONLY' -POSI 'B057' 3 'B075' -48.6476 -283.0 -51.493 159 'ONLY' -POSI 'B057' 4 'B075' 48.6476 -283.0 -51.493 158 'ONLY' -POSI 'B054' 5 'B078' 63.0607 283.0 27.2 0 'ONLY' -POSI 'B057' 5 'B078' 48.6476 283.0 -51.493 139 'ONLY' -POSI 'B056' 5 'B078' -63.0607 0.0 27.2 157 'ONLY' -POSI 'B059' 5 'B078' -48.6476 0.0 -51.493 138 'ONLY' -POSI 'B054' 6 'B078' 63.0607 -283.0 27.2 152 'ONLY' -POSI 'B057' 6 'B078' 48.6476 -283.0 -51.493 158 'ONLY' -POSI 'B063' 37 'B078' 60.0732 341.0 4.6669 137 'ONLY' -POSI 'B065' 14 'B078' 60.0732 282.5 4.6669 144 'ONLY' -POSI 'B063' 38 'B078' 60.0732 224.0 4.6669 137 'ONLY' -POSI 'B063' 33 'B078' -60.0732 341.0 4.6669 155 'ONLY' -POSI 'B065' 13 'B078' -60.0732 282.5 4.6669 156 'ONLY' -POSI 'B072' 15 'B078' 0.0 341.0 -56.2 0 'ONLY' -POSI 'B063' 34 'B078' -60.0732 224.0 4.6669 155 'ONLY' -POSI 'B072' 16 'B078' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B067' 10 'B078' -60.0732 147.0 4.6669 154 'ONLY' -POSI 'B063' 30 'B078' -60.0732 70.0 4.6669 155 'ONLY' -POSI 'B069' 9 'B078' -60.0732 0.0 4.6669 153 'ONLY' -POSI 'B069' 10 'B078' -60.0732 0.0 4.6669 154 'ONLY' -POSI 'B063' 29 'B078' -60.0732 -70.0 4.6669 147 'ONLY' -POSI 'B067' 9 'B078' -60.0732 -147.0 4.6669 153 'ONLY' -POSI 'B063' 39 'B078' -60.0732 -224.0 4.6669 147 'ONLY' -POSI 'B072' 19 'B078' 0.0 -224.0 -56.2 152 'ONLY' -POSI 'B065' 15 'B078' -60.0732 -282.5 4.6669 148 'ONLY' -POSI 'B063' 40 'B078' -60.0732 -341.0 4.6669 147 'ONLY' -POSI 'B072' 20 'B078' 0.0 -341.0 -56.2 152 'ONLY' -POSI 'B063' 42 'B078' 60.0732 -341.0 4.6669 136 'ONLY' -POSI 'B065' 16 'B078' 60.0732 -282.5 4.6669 140 'ONLY' -POSI 'B063' 41 'B078' 60.0732 -224.0 4.6669 136 'ONLY' -POSI 'BTR2' 3 'B079' 0.0 -218.75 -10.8 152 'ONLY' -POSI 'BTR2' 4 'B079' 0.0 218.75 -10.8 0 'ONLY' -POSI 'BTO2' 3 'B079' 0.0 -218.75 42.7 152 'ONLY' -POSI 'BTO2' 4 'B079' 0.0 218.75 42.7 0 'ONLY' -POSI 'B055' 6 'B079' 63.0607 -206.0 27.2 152 'ONLY' -POSI 'B058' 6 'B079' 48.6476 -206.0 -51.493 158 'ONLY' -POSI 'B056' 3 'B079' -63.0607 0.0 27.2 157 'ONLY' -POSI 'B059' 3 'B079' -48.6476 0.0 -51.493 138 'ONLY' -POSI 'B055' 5 'B079' 63.0607 206.0 27.2 0 'ONLY' -POSI 'B058' 5 'B079' 48.6476 206.0 -51.493 139 'ONLY' -POSI 'B063' 54 'B079' 60.0732 -341.0 4.6669 136 'ONLY' -POSI 'B065' 20 'B079' 60.0732 -282.5 4.6669 140 'ONLY' -POSI 'B063' 53 'B079' 60.0732 -224.0 4.6669 136 'ONLY' -POSI 'B067' 14 'B079' 60.0732 -147.0 4.6669 141 'ONLY' -POSI 'B063' 52 'B079' 60.0732 -70.0 4.6669 136 'ONLY' -POSI 'B063' 51 'B079' 60.0732 70.0 4.6669 137 'ONLY' -POSI 'B067' 13 'B079' 60.0732 147.0 4.6669 143 'ONLY' -POSI 'B063' 50 'B079' 60.0732 224.0 4.6669 137 'ONLY' -POSI 'B065' 19 'B079' 60.0732 282.5 4.6669 144 'ONLY' -POSI 'B063' 49 'B079' 60.0732 341.0 4.6669 137 'ONLY' -POSI 'B063' 43 'B079' -60.0732 341.0 4.6669 155 'ONLY' -POSI 'B065' 17 'B079' -60.0732 282.5 4.6669 156 'ONLY' -POSI 'B063' 44 'B079' -60.0732 224.0 4.6669 155 'ONLY' -POSI 'B067' 11 'B079' -60.0732 147.0 4.6669 154 'ONLY' -POSI 'B063' 45 'B079' -60.0732 70.0 4.6669 155 'ONLY' -POSI 'B069' 5 'B079' -60.0732 0.0 4.6669 153 'ONLY' -POSI 'B069' 6 'B079' -60.0732 0.0 4.6669 154 'ONLY' -POSI 'B063' 46 'B079' -60.0732 -70.0 4.6669 147 'ONLY' -POSI 'B067' 12 'B079' -60.0732 -147.0 4.6669 153 'ONLY' -POSI 'B063' 47 'B079' -60.0732 -224.0 4.6669 147 'ONLY' -POSI 'B065' 18 'B079' -60.0732 -282.5 4.6669 148 'ONLY' -POSI 'B063' 48 'B079' -60.0732 -341.0 4.6669 147 'ONLY' -POSI 'B072' 26 'B079' 0.0 -341.0 -56.2 152 'ONLY' -POSI 'B072' 24 'B079' 0.0 -224.0 -56.2 152 'ONLY' -POSI 'B072' 25 'B079' 0.0 -70.0 -56.2 152 'ONLY' -POSI 'B072' 23 'B079' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B072' 22 'B079' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 21 'B079' 0.0 341.0 -56.2 0 'ONLY' -POSI 'B037' 4 'B044' 72.0987 408.892 282.5 1 'ONLY' -POSI 'B037' 3 'B044' 72.0987 408.892 -282.5 2 'ONLY' -POSI 'B033' 12 'B044' 207.6 359.574 0.0 3 'ONLY' -POSI 'B035' 8 'B044' 72.0987 -408.892 205.0 4 'ONLY' -POSI 'B035' 7 'B044' 72.0987 -408.892 -205.0 5 'ONLY' -POSI 'B035' 6 'B044' 207.6 -359.574 -205.0 6 'ONLY' -POSI 'B035' 5 'B044' 207.6 -359.574 205.0 7 'ONLY' -POSI 'B033' 11 'B044' 318.062 -266.885 0.0 8 'ONLY' -POSI 'B033' 10 'B044' 390.16 -142.007 0.0 9 'ONLY' -POSI 'B033' 9 'B044' 415.2 0.0 0.0 10 'ONLY' -POSI 'B033' 8 'B044' 390.16 142.007 0.0 11 'ONLY' -POSI 'B033' 7 'B044' 318.062 266.885 0.0 12 'ONLY' -POSI 'B037' 2 'B044' -72.0987 408.892 282.5 13 'ONLY' -POSI 'B037' 1 'B044' -72.0987 408.892 -282.5 14 'ONLY' -POSI 'B033' 5 'B044' -390.16 -142.007 0.0 15 'ONLY' -POSI 'B033' 4 'B044' -415.2 0.0 0.0 50 'ONLY' -POSI 'B033' 3 'B044' -390.16 142.007 0.0 16 'ONLY' -POSI 'B033' 2 'B044' -318.062 266.885 0.0 17 'ONLY' -POSI 'B035' 3 'B044' -72.0987 -408.892 205.0 18 'ONLY' -POSI 'B035' 2 'B044' -207.6 -359.574 205.0 19 'ONLY' -POSI 'B035' 4 'B044' -72.0986 -408.892 -205.0 29 'ONLY' -POSI 'B035' 1 'B044' -207.6 -359.574 -205.0 20 'ONLY' -POSI 'B033' 6 'B044' -318.062 -266.885 0.0 67 'ONLY' -POSI 'B033' 1 'B044' -207.6 359.574 0.0 21 'ONLY' -POSI 'B042' 56 'B044' 0.0001 -410.564 -70.25 28 'ONLY' -POSI 'B042' 50 'B044' -140.421 -385.804 -70.25 30 'ONLY' -POSI 'B042' 49 'B044' -263.906 -314.51 -70.25 31 'ONLY' -POSI 'B042' 48 'B044' -355.559 -205.282 -70.25 32 'ONLY' -POSI 'B042' 47 'B044' -404.327 -71.2936 -70.25 33 'ONLY' -POSI 'B042' 46 'B044' -404.327 71.2938 -70.25 34 'ONLY' -POSI 'B042' 45 'B044' -355.559 205.282 -70.25 35 'ONLY' -POSI 'B042' 44 'B044' -263.905 314.51 -70.25 36 'ONLY' -POSI 'B042' 1 'B044' 0.0001 -410.564 -224.25 28 'ONLY' -POSI 'B042' 34 'B044' -140.421 -385.804 -224.25 37 'ONLY' -POSI 'B042' 32 'B044' -263.905 -314.51 -224.25 38 'ONLY' -POSI 'B042' 30 'B044' -355.559 -205.282 -224.25 39 'ONLY' -POSI 'B042' 28 'B044' -404.327 -71.2939 -224.25 40 'ONLY' -POSI 'B042' 26 'B044' -404.327 71.2935 -224.25 41 'ONLY' -POSI 'B042' 24 'B044' -355.559 205.282 -224.25 24 'ONLY' -POSI 'B042' 22 'B044' -263.906 314.51 -224.25 42 'ONLY' -POSI 'B042' 12 'B044' -140.421 385.804 -224.25 43 'ONLY' -POSI 'B042' 21 'B044' -140.421 385.804 -341.25 43 'ONLY' -POSI 'B042' 19 'B044' -0.0002 410.564 -224.25 44 'ONLY' -POSI 'B042' 20 'B044' -0.0002 410.564 -341.25 44 'ONLY' -POSI 'B042' 25 'B044' -355.559 205.282 -341.25 24 'ONLY' -POSI 'B042' 27 'B044' -404.327 71.2935 -341.25 41 'ONLY' -POSI 'B042' 29 'B044' -404.327 -71.2939 -341.25 40 'ONLY' -POSI 'B042' 31 'B044' -355.559 -205.282 -341.25 39 'ONLY' -POSI 'B042' 33 'B044' -263.905 -314.51 -341.25 38 'ONLY' -POSI 'B042' 35 'B044' -140.421 -385.804 -341.25 37 'ONLY' -POSI 'B042' 43 'B044' 0.0001 -410.564 -341.25 28 'ONLY' -POSI 'B042' 23 'B044' -263.906 314.51 -341.25 42 'ONLY' -POSI 'B042' 37 'B044' 140.421 -385.804 -70.25 45 'ONLY' -POSI 'B042' 2 'B044' 140.421 -385.804 -224.25 45 'ONLY' -POSI 'B042' 3 'B044' 140.421 -385.804 -341.25 45 'ONLY' -POSI 'B042' 5 'B044' 263.906 -314.51 -341.25 46 'ONLY' -POSI 'B042' 4 'B044' 263.906 -314.51 -224.25 46 'ONLY' -POSI 'B042' 38 'B044' 263.906 -314.51 -70.25 46 'ONLY' -POSI 'B042' 39 'B044' 355.559 -205.282 -70.25 47 'ONLY' -POSI 'B042' 6 'B044' 355.559 -205.282 -224.25 47 'ONLY' -POSI 'B042' 7 'B044' 355.559 -205.282 -341.25 47 'ONLY' -POSI 'B042' 9 'B044' 404.327 -71.2936 -341.25 48 'ONLY' -POSI 'B042' 8 'B044' 404.327 -71.2936 -224.25 48 'ONLY' -POSI 'B042' 40 'B044' 404.327 -71.2936 -70.25 48 'ONLY' -POSI 'B042' 11 'B044' 404.327 71.2938 -341.25 49 'ONLY' -POSI 'B042' 10 'B044' 404.327 71.2938 -224.25 49 'ONLY' -POSI 'B042' 41 'B044' 404.327 71.2938 -70.25 49 'ONLY' -POSI 'B042' 18 'B044' 140.421 385.804 -341.25 51 'ONLY' -POSI 'B042' 17 'B044' 140.421 385.804 -224.25 51 'ONLY' -POSI 'B042' 42 'B044' 355.559 205.282 -70.25 52 'ONLY' -POSI 'B042' 13 'B044' 355.559 205.282 -224.25 52 'ONLY' -POSI 'B042' 14 'B044' 355.559 205.282 -341.25 52 'ONLY' -POSI 'B042' 36 'B044' 263.905 314.51 -70.25 53 'ONLY' -POSI 'B042' 15 'B044' 263.905 314.51 -224.25 53 'ONLY' -POSI 'B042' 16 'B044' 263.905 314.51 -341.25 53 'ONLY' -POSI 'B042' 86 'B044' -0.0002 410.564 224.25 54 'ONLY' -POSI 'B042' 84 'B044' 140.421 385.804 224.25 55 'ONLY' -POSI 'B042' 83 'B044' 140.421 385.804 341.25 55 'ONLY' -POSI 'B042' 85 'B044' -0.0002 410.564 341.25 54 'ONLY' -POSI 'B042' 87 'B044' -140.421 385.804 341.25 56 'ONLY' -POSI 'B042' 88 'B044' -140.421 385.804 224.25 56 'ONLY' -POSI 'B042' 61 'B044' -263.905 314.51 70.25 57 'ONLY' -POSI 'B042' 90 'B044' -263.906 314.51 224.25 58 'ONLY' -POSI 'B042' 89 'B044' -263.906 314.51 341.25 58 'ONLY' -POSI 'B042' 60 'B044' -355.559 205.282 70.25 59 'ONLY' -POSI 'B042' 92 'B044' -355.559 205.282 224.25 60 'ONLY' -POSI 'B042' 91 'B044' -355.559 205.282 341.25 60 'ONLY' -POSI 'B042' 59 'B044' -404.327 71.2938 70.25 61 'ONLY' -POSI 'B042' 94 'B044' -404.327 71.2935 224.25 23 'ONLY' -POSI 'B042' 93 'B044' -404.327 71.2935 341.25 23 'ONLY' -POSI 'B042' 58 'B044' -404.327 -71.2936 70.25 27 'ONLY' -POSI 'B042' 96 'B044' -404.327 -71.2939 224.25 62 'ONLY' -POSI 'B042' 95 'B044' -404.327 -71.2939 341.25 62 'ONLY' -POSI 'B042' 57 'B044' -355.559 -205.282 70.25 63 'ONLY' -POSI 'B042' 98 'B044' -355.559 -205.282 224.25 64 'ONLY' -POSI 'B042' 97 'B044' -355.559 -205.282 341.25 64 'ONLY' -POSI 'B042' 68 'B044' 263.905 314.51 70.25 65 'ONLY' -POSI 'B042' 82 'B044' 263.905 314.51 224.25 65 'ONLY' -POSI 'B042' 81 'B044' 263.905 314.51 341.25 65 'ONLY' -POSI 'B042' 79 'B044' 355.559 205.282 341.25 66 'ONLY' -POSI 'B042' 80 'B044' 355.559 205.282 224.25 66 'ONLY' -POSI 'B042' 67 'B044' 355.559 205.282 70.25 66 'ONLY' -POSI 'B042' 66 'B044' 404.327 71.2938 70.25 26 'ONLY' -POSI 'B042' 78 'B044' 404.327 71.2938 224.25 26 'ONLY' -POSI 'B042' 77 'B044' 404.327 71.2938 341.25 26 'ONLY' -POSI 'B042' 75 'B044' 404.327 -71.2936 341.25 68 'ONLY' -POSI 'B042' 76 'B044' 404.327 -71.2936 224.25 68 'ONLY' -POSI 'B042' 65 'B044' 404.327 -71.2936 70.25 68 'ONLY' -POSI 'B042' 64 'B044' 355.559 -205.282 70.25 69 'ONLY' -POSI 'B042' 74 'B044' 355.559 -205.282 224.25 69 'ONLY' -POSI 'B042' 73 'B044' 355.559 -205.282 341.25 69 'ONLY' -POSI 'B042' 71 'B044' 263.906 -314.51 341.25 70 'ONLY' -POSI 'B042' 72 'B044' 263.906 -314.51 224.25 70 'ONLY' -POSI 'B042' 63 'B044' 263.906 -314.51 70.25 70 'ONLY' -POSI 'B042' 62 'B044' 140.421 -385.804 70.25 71 'ONLY' -POSI 'B042' 70 'B044' 140.421 -385.804 224.25 71 'ONLY' -POSI 'B042' 69 'B044' 140.421 -385.804 341.25 71 'ONLY' -POSI 'B042' 51 'B044' 0.0001 -410.564 341.25 72 'ONLY' -POSI 'B042' 52 'B044' 0.0001 -410.564 224.25 72 'ONLY' -POSI 'B042' 53 'B044' 0.0001 -410.564 70.25 72 'ONLY' -POSI 'B042' 54 'B044' -140.421 -385.804 70.25 73 'ONLY' -POSI 'B042' 102 'B044' -140.421 -385.804 224.25 74 'ONLY' -POSI 'B042' 101 'B044' -140.421 -385.804 341.25 74 'ONLY' -POSI 'B042' 99 'B044' -263.905 -314.51 341.25 75 'ONLY' -POSI 'B042' 100 'B044' -263.905 -314.51 224.25 75 'ONLY' -POSI 'B042' 55 'B044' -263.906 -314.51 70.25 76 'ONLY' -POSI 'B039' 1 'B044' 308.641 -262.244 0.0 31 'ONLY' -POSI 'B039' 2 'B044' 311.855 -258.414 0.0 53 'ONLY' -POSI 'B039' 10 'B044' 379.72 -140.867 0.0 30 'ONLY' -POSI 'B039' 9 'B044' 381.43 -136.169 0.0 51 'ONLY' -POSI 'B039' 8 'B044' 405.0 -2.5001 0.0 77 'ONLY' -POSI 'B039' 7 'B044' 405.0 2.4998 0.0 44 'ONLY' -POSI 'B039' 6 'B044' 381.43 136.169 0.0 78 'ONLY' -POSI 'B039' 5 'B044' 379.72 140.867 0.0 43 'ONLY' -POSI 'B039' 4 'B044' 311.855 258.414 0.0 79 'ONLY' -POSI 'B039' 3 'B044' 308.641 262.244 0.0 42 'ONLY' -POSI 'B039' 23 'B044' 204.665 349.49 0.0 25 'ONLY' -POSI 'B039' 24 'B044' 200.335 351.99 0.0 24 'ONLY' -POSI 'B039' 22 'B044' -200.335 351.99 0.0 80 'ONLY' -POSI 'B039' 21 'B044' -204.665 349.49 0.0 39 'ONLY' -POSI 'B039' 20 'B044' -308.641 262.244 0.0 81 'ONLY' -POSI 'B039' 19 'B044' -311.855 258.414 0.0 38 'ONLY' -POSI 'B039' 18 'B044' -379.72 140.867 0.0 82 'ONLY' -POSI 'B039' 17 'B044' -381.43 136.169 0.0 37 'ONLY' -POSI 'B039' 16 'B044' -405.0 2.4998 0.0 83 'ONLY' -POSI 'B039' 15 'B044' -405.0 -2.5001 0.0 28 'ONLY' -POSI 'B039' 14 'B044' -381.43 -136.169 0.0 84 'ONLY' -POSI 'B039' 13 'B044' -379.72 -140.867 0.0 45 'ONLY' -POSI 'B039' 12 'B044' -311.855 -258.414 0.0 36 'ONLY' -POSI 'B039' 11 'B044' -308.641 -262.244 0.0 46 'ONLY' -POSI 'B041' 1 'B044' -72.7895 398.413 -285.65 40 'ONLY' -POSI 'B041' 2 'B044' -67.8655 399.281 -285.65 85 'ONLY' -POSI 'B041' 3 'B044' 67.8655 399.281 -285.65 41 'ONLY' -POSI 'B041' 4 'B044' 72.7895 398.413 -285.65 86 'ONLY' -POSI 'B041' 8 'B044' 72.7895 398.413 285.65 22 'ONLY' -POSI 'B041' 7 'B044' 67.8655 399.281 285.65 23 'ONLY' -POSI 'B041' 5 'B044' -67.8655 399.281 285.65 87 'ONLY' -POSI 'B041' 6 'B044' -72.7895 398.413 285.65 62 'ONLY' -POSI 'B040' 2 'B044' -200.335 -351.99 -205.0 47 'ONLY' -POSI 'B040' 1 'B044' -204.665 -349.49 -205.0 35 'ONLY' -POSI 'B040' 4 'B044' -67.8655 -399.281 -205.0 48 'ONLY' -POSI 'B040' 3 'B044' -72.7895 -398.413 -205.0 34 'ONLY' -POSI 'B040' 6 'B044' 72.7895 -398.413 -205.0 49 'ONLY' -POSI 'B040' 5 'B044' 67.8655 -399.281 -205.0 33 'ONLY' -POSI 'B040' 7 'B044' 200.335 -351.99 -205.0 32 'ONLY' -POSI 'B040' 8 'B044' 204.665 -349.49 -205.0 52 'ONLY' -POSI 'B040' 14 'B044' 204.665 -349.49 205.0 66 'ONLY' -POSI 'B040' 13 'B044' 200.335 -351.99 205.0 63 'ONLY' -POSI 'B040' 16 'B044' 72.7895 -398.413 205.0 26 'ONLY' -POSI 'B040' 15 'B044' 67.8655 -399.281 205.0 27 'ONLY' -POSI 'B040' 9 'B044' -67.8655 -399.281 205.0 68 'ONLY' -POSI 'B040' 10 'B044' -72.7895 -398.413 205.0 61 'ONLY' -POSI 'B040' 11 'B044' -200.335 -351.99 205.0 69 'ONLY' -POSI 'B040' 12 'B044' -204.665 -349.49 205.0 59 'ONLY' -POSP 'B047' 4 'B044' 404.326 71.2936 147.25 89 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 2 'B044' 404.326 71.2936 -282.75 93 'MANY' -POSI 'B045' 3 'B044' 404.326 -71.2936 -282.75 94 'MANY' -POSP 'B047' 3 'B044' 404.326 -71.2936 -147.25 95 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 3 'B044' 398.129 -106.441 -35.6936 96 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 2 'B044' 404.326 -71.2937 0.0 97 'MANY' -POSP 'B051' 4 'B044' 410.524 -36.1466 35.6936 98 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 1 'B044' 404.326 -71.2936 147.25 99 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 4 'B044' 404.326 -71.2936 282.75 97 'MANY' -POSI 'B045' 1 'B044' 404.326 71.2936 282.75 88 'MANY' -POSI 'B049' 1 'B044' 404.326 71.2937 0.0 88 'MANY' -POSP 'B051' 2 'B044' 410.524 36.1466 35.6936 90 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 1 'B044' 398.129 106.441 -35.6936 91 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 2 'B044' 404.326 71.2936 -147.25 92 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 6 'B044' 355.558 205.282 -282.75 100 'MANY' -POSP 'B047' 6 'B044' 355.558 205.282 -147.25 101 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 5 'B044' 373.404 174.374 -35.6936 102 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 3 'B044' 355.559 205.282 0.0 103 'MANY' -POSP 'B051' 6 'B044' 337.714 236.19 35.6936 104 'MANY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 5 'B044' 355.558 205.282 147.25 105 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 5 'B044' 355.558 205.282 282.75 103 'MANY' -POSI 'B045' 8 'B044' 263.905 314.51 282.75 106 'MANY' -POSP 'B047' 7 'B044' 263.905 314.51 147.25 107 'MANY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 7 'B044' 291.245 291.57 35.6936 108 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 4 'B044' 263.905 314.51 0.0 106 'MANY' -POSP 'B051' 8 'B044' 236.566 337.451 -35.6936 109 'MANY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 8 'B044' 263.905 314.51 -147.25 110 'MANY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 7 'B044' 263.905 314.51 -282.75 111 'MANY' -POSI 'B045' 15 'B044' -263.905 314.51 -282.75 112 'MANY' -POSP 'B047' 15 'B044' -263.905 314.51 -147.25 113 'MANY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 16 'B044' -236.566 337.451 -35.6936 114 'MANY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 8 'B044' -263.905 314.51 0.0 115 'MANY' -POSP 'B051' 15 'B044' -291.245 291.57 35.6936 116 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 16 'B044' -263.905 314.51 147.25 117 'MANY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 16 'B044' -263.905 314.51 282.75 115 'MANY' -POSI 'B045' 14 'B044' -355.558 205.282 282.75 118 'MANY' -POSP 'B047' 14 'B044' -355.558 205.282 147.25 119 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 14 'B044' -337.714 236.19 35.6936 120 'MANY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 7 'B044' -355.559 205.282 0.0 118 'MANY' -POSP 'B051' 13 'B044' -373.404 174.374 -35.6936 121 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 13 'B044' -355.558 205.282 -147.25 122 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 13 'B044' -355.558 205.282 -282.75 123 'MANY' -POSI 'B045' 11 'B044' -404.326 71.2936 282.75 124 'MANY' -POSP 'B047' 11 'B044' -404.326 71.2936 147.25 125 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B049' 6 'B044' -404.326 71.2937 0.0 124 'MANY' -POSP 'B051' 11 'B044' -410.524 36.1466 35.6936 126 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 12 'B044' -398.129 106.441 -35.6936 127 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 12 'B044' -404.326 71.2936 -147.25 128 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 12 'B044' -404.326 71.2936 -282.75 129 'MANY' -POSI 'B045' 9 'B044' -404.326 -71.2936 -282.75 130 'MANY' -POSP 'B047' 9 'B044' -404.326 -71.2936 -147.25 131 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSP 'B051' 9 'B044' -398.129 -106.441 -35.6936 132 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 5 'B044' -404.326 -71.2937 0.0 133 'MANY' -POSP 'B051' 10 'B044' -410.524 -36.1466 35.6936 134 'MANY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B047' 10 'B044' -404.326 -71.2936 147.25 135 'MANY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B045' 10 'B044' -404.326 -71.2936 282.75 133 'MANY' -POSI 'B064' 1 'B063' 0.25 0.0 0.0 0 'ONLY' -POSI 'B066' 1 'B065' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B068' 1 'B067' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B070' 1 'B069' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B062' 1 'B059' 0.0 0.0 -0.25 142 'ONLY' -POSI 'B073' 1 'B072' -0.0005 0.0001 0.0 0 'ONLY' -POSI 'B061' 1 'B058' 0.0 0.0 -0.25 142 'ONLY' -POSI 'B060' 1 'B057' 0.0 0.0 -0.25 142 'ONLY' -POSI 'B038' 1 'B037' 0.0 0.0 0.0 0 'ONLY' -POSI 'B034' 1 'B033' 0.0 0.0 0.0 0 'ONLY' -POSI 'B036' 1 'B035' 0.0 -0.0001 0.0 0 'ONLY' -POSI 'B043' 1 'B042' 0.0 0.0 0.0 0 'ONLY' -POSI 'B048' 1 'B047' 0.0 0.0 0.0 0 'ONLY' -POSI 'B046' 1 'B045' 0.0 0.0 0.0 0 'ONLY' -POSI 'B052' 1 'B051' 0.0 0.0 0.0 0 'ONLY' -POSI 'B050' 1 'B049' 0.0 0.0 0.0 0 'ONLY' -END diff --git a/Euclid/frame1099i.euc b/Euclid/frame1099i.euc deleted file mode 100644 index 2b762a4cbf4..00000000000 --- a/Euclid/frame1099i.euc +++ /dev/null @@ -1,634 +0,0 @@ -! -! Tracking Medium -! -!TMED 5 'AIR' 5 'AIR' -!TMED 65 'INOX' 65 'INOX' -! -! Reperes -! -ROTM 1 100.0 0.0 90.0 270.0 10.0 0.0 -ROTM 3 100.0 0.0 90.0 90.0 10.0 0.0 -ROTM 4 170.0 0.0 90.0 90.0 80.0 0.0 -ROTM 5 170.0 180.0 90.0 90.0 80.0 180.0 -ROTM 6 10.0 0.0 80.0 180.0 90.0 90.0 -ROTM 7 170.0 180.0 80.0 180.0 90.0 90.0 -ROTM 8 180.0 0.0 90.0 90.0 90.0 0.0 -ROTM 9 170.0 180.0 80.0 180.0 90.0 270.0 -ROTM 10 10.0 0.0 80.0 180.0 90.0 270.0 -ROTM 11 100.0 180.0 90.0 270.0 10.0 180.0 -ROTM 12 10.0 180.0 80.0 0.0 90.0 90.0 -ROTM 13 90.0 0.0 90.0 270.0 0.0 0.0 -ROTM 16 170.0 0.0 80.0 0.0 90.0 90.0 -ROTM 15 170.0 0.0 80.0 0.0 90.0 270.0 -ROTM 17 100.0 180.0 90.0 90.0 10.0 180.0 -ROTM 18 10.0 180.0 80.0 0.0 90.0 270.0 -ROTM 19 90.0 180.0 90.0 90.0 0.0 0.0 -ROTM 30 90.0 80.0 180.0 0.0 90.0 350.0 -ROTM 52 90.0 20.0 0.0 0.0 90.0 290.0 -ROTM 53 90.0 0.0 0.0 0.0 90.0 270.0 -ROTM 51 90.0 340.0 0.0 0.0 90.0 250.0 -ROTM 60 90.0 320.0 0.0 0.0 90.0 230.0 -ROTM 69 90.0 60.0 180.0 0.0 90.0 330.0 -ROTM 71 90.0 100.0 180.0 0.0 90.0 10.0 -ROTM 64 90.0 120.0 180.0 0.0 90.0 30.0 -ROTM 83 90.0 140.0 180.0 0.0 90.0 50.0 -ROTM 145 90.0 40.0 180.0 0.0 90.0 130.0 -ROTM 146 90.0 60.0 180.0 0.0 90.0 150.0 -ROTM 147 90.0 80.0 180.0 0.0 90.0 170.0 -ROTM 148 90.0 100.0 180.0 0.0 90.0 190.0 -ROTM 149 90.0 120.0 180.0 0.0 90.0 210.0 -ROTM 150 90.0 20.0 180.0 0.0 90.0 110.0 -ROTM 151 90.0 0.0 180.0 0.0 90.0 90.0 -ROTM 82 90.0 160.0 180.0 0.0 90.0 70.0 -ROTM 44 90.0 220.0 0.0 0.0 90.0 310.0 -ROTM 2 90.0 170.0 90.0 80.0 0.0 0.0 -ROTM 14 90.0 150.0 90.0 60.0 0.0 0.0 -ROTM 20 90.0 50.0 90.0 320.0 0.0 0.0 -ROTM 21 90.0 70.0 90.0 340.0 0.0 0.0 -ROTM 22 90.0 90.0 90.0 0.0 0.0 0.0 -ROTM 23 90.0 110.0 90.0 20.0 0.0 0.0 -ROTM 24 90.0 130.0 90.0 40.0 0.0 0.0 -ROTM 25 90.0 110.0 90.0 200.0 0.0 0.0 -ROTM 50 90.0 90.0 90.0 180.0 0.0 0.0 -ROTM 26 90.0 70.0 90.0 160.0 0.0 0.0 -ROTM 27 90.0 50.0 90.0 140.0 0.0 0.0 -ROTM 28 90.0 150.0 90.0 240.0 0.0 0.0 -ROTM 29 90.0 30.0 90.0 120.0 0.0 0.0 -ROTM 31 90.0 60.0 0.0 0.0 90.0 330.0 -ROTM 32 90.0 60.0 0.0 0.0 90.0 150.0 -ROTM 33 90.0 280.0 180.0 0.0 90.0 190.0 -ROTM 34 90.0 280.0 180.0 0.0 90.0 10.0 -ROTM 35 90.0 180.0 0.0 0.0 90.0 90.0 -ROTM 36 90.0 170.0 90.0 260.0 0.0 0.0 -ROTM 67 90.0 130.0 90.0 220.0 0.0 0.0 -ROTM 37 90.0 340.0 0.0 0.0 90.0 70.0 -ROTM 39 90.0 320.0 0.0 0.0 90.0 50.0 -ROTM 40 90.0 300.0 0.0 0.0 90.0 30.0 -ROTM 41 90.0 280.0 0.0 0.0 90.0 10.0 -ROTM 42 90.0 260.0 0.0 0.0 90.0 350.0 -ROTM 43 90.0 240.0 0.0 0.0 90.0 330.0 -ROTM 45 90.0 160.0 0.0 0.0 90.0 70.0 -ROTM 38 90.0 140.0 0.0 0.0 90.0 50.0 -ROTM 46 90.0 120.0 0.0 0.0 90.0 30.0 -ROTM 47 90.0 100.0 0.0 0.0 90.0 10.0 -ROTM 48 90.0 80.0 0.0 0.0 90.0 350.0 -ROTM 49 90.0 40.0 0.0 0.0 90.0 310.0 -ROTM 54 90.0 200.0 0.0 0.0 90.0 110.0 -ROTM 55 90.0 220.0 0.0 0.0 90.0 130.0 -ROTM 56 90.0 240.0 0.0 0.0 90.0 150.0 -ROTM 57 90.0 260.0 0.0 0.0 90.0 170.0 -ROTM 58 90.0 280.0 0.0 0.0 90.0 190.0 -ROTM 59 90.0 300.0 0.0 0.0 90.0 210.0 -ROTM 61 90.0 0.0 180.0 0.0 90.0 270.0 -ROTM 62 90.0 340.0 180.0 0.0 90.0 250.0 -ROTM 63 90.0 20.0 180.0 0.0 90.0 290.0 -ROTM 65 90.0 220.0 180.0 0.0 90.0 310.0 -ROTM 66 90.0 40.0 180.0 0.0 90.0 310.0 -ROTM 68 90.0 240.0 180.0 0.0 90.0 330.0 -ROTM 70 90.0 260.0 180.0 0.0 90.0 350.0 -ROTM 72 90.0 300.0 180.0 0.0 90.0 30.0 -ROTM 73 90.0 320.0 180.0 0.0 90.0 230.0 -ROTM 74 90.0 300.0 180.0 0.0 90.0 210.0 -ROTM 75 90.0 260.0 180.0 0.0 90.0 170.0 -ROTM 76 90.0 240.0 180.0 0.0 90.0 150.0 -ROTM 78 90.0 220.0 180.0 0.0 90.0 130.0 -ROTM 79 90.0 200.0 180.0 0.0 90.0 110.0 -ROTM 80 90.0 180.0 180.0 0.0 90.0 90.0 -ROTM 81 90.0 340.0 180.0 0.0 90.0 70.0 -ROTM 84 90.0 320.0 180.0 0.0 90.0 50.0 -ROTM 77 90.0 0.0 0.0 0.0 90.0 90.0 -ROTM 85 90.0 20.0 0.0 0.0 90.0 110.0 -ROTM 86 90.0 40.0 0.0 0.0 90.0 130.0 -ROTM 87 90.0 120.0 0.0 0.0 90.0 210.0 -ROTM 88 90.0 140.0 0.0 0.0 90.0 230.0 -ROTM 89 90.0 160.0 0.0 0.0 90.0 250.0 -ROTM 91 90.0 180.0 0.0 0.0 90.0 270.0 -ROTM 92 90.0 200.0 0.0 0.0 90.0 290.0 -ROTM 93 90.0 100.0 0.0 0.0 90.0 190.0 -ROTM 94 90.0 80.0 0.0 0.0 90.0 170.0 -ROTM 95 180.0 0.0 90.0 10.0 90.0 280.0 -ROTM 96 180.0 0.0 90.0 10.0 90.0 100.0 -ROTM 90 135.0 100.0 90.0 10.0 135.0 280.0 -ROTM 97 45.0 280.0 90.0 10.0 45.0 100.0 -ROTM 98 0.0 0.0 90.0 10.0 90.0 100.0 -ROTM 99 0.0 0.0 90.0 10.0 90.0 280.0 -ROTM 100 0.0 0.0 90.0 350.0 90.0 80.0 -ROTM 101 0.0 0.0 90.0 350.0 90.0 260.0 -ROTM 102 45.0 80.0 90.0 350.0 45.0 260.0 -ROTM 104 180.0 0.0 90.0 350.0 90.0 80.0 -ROTM 105 135.0 260.0 90.0 350.0 135.0 80.0 -ROTM 106 180.0 0.0 90.0 350.0 90.0 260.0 -ROTM 107 0.0 0.0 90.0 30.0 90.0 120.0 -ROTM 108 0.0 0.0 90.0 30.0 90.0 300.0 -ROTM 109 45.0 120.0 90.0 30.0 45.0 300.0 -ROTM 103 180.0 0.0 90.0 30.0 90.0 120.0 -ROTM 110 135.0 300.0 90.0 30.0 135.0 120.0 -ROTM 111 180.0 0.0 90.0 30.0 90.0 300.0 -ROTM 112 180.0 0.0 90.0 50.0 90.0 320.0 -ROTM 113 180.0 0.0 90.0 50.0 90.0 140.0 -ROTM 114 135.0 140.0 90.0 50.0 135.0 320.0 -ROTM 117 45.0 320.0 90.0 50.0 45.0 140.0 -ROTM 118 0.0 0.0 90.0 50.0 90.0 140.0 -ROTM 119 0.0 0.0 90.0 50.0 90.0 320.0 -ROTM 120 0.0 0.0 90.0 130.0 90.0 220.0 -ROTM 121 0.0 0.0 90.0 130.0 90.0 40.0 -ROTM 122 45.0 220.0 90.0 130.0 45.0 40.0 -ROTM 115 180.0 0.0 90.0 130.0 90.0 220.0 -ROTM 116 135.0 40.0 90.0 130.0 135.0 220.0 -ROTM 123 180.0 0.0 90.0 130.0 90.0 40.0 -ROTM 124 180.0 0.0 90.0 150.0 90.0 60.0 -ROTM 125 180.0 0.0 90.0 150.0 90.0 240.0 -ROTM 126 135.0 240.0 90.0 150.0 135.0 60.0 -ROTM 127 45.0 60.0 90.0 150.0 45.0 240.0 -ROTM 130 0.0 0.0 90.0 150.0 90.0 240.0 -ROTM 139 0.0 0.0 90.0 150.0 90.0 60.0 -ROTM 140 180.0 0.0 90.0 170.0 90.0 260.0 -ROTM 141 180.0 0.0 90.0 170.0 90.0 80.0 -ROTM 142 135.0 80.0 90.0 170.0 135.0 260.0 -ROTM 143 45.0 260.0 90.0 170.0 45.0 80.0 -ROTM 128 0.0 0.0 90.0 170.0 90.0 80.0 -ROTM 129 0.0 0.0 90.0 170.0 90.0 260.0 -ROTM 144 0.0 0.0 90.0 190.0 90.0 100.0 -ROTM 131 0.0 0.0 90.0 190.0 90.0 280.0 -ROTM 132 45.0 100.0 90.0 190.0 45.0 280.0 -ROTM 133 180.0 0.0 90.0 190.0 90.0 100.0 -ROTM 134 135.0 280.0 90.0 190.0 135.0 100.0 -ROTM 135 180.0 0.0 90.0 190.0 90.0 280.0 -ROTM 136 90.0 210.0 90.0 300.0 0.0 0.0 -ROTM 137 90.0 190.0 90.0 280.0 0.0 0.0 -ROTM 138 90.0 190.0 90.0 100.0 0.0 0.0 -! -! Volumes -! -VOLU 'B077' 'TUBE' 5 3 - 280 428.2 376 -VOLU 'B076' 'PGON' 5 10 - 0 360 18 2 -350 399 420.7122 350 399 420.7122 -VOLU 'B071' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B074' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B075' 'TRD1' 5 4 - 50.18 70.35 375.5 57.2 -VOLU 'B080' 'BOX ' 65 3 - 1 5 375.5 -VOLU 'B042' 'TRD1' 65 4 - 65.2717 61.7452 8.75 10 -VOLU 'B045' 'TRAP' 65 11 - 65.2 37.34 360 10 11 11 0 10 11 11 0 -VOLU 'B047' 'TRAP' 65 0 -VOLU 'B051' 'TRAP' 65 0 -VOLU 'B049' 'TRAP' 65 11 - 65.2 45 360 10 12.37 12.37 0 10 12.37 12.37 0 -VOLU 'B039' 'TRAP' 65 11 - 2.5 5.02 0 350 0.5 0.5 0 350 0.064 0.064 0 -VOLU 'B033' 'BOX ' 65 3 - 8.75 10 350 -VOLU 'B063' 'BOX ' 65 3 - 1 3 53.1 -VOLU 'B065' 'TRAP' 65 11 - 55.5 40 0 1 3.9 3.9 0 1 3.9 3.9 0 -VOLU 'B067' 'TRAP' 65 11 - 74 33 0 1 3.575 3.575 0 1 3.575 3.575 0 -VOLU 'B069' 'TRAP' 65 11 - 67 35 0 1 3.65 3.65 0 1 3.65 3.65 0 -VOLU 'B056' 'TRAP' 65 11 - 1 10 0 350 2 2 0 350 2 2 0 -VOLU 'B059' 'TRAP' 65 11 - 2.5 10 0 350 3.75 3.75 0 350 3.75 3.75 0 -VOLU 'B072' 'BOX ' 65 3 - 50 2 1 -VOLU 'BTR1' 'TRD1' 5 4 - 49.8065 62.8535 375.5 37 -VOLU 'BTO1' 'TRD1' 5 4 - 63.2061 68.3192 375.5 14.5 -VOLU 'BTR2' 'TRD1' 5 4 - 49.8065 62.8535 375.5 37 -VOLU 'BTO2' 'TRD1' 5 4 - 63.2061 68.3192 375.5 14.5 -VOLU 'BTR3' 'TRD1' 5 4 - 49.8065 62.8535 375.5 37 -VOLU 'BTO3' 'TRD1' 5 4 - 63.2061 68.3192 375.5 14.5 -VOLU 'B043' 'TRD1' 5 4 - 65.1836 61.8333 8.25 9.5 -VOLU 'B046' 'TRAP' 5 11 - 65.2 37.34 0 9.5 10.375 10.375 0 9.5 10.375 10.375 0 -VOLU 'B048' 'TRAP' 5 11 - 65.2 46.31 0 9.5 11.94 11.94 0 9.5 11.94 11.94 0 -VOLU 'B052' 'TRAP' 5 11 - 8.25 26.57 0 9.5 45.8534 45.8534 0 9.5 37.6033 37.6033 0 -VOLU 'B050' 'TRAP' 5 11 - 65.2 45 0 9.5 11.665 11.665 0 9.5 11.665 11.665 0 -VOLU 'B034' 'BOX ' 5 3 - 8.25 9.5 350 -VOLU 'B064' 'BOX ' 5 3 - 0.75 2.5 53.1 -VOLU 'B066' 'TRAP' 5 11 - 55.5 40 0 0.75 3.25 3.25 0 0.75 3.25 3.25 0 -VOLU 'B068' 'TRAP' 5 11 - 74 33 0 0.75 2.975 2.975 0 0.75 2.975 2.975 0 -VOLU 'B070' 'TRAP' 5 11 - 67 35 0 0.75 3.05 3.05 0 0.75 3.05 3.05 0 -VOLU 'B062' 'BOX ' 5 3 - 2.25 350 2.5 -VOLU 'B073' 'BOX ' 5 3 - 50 1.7 0.7 -! -! Divisions -! -! -! Positionnements -! -POSI 'B076' 1 'B077' 0.0 0.0 0.0 0 'ONLY' -POSI 'B071' 10 'B077' 219.705 261.834 0.0 83 'ONLY' -POSI 'B071' 9 'B077' 296.008 170.9 0.0 64 'ONLY' -POSI 'B071' 8 'B077' 336.607 59.3529 0.0 71 'ONLY' -POSI 'B071' 7 'B077' 336.607 -59.353 0.0 30 'ONLY' -POSI 'B071' 6 'B077' 296.008 -170.9 0.0 69 'ONLY' -POSI 'B071' 1 'B077' -219.705 261.834 0.0 145 'ONLY' -POSI 'B071' 2 'B077' -296.008 170.9 0.0 146 'ONLY' -POSI 'B071' 3 'B077' -336.607 59.3529 0.0 147 'ONLY' -POSI 'B071' 4 'B077' -336.607 -59.353 0.0 148 'ONLY' -POSI 'B071' 5 'B077' -296.008 -170.9 0.0 149 'ONLY' -POSI 'B074' 3 'B077' -219.705 -261.834 0.0 60 'ONLY' -POSI 'B074' 2 'B077' -116.902 -321.187 0.0 51 'ONLY' -POSI 'B074' 1 'B077' 0.0 -341.8 0.0 53 'ONLY' -POSI 'B074' 4 'B077' 116.902 -321.187 0.0 52 'ONLY' -POSI 'B074' 5 'B077' 219.705 -261.834 0.0 49 'ONLY' -POSI 'B075' 3 'B077' -116.902 321.187 0.0 150 'ONLY' -POSI 'B075' 1 'B077' 0.0 341.8 0.0 151 'ONLY' -POSI 'B075' 2 'B077' 116.902 321.187 0.0 81 'ONLY' -POSI 'B080' 2 'B077' -281.0 0.0 0.0 19 'ONLY' -POSI 'B080' 1 'B077' 281.0 0.0 0.0 0 'ONLY' -POSI 'B042' 97 'B076' -355.559 -205.282 341.25 64 'ONLY' -POSI 'B042' 98 'B076' -355.559 -205.282 224.25 64 'ONLY' -POSI 'B042' 57 'B076' -355.559 -205.282 70.25 72 'ONLY' -POSI 'B042' 48 'B076' -355.559 -205.282 -70.25 40 'ONLY' -POSI 'B042' 30 'B076' -355.559 -205.282 -224.25 46 'ONLY' -POSI 'B042' 31 'B076' -355.559 -205.282 -341.25 46 'ONLY' -POSI 'B042' 99 'B076' -263.905 -314.51 341.25 83 'ONLY' -POSI 'B042' 100 'B076' -263.905 -314.51 224.25 83 'ONLY' -POSI 'B042' 55 'B076' -263.906 -314.51 70.25 84 'ONLY' -POSI 'B042' 49 'B076' -263.906 -314.51 -70.25 39 'ONLY' -POSI 'B042' 32 'B076' -263.905 -314.51 -224.25 38 'ONLY' -POSI 'B042' 33 'B076' -263.905 -314.51 -341.25 38 'ONLY' -POSI 'B042' 35 'B076' -140.421 -385.804 -341.25 45 'ONLY' -POSI 'B042' 34 'B076' -140.421 -385.804 -224.25 45 'ONLY' -POSI 'B042' 50 'B076' -140.421 -385.804 -70.25 37 'ONLY' -POSI 'B042' 54 'B076' -140.421 -385.804 70.25 81 'ONLY' -POSI 'B042' 102 'B076' -140.421 -385.804 224.25 82 'ONLY' -POSI 'B042' 101 'B076' -140.421 -385.804 341.25 82 'ONLY' -POSI 'B042' 51 'B076' 0.0001 -410.564 341.25 80 'ONLY' -POSI 'B042' 52 'B076' 0.0001 -410.564 224.25 80 'ONLY' -POSI 'B042' 53 'B076' 0.0001 -410.564 70.25 80 'ONLY' -POSI 'B042' 56 'B076' 0.0001 -410.564 -70.25 35 'ONLY' -POSI 'B042' 1 'B076' 0.0001 -410.564 -224.25 35 'ONLY' -POSI 'B042' 43 'B076' 0.0001 -410.564 -341.25 35 'ONLY' -POSI 'B042' 3 'B076' 140.421 -385.804 -341.25 54 'ONLY' -POSI 'B042' 2 'B076' 140.421 -385.804 -224.25 54 'ONLY' -POSI 'B042' 37 'B076' 140.421 -385.804 -70.25 54 'ONLY' -POSI 'B042' 62 'B076' 140.421 -385.804 70.25 79 'ONLY' -POSI 'B042' 70 'B076' 140.421 -385.804 224.25 79 'ONLY' -POSI 'B042' 69 'B076' 140.421 -385.804 341.25 79 'ONLY' -POSI 'B042' 5 'B076' 263.906 -314.51 -341.25 55 'ONLY' -POSI 'B042' 4 'B076' 263.906 -314.51 -224.25 55 'ONLY' -POSI 'B042' 38 'B076' 263.906 -314.51 -70.25 55 'ONLY' -POSI 'B042' 63 'B076' 263.906 -314.51 70.25 78 'ONLY' -POSI 'B042' 72 'B076' 263.906 -314.51 224.25 78 'ONLY' -POSI 'B042' 71 'B076' 263.906 -314.51 341.25 78 'ONLY' -POSI 'B042' 73 'B076' 355.559 -205.282 341.25 76 'ONLY' -POSI 'B042' 74 'B076' 355.559 -205.282 224.25 76 'ONLY' -POSI 'B042' 64 'B076' 355.559 -205.282 70.25 76 'ONLY' -POSI 'B042' 39 'B076' 355.559 -205.282 -70.25 56 'ONLY' -POSI 'B042' 6 'B076' 355.559 -205.282 -224.25 56 'ONLY' -POSI 'B042' 7 'B076' 355.559 -205.282 -341.25 56 'ONLY' -POSI 'B042' 21 'B076' -140.421 385.804 -341.25 52 'ONLY' -POSI 'B042' 12 'B076' -140.421 385.804 -224.25 52 'ONLY' -POSI 'B042' 107 'B076' -140.421 385.803 -70.25 52 'ONLY' -POSI 'B042' 108 'B076' -140.421 385.803 70.25 63 'ONLY' -POSI 'B042' 88 'B076' -140.421 385.804 224.25 63 'ONLY' -POSI 'B042' 87 'B076' -140.421 385.804 341.25 63 'ONLY' -POSI 'B042' 85 'B076' -0.0002 410.564 341.25 61 'ONLY' -POSI 'B042' 86 'B076' -0.0002 410.564 224.25 61 'ONLY' -POSI 'B042' 106 'B076' -0.0002 410.564 70.25 61 'ONLY' -POSI 'B042' 105 'B076' -0.0002 410.564 -70.25 53 'ONLY' -POSI 'B042' 19 'B076' -0.0002 410.564 -224.25 53 'ONLY' -POSI 'B042' 20 'B076' -0.0002 410.564 -341.25 53 'ONLY' -POSI 'B042' 18 'B076' 140.421 385.804 -341.25 51 'ONLY' -POSI 'B042' 17 'B076' 140.421 385.804 -224.25 51 'ONLY' -POSI 'B042' 103 'B076' 140.421 385.804 -70.25 51 'ONLY' -POSI 'B042' 104 'B076' 140.421 385.804 70.25 62 'ONLY' -POSI 'B042' 84 'B076' 140.421 385.804 224.25 62 'ONLY' -POSI 'B042' 83 'B076' 140.421 385.804 341.25 62 'ONLY' -POSI 'B042' 23 'B076' -263.906 314.51 -341.25 49 'ONLY' -POSI 'B045' 15 'B076' -263.905 314.51 -282.75 120 'ONLY' -POSI 'B042' 22 'B076' -263.906 314.51 -224.25 49 'ONLY' -POSP 'B047' 15 'B076' -263.905 314.51 -147.25 121 'ONLY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 44 'B076' -263.905 314.51 -70.25 44 'ONLY' -POSP 'B051' 16 'B076' -236.566 337.451 -35.6936 122 'ONLY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 15 'B076' -291.245 291.57 35.6936 116 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 8 'B076' -263.905 314.51 0.0 115 'ONLY' -POSI 'B042' 61 'B076' -263.905 314.51 70.25 65 'ONLY' -POSP 'B047' 16 'B076' -263.905 314.51 147.25 123 'ONLY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 90 'B076' -263.906 314.51 224.25 66 'ONLY' -POSI 'B045' 16 'B076' -263.905 314.51 282.75 115 'ONLY' -POSI 'B042' 89 'B076' -263.906 314.51 341.25 66 'ONLY' -POSI 'B042' 91 'B076' -355.559 205.282 341.25 69 'ONLY' -POSI 'B045' 14 'B076' -355.558 205.282 282.75 124 'ONLY' -POSI 'B042' 92 'B076' -355.559 205.282 224.25 69 'ONLY' -POSP 'B047' 14 'B076' -355.558 205.282 147.25 125 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 60 'B076' -355.559 205.282 70.25 68 'ONLY' -POSI 'B049' 7 'B076' -355.559 205.282 0.0 124 'ONLY' -POSP 'B051' 14 'B076' -337.714 236.19 35.6936 126 'ONLY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 13 'B076' -373.404 174.374 -35.6936 127 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 45 'B076' -355.559 205.282 -70.25 43 'ONLY' -POSP 'B047' 13 'B076' -355.558 205.282 -147.25 130 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 24 'B076' -355.559 205.282 -224.25 31 'ONLY' -POSI 'B045' 13 'B076' -355.558 205.282 -282.75 139 'ONLY' -POSI 'B042' 25 'B076' -355.559 205.282 -341.25 31 'ONLY' -POSI 'B042' 27 'B076' -404.327 71.2935 -341.25 48 'ONLY' -POSI 'B045' 12 'B076' -404.326 71.2936 -282.75 129 'ONLY' -POSI 'B042' 26 'B076' -404.327 71.2935 -224.25 48 'ONLY' -POSP 'B047' 12 'B076' -404.326 71.2936 -147.25 128 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 46 'B076' -404.327 71.2938 -70.25 42 'ONLY' -POSP 'B051' 12 'B076' -398.129 106.441 -35.6936 143 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 11 'B076' -410.524 36.1466 35.6936 142 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 6 'B076' -404.326 71.2937 0.0 140 'ONLY' -POSP 'B047' 11 'B076' -404.326 71.2936 147.25 141 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 94 'B076' -404.327 71.2935 224.25 30 'ONLY' -POSI 'B045' 11 'B076' -404.326 71.2936 282.75 140 'ONLY' -POSI 'B042' 93 'B076' -404.327 71.2935 341.25 30 'ONLY' -POSI 'B042' 95 'B076' -404.327 -71.2939 341.25 71 'ONLY' -POSI 'B045' 10 'B076' -404.326 -71.2936 282.75 133 'ONLY' -POSI 'B042' 96 'B076' -404.327 -71.2939 224.25 71 'ONLY' -POSP 'B047' 10 'B076' -404.326 -71.2936 147.25 135 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 58 'B076' -404.327 -71.2936 70.25 34 'ONLY' -POSP 'B051' 10 'B076' -410.524 -36.1466 35.6936 134 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 5 'B076' -404.326 -71.2937 0.0 133 'ONLY' -POSP 'B051' 9 'B076' -398.129 -106.441 -35.6936 132 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 47 'B076' -404.327 -71.2936 -70.25 41 'ONLY' -POSP 'B047' 9 'B076' -404.326 -71.2936 -147.25 131 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 28 'B076' -404.327 -71.2939 -224.25 47 'ONLY' -POSI 'B045' 9 'B076' -404.326 -71.2936 -282.75 144 'ONLY' -POSI 'B042' 29 'B076' -404.327 -71.2939 -341.25 47 'ONLY' -POSI 'B042' 9 'B076' 404.327 -71.2936 -341.25 57 'ONLY' -POSI 'B045' 3 'B076' 404.326 -71.2936 -282.75 100 'ONLY' -POSI 'B042' 8 'B076' 404.327 -71.2936 -224.25 57 'ONLY' -POSP 'B047' 3 'B076' 404.326 -71.2936 -147.25 101 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 40 'B076' 404.327 -71.2936 -70.25 57 'ONLY' -POSI 'B049' 2 'B076' 404.326 -71.2937 0.0 104 'ONLY' -POSP 'B051' 3 'B076' 398.129 -106.441 -35.6936 102 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 4 'B076' 410.524 -36.1466 35.6936 105 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 65 'B076' 404.327 -71.2936 70.25 75 'ONLY' -POSP 'B047' 1 'B076' 404.326 -71.2936 147.25 106 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 76 'B076' 404.327 -71.2936 224.25 75 'ONLY' -POSI 'B045' 4 'B076' 404.326 -71.2936 282.75 104 'ONLY' -POSI 'B042' 75 'B076' 404.327 -71.2936 341.25 75 'ONLY' -POSI 'B042' 77 'B076' 404.327 71.2938 341.25 33 'ONLY' -POSI 'B045' 1 'B076' 404.326 71.2936 282.75 95 'ONLY' -POSI 'B042' 78 'B076' 404.327 71.2938 224.25 33 'ONLY' -POSP 'B047' 4 'B076' 404.326 71.2936 147.25 96 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 66 'B076' 404.327 71.2938 70.25 33 'ONLY' -POSP 'B051' 2 'B076' 410.524 36.1466 35.6936 90 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 1 'B076' 404.326 71.2937 0.0 95 'ONLY' -POSP 'B051' 1 'B076' 398.129 106.441 -35.6936 97 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 41 'B076' 404.327 71.2938 -70.25 58 'ONLY' -POSP 'B047' 2 'B076' 404.326 71.2936 -147.25 98 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 10 'B076' 404.327 71.2938 -224.25 58 'ONLY' -POSI 'B045' 2 'B076' 404.326 71.2936 -282.75 99 'ONLY' -POSI 'B042' 11 'B076' 404.327 71.2938 -341.25 58 'ONLY' -POSI 'B042' 14 'B076' 355.559 205.282 -341.25 59 'ONLY' -POSI 'B045' 6 'B076' 355.558 205.282 -282.75 107 'ONLY' -POSI 'B042' 13 'B076' 355.559 205.282 -224.25 59 'ONLY' -POSP 'B047' 6 'B076' 355.558 205.282 -147.25 108 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 42 'B076' 355.559 205.282 -70.25 59 'ONLY' -POSP 'B051' 5 'B076' 373.404 174.374 -35.6936 109 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B049' 3 'B076' 355.559 205.282 0.0 103 'ONLY' -POSP 'B051' 6 'B076' 337.714 236.19 35.6936 110 'ONLY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 67 'B076' 355.559 205.282 70.25 74 'ONLY' -POSP 'B047' 5 'B076' 355.558 205.282 147.25 111 'ONLY' 11 - 65.2 46.31 360 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 80 'B076' 355.559 205.282 224.25 74 'ONLY' -POSI 'B045' 5 'B076' 355.558 205.282 282.75 103 'ONLY' -POSI 'B042' 79 'B076' 355.559 205.282 341.25 74 'ONLY' -POSI 'B042' 81 'B076' 263.905 314.51 341.25 73 'ONLY' -POSI 'B045' 8 'B076' 263.905 314.51 282.75 112 'ONLY' -POSI 'B042' 82 'B076' 263.905 314.51 224.25 73 'ONLY' -POSP 'B047' 7 'B076' 263.905 314.51 147.25 113 'ONLY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 68 'B076' 263.905 314.51 70.25 73 'ONLY' -POSI 'B049' 4 'B076' 263.905 314.51 0.0 112 'ONLY' -POSP 'B051' 8 'B076' 236.566 337.451 -35.6936 117 'ONLY' 11 - 8.75 26.56 0 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSP 'B051' 7 'B076' 291.245 291.57 35.6936 114 'ONLY' 11 - 8.75 26.56 360 10 46.1034 46.1034 0 10 37.3533 37.3533 0 -POSI 'B042' 36 'B076' 263.905 314.51 -70.25 60 'ONLY' -POSP 'B047' 8 'B076' 263.905 314.51 -147.25 118 'ONLY' 11 - 65.2 46.31 0 10 12.665 12.665 0 10 12.665 12.665 0 -POSI 'B042' 15 'B076' 263.905 314.51 -224.25 60 'ONLY' -POSI 'B045' 7 'B076' 263.905 314.51 -282.75 119 'ONLY' -POSI 'B042' 16 'B076' 263.905 314.51 -341.25 60 'ONLY' -POSI 'B042' 59 'B076' -404.327 71.2938 70.25 70 'ONLY' -POSI 'B039' 6 'B076' 381.43 136.169 0.0 85 'ONLY' -POSI 'B039' 5 'B076' 379.72 140.867 0.0 52 'ONLY' -POSI 'B033' 8 'B076' 390.16 142.007 0.0 23 'ONLY' -POSI 'B039' 8 'B076' 405.0 -2.5001 0.0 77 'ONLY' -POSI 'B039' 7 'B076' 405.0 2.4998 0.0 53 'ONLY' -POSI 'B033' 9 'B076' 415.2 0.0 0.0 22 'ONLY' -POSI 'B039' 10 'B076' 379.72 -140.867 0.0 37 'ONLY' -POSI 'B033' 10 'B076' 390.16 -142.007 0.0 21 'ONLY' -POSI 'B039' 9 'B076' 381.43 -136.169 0.0 51 'ONLY' -POSI 'B039' 4 'B076' 311.855 258.414 0.0 86 'ONLY' -POSI 'B039' 3 'B076' 308.641 262.244 0.0 49 'ONLY' -POSI 'B033' 7 'B076' 318.062 266.885 0.0 24 'ONLY' -POSI 'B039' 24 'B076' 200.335 351.99 0.0 31 'ONLY' -POSI 'B033' 12 'B076' 207.6 359.574 0.0 14 'ONLY' -POSI 'B039' 23 'B076' 204.665 349.49 0.0 32 'ONLY' -POSI 'B039' 1 'B076' 308.641 -262.244 0.0 39 'ONLY' -POSI 'B039' 2 'B076' 311.855 -258.414 0.0 60 'ONLY' -POSI 'B033' 11 'B076' 318.062 -266.885 0.0 20 'ONLY' -POSI 'B039' 35 'B076' 204.665 -349.49 0.0 59 'ONLY' -POSI 'B039' 36 'B076' 200.335 -351.99 0.0 40 'ONLY' -POSI 'B033' 18 'B076' 207.6 -359.574 0.0 136 'ONLY' -POSI 'B033' 17 'B076' 72.0982 -408.892 0.0 137 'ONLY' -POSI 'B039' 33 'B076' 72.7895 -398.413 0.0 58 'ONLY' -POSI 'B039' 34 'B076' 67.8656 -399.281 0.0 41 'ONLY' -POSI 'B039' 32 'B076' -72.7895 -398.413 0.0 42 'ONLY' -POSI 'B033' 16 'B076' -72.0993 -408.892 0.0 36 'ONLY' -POSI 'B039' 31 'B076' -67.8655 -399.281 0.0 57 'ONLY' -POSI 'B039' 29 'B076' -200.335 -351.99 0.0 56 'ONLY' -POSI 'B039' 30 'B076' -204.665 -349.49 0.0 43 'ONLY' -POSI 'B033' 15 'B076' -207.6 -359.573 0.0 28 'ONLY' -POSI 'B039' 11 'B076' -308.641 -262.244 0.0 55 'ONLY' -POSI 'B039' 12 'B076' -311.855 -258.414 0.0 44 'ONLY' -POSI 'B033' 6 'B076' -318.062 -266.885 0.0 67 'ONLY' -POSI 'B039' 13 'B076' -379.72 -140.867 0.0 54 'ONLY' -POSI 'B039' 14 'B076' -381.43 -136.169 0.0 92 'ONLY' -POSI 'B033' 5 'B076' -390.16 -142.007 0.0 25 'ONLY' -POSI 'B039' 16 'B076' -405.0 2.4998 0.0 91 'ONLY' -POSI 'B039' 15 'B076' -405.0 -2.5001 0.0 35 'ONLY' -POSI 'B033' 4 'B076' -415.2 0.0 0.0 50 'ONLY' -POSI 'B039' 18 'B076' -379.72 140.867 0.0 89 'ONLY' -POSI 'B039' 17 'B076' -381.43 136.169 0.0 45 'ONLY' -POSI 'B033' 3 'B076' -390.16 142.007 0.0 26 'ONLY' -POSI 'B039' 20 'B076' -308.641 262.244 0.0 88 'ONLY' -POSI 'B039' 19 'B076' -311.855 258.414 0.0 38 'ONLY' -POSI 'B033' 2 'B076' -318.062 266.885 0.0 27 'ONLY' -POSI 'B039' 22 'B076' -200.335 351.99 0.0 87 'ONLY' -POSI 'B039' 21 'B076' -204.665 349.49 0.0 46 'ONLY' -POSI 'B033' 1 'B076' -207.6 359.574 0.0 29 'ONLY' -POSI 'B039' 27 'B076' -72.7893 398.413 0.0 47 'ONLY' -POSI 'B039' 28 'B076' -67.8654 399.281 0.0 93 'ONLY' -POSI 'B033' 14 'B076' -72.0989 408.892 0.0 138 'ONLY' -POSI 'B039' 25 'B076' 67.8657 399.281 0.0 48 'ONLY' -POSI 'B039' 26 'B076' 72.7896 398.413 0.0 94 'ONLY' -POSI 'B033' 13 'B076' 72.0986 408.892 0.0 2 'ONLY' -POSI 'B063' 6 'B071' 60.0732 -341.0 4.6669 1 'ONLY' -POSI 'B065' 1 'B071' 60.0732 -282.5 4.6669 6 'ONLY' -POSI 'B063' 5 'B071' 60.0732 -224.0 4.6669 1 'ONLY' -POSI 'B067' 1 'B071' 60.0732 -147.0 4.6669 7 'ONLY' -POSI 'B063' 4 'B071' 60.0732 -70.0 4.6669 1 'ONLY' -POSI 'B069' 4 'B071' 60.0732 0.0 4.6669 9 'ONLY' -POSI 'B069' 1 'B071' 60.0732 0.0 4.6669 7 'ONLY' -POSI 'B063' 3 'B071' 60.0732 70.0 4.6669 3 'ONLY' -POSI 'B067' 4 'B071' 60.0732 147.0 4.6669 9 'ONLY' -POSI 'B063' 2 'B071' 60.0732 224.0 4.6669 3 'ONLY' -POSI 'B065' 5 'B071' 60.0732 282.5 4.6669 10 'ONLY' -POSI 'B063' 1 'B071' 60.0732 341.0 4.6669 3 'ONLY' -POSI 'B056' 1 'B071' 63.0607 0.0 27.2 0 'ONLY' -POSI 'B059' 2 'B071' 48.6476 0.0 -51.493 5 'ONLY' -POSI 'B063' 12 'B071' -60.0732 -341.0 4.6669 11 'ONLY' -POSI 'B065' 4 'B071' -60.0732 -282.5 4.6669 12 'ONLY' -POSI 'B072' 6 'B071' 0.0 -224.0 -56.2 13 'ONLY' -POSI 'B063' 11 'B071' -60.0732 -224.0 4.6669 11 'ONLY' -POSI 'B067' 3 'B071' -60.0732 -147.0 4.6669 16 'ONLY' -POSI 'B063' 10 'B071' -60.0732 -70.0 4.6669 11 'ONLY' -POSI 'B069' 3 'B071' -60.0732 0.0 4.6669 15 'ONLY' -POSI 'B069' 2 'B071' -60.0732 0.0 4.6669 16 'ONLY' -POSI 'B063' 9 'B071' -60.0732 70.0 4.6669 17 'ONLY' -POSI 'B067' 2 'B071' -60.0732 147.0 4.6669 15 'ONLY' -POSI 'B063' 8 'B071' -60.0732 224.0 4.6669 17 'ONLY' -POSI 'B065' 3 'B071' -60.0732 282.5 4.6669 18 'ONLY' -POSI 'B063' 7 'B071' -60.0732 341.0 4.6669 17 'ONLY' -POSI 'B056' 2 'B071' -63.0607 0.0 27.2 19 'ONLY' -POSI 'B059' 1 'B071' -48.6476 0.0 -51.493 4 'ONLY' -POSI 'B072' 5 'B071' 0.0 -341.0 -56.2 13 'ONLY' -POSI 'B072' 4 'B071' 0.0 -70.0 -56.2 13 'ONLY' -POSI 'B072' 2 'B071' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B072' 3 'B071' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 1 'B071' 0.0 341.0 -56.2 0 'ONLY' -POSI 'BTR1' 1 'B071' 0.0 0.0 -10.8 0 'ONLY' -POSI 'BTO1' 1 'B071' 0.0 0.0 42.7 0 'ONLY' -POSI 'B056' 4 'B074' 63.0607 0.0 27.2 0 'ONLY' -POSI 'B056' 3 'B074' -63.0607 0.0 27.2 19 'ONLY' -POSI 'B059' 4 'B074' 48.6476 0.0 -51.493 5 'ONLY' -POSI 'B059' 3 'B074' -48.6476 0.0 -51.493 4 'ONLY' -POSI 'BTR2' 1 'B074' 0.0 0.0 -10.8 0 'ONLY' -POSI 'BTO2' 1 'B074' 0.0 0.0 42.7 0 'ONLY' -POSI 'B063' 13 'B074' 60.0732 -341.0 4.6669 1 'ONLY' -POSI 'B065' 8 'B074' 60.0732 -282.5 4.6669 6 'ONLY' -POSI 'B063' 24 'B074' 60.0732 -224.0 4.6669 1 'ONLY' -POSI 'B067' 8 'B074' 60.0732 -147.0 4.6669 7 'ONLY' -POSI 'B063' 23 'B074' 60.0732 -70.0 4.6669 1 'ONLY' -POSI 'B069' 7 'B074' 60.0732 0.0 4.6669 7 'ONLY' -POSI 'B069' 8 'B074' 60.0732 0.0 4.6669 9 'ONLY' -POSI 'B063' 22 'B074' 60.0732 70.0 4.6669 3 'ONLY' -POSI 'B067' 7 'B074' 60.0732 147.0 4.6669 9 'ONLY' -POSI 'B063' 21 'B074' 60.0732 224.0 4.6669 3 'ONLY' -POSI 'B065' 7 'B074' 60.0732 282.5 4.6669 10 'ONLY' -POSI 'B063' 20 'B074' 60.0732 341.0 4.6669 3 'ONLY' -POSI 'B063' 14 'B074' -60.0732 341.0 4.6669 17 'ONLY' -POSI 'B065' 2 'B074' -60.0732 282.5 4.6669 18 'ONLY' -POSI 'B063' 15 'B074' -60.0732 224.0 4.6669 17 'ONLY' -POSI 'B067' 5 'B074' -60.0732 147.0 4.6669 15 'ONLY' -POSI 'B063' 16 'B074' -60.0732 70.0 4.6669 17 'ONLY' -POSI 'B069' 6 'B074' -60.0732 0.0 4.6669 15 'ONLY' -POSI 'B069' 5 'B074' -60.0732 0.0 4.6669 16 'ONLY' -POSI 'B063' 17 'B074' -60.0732 -70.0 4.6669 11 'ONLY' -POSI 'B067' 6 'B074' -60.0732 -147.0 4.6669 16 'ONLY' -POSI 'B063' 18 'B074' -60.0732 -224.0 4.6669 11 'ONLY' -POSI 'B065' 6 'B074' -60.0732 -282.5 4.6669 12 'ONLY' -POSI 'B063' 19 'B074' -60.0732 -341.0 4.6669 11 'ONLY' -POSI 'B072' 7 'B074' 0.0 -341.0 -56.2 13 'ONLY' -POSI 'B072' 8 'B074' 0.0 -224.0 -56.2 13 'ONLY' -POSI 'B072' 9 'B074' 0.0 -70.0 -56.2 13 'ONLY' -POSI 'B072' 10 'B074' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B072' 11 'B074' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 12 'B074' 0.0 341.0 -56.2 0 'ONLY' -POSI 'BTR3' 1 'B075' 0.0 0.0 -10.8 0 'ONLY' -POSI 'BTO3' 1 'B075' 0.0 0.0 42.7 0 'ONLY' -POSI 'B056' 6 'B075' 63.0607 0.0 27.2 0 'ONLY' -POSI 'B056' 5 'B075' -63.0607 0.0 27.2 19 'ONLY' -POSI 'B059' 6 'B075' 48.6476 0.0 -51.493 5 'ONLY' -POSI 'B059' 5 'B075' -48.6476 0.0 -51.493 4 'ONLY' -POSI 'B063' 36 'B075' 60.0732 -341.0 4.6669 1 'ONLY' -POSI 'B065' 12 'B075' 60.0732 -282.5 4.6669 6 'ONLY' -POSI 'B063' 35 'B075' 60.0732 -224.0 4.6669 1 'ONLY' -POSI 'B067' 12 'B075' 60.0732 -147.0 4.6669 7 'ONLY' -POSI 'B063' 34 'B075' 60.0732 -70.0 4.6669 1 'ONLY' -POSI 'B069' 12 'B075' 60.0732 0.0 4.6669 9 'ONLY' -POSI 'B069' 11 'B075' 60.0732 0.0 4.6669 7 'ONLY' -POSI 'B063' 33 'B075' 60.0732 70.0 4.6669 3 'ONLY' -POSI 'B067' 11 'B075' 60.0732 147.0 4.6669 9 'ONLY' -POSI 'B063' 32 'B075' 60.0732 224.0 4.6669 3 'ONLY' -POSI 'B065' 11 'B075' 60.0732 282.5 4.6669 10 'ONLY' -POSI 'B063' 31 'B075' 60.0732 341.0 4.6669 3 'ONLY' -POSI 'B063' 27 'B075' -60.0732 341.0 4.6669 17 'ONLY' -POSI 'B065' 10 'B075' -60.0732 282.5 4.6669 18 'ONLY' -POSI 'B063' 28 'B075' -60.0732 224.0 4.6669 17 'ONLY' -POSI 'B067' 10 'B075' -60.0732 147.0 4.6669 15 'ONLY' -POSI 'B063' 30 'B075' -60.0732 70.0 4.6669 17 'ONLY' -POSI 'B069' 10 'B075' -60.0732 0.0 4.6669 15 'ONLY' -POSI 'B063' 29 'B075' -60.0732 -70.0 4.6669 11 'ONLY' -POSI 'B067' 9 'B075' -60.0732 -147.0 4.6669 16 'ONLY' -POSI 'B063' 26 'B075' -60.0732 -224.0 4.6669 11 'ONLY' -POSI 'B065' 9 'B075' -60.0732 -282.5 4.6669 12 'ONLY' -POSI 'B063' 25 'B075' -60.0732 -341.0 4.6669 11 'ONLY' -POSI 'B072' 18 'B075' 0.0 -341.0 -56.2 13 'ONLY' -POSI 'B072' 17 'B075' 0.0 -224.0 -56.2 13 'ONLY' -POSI 'B072' 16 'B075' 0.0 -70.0 -56.2 13 'ONLY' -POSI 'B072' 15 'B075' 0.0 70.0 -56.2 0 'ONLY' -POSI 'B069' 9 'B075' -60.0732 0.0 4.6669 16 'ONLY' -POSI 'B072' 14 'B075' 0.0 224.0 -56.2 0 'ONLY' -POSI 'B072' 13 'B075' 0.0 341.0 -56.2 0 'ONLY' -POSI 'B043' 1 'B042' 0.0 0.0 0.0 0 'ONLY' -POSI 'B046' 1 'B045' 0.0 0.0 0.0 0 'ONLY' -POSI 'B048' 1 'B047' 0.0 0.0 0.0 0 'ONLY' -POSI 'B052' 1 'B051' 0.0 0.0 0.0 0 'ONLY' -POSI 'B050' 1 'B049' 0.0 0.0 0.0 0 'ONLY' -POSI 'B034' 1 'B033' 0.0 0.0 0.0 0 'ONLY' -POSI 'B064' 1 'B063' 0.25 0.0 0.0 0 'ONLY' -POSI 'B066' 1 'B065' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B068' 1 'B067' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B070' 1 'B069' 0.0 -0.25 0.0 0 'ONLY' -POSI 'B062' 1 'B059' 0.0 0.0 -0.25 8 'ONLY' -POSI 'B073' 1 'B072' -0.0005 0.0001 0.0 0 'ONLY' -END diff --git a/Euclid/pipe.tme b/Euclid/pipe.tme deleted file mode 100644 index 6d261ae0f20..00000000000 --- a/Euclid/pipe.tme +++ /dev/null @@ -1,25 +0,0 @@ -MATE 26 'GEN C '0.12011E+02 0.60000E+01 0.22650E+01 0.18800E+02 0.99900E+03 0 -TMED 26 'GEN C ' 26 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 27 'GEN Air '0.14610E+02 0.73000E+01 0.12050E-02 0.30423E+05 0.99900E+03 0 -TMED 27 'GEN Air ' 27 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 64 'ALUMINIUM '0.26982E+02 0.13000E+02 0.26989E+01 0.89000E+01 0.99900E+03 0 -TMED 64 'ALUMINIUM ' 64 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 65 'INOX ' 0.55098E+02 0.2572E+02 0.7900E+01 -0.17800E+01 0.99900E+03 0 -TMED 65 'INOX ' 65 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 66 'BERYLLIUM '0.90100E+01 0.40000E+01 0.18480E+01 0.35300E+02 0.36700E+02 0 -TMED 66 'BERYLLIUM ' 66 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - -MATE 67 'VACUUM '1.00000E-16 1.00000E-16 1.00000E-16 1.00000E+16 1.00000E+16 0 -TMED 67 'VACUUM ' 67 0 2 0.10000E+02 0.10000E+02 -.10000E+01 -.10000E+01 0.30000E-02 -.10000E+01 0 - - - - -END - - - diff --git a/FMD/AliFMD.cxx b/FMD/AliFMD.cxx index 3c493b69720..e96b0b1dc9c 100644 --- a/FMD/AliFMD.cxx +++ b/FMD/AliFMD.cxx @@ -119,7 +119,6 @@ //#endif // #include "AliFMDGeometryBuilder.h" #include "AliFMDRawWriter.h" // ALIFMDRAWWRITER_H -#include "AliFMDPoints.h" // ALIFMDPOINTS_H //____________________________________________________________________ ClassImp(AliFMD) @@ -472,227 +471,6 @@ AliFMD::FinishEvent() } -//==================================================================== -// -// Graphics and event display -// -//____________________________________________________________________ -void -AliFMD::BuildGeometry() -{ - // - // Build simple ROOT TNode geometry for event display. With the new - // geometry modeller, TGeoManager, this seems rather redundant. - AliFMDDebug(10, ("\tCreating a simplified geometry")); - - AliFMDGeometry* fmd = AliFMDGeometry::Instance(); - - static TXTRU* innerShape = 0; - static TXTRU* outerShape = 0; - static TObjArray* innerRot = 0; - static TObjArray* outerRot = 0; - - if (!innerShape || !outerShape) { - // Make the shapes for the modules - for (Int_t i = 0; i < 2; i++) { - AliFMDRing* r = 0; - switch (i) { - case 0: r = fmd->GetRing('I'); break; - case 1: r = fmd->GetRing('O'); break; - } - if (!r) { - AliError(Form("no ring found for i=%d", i)); - return; - } - Double_t siThick = r->GetSiThickness(); - const Int_t knv = r->GetNVerticies(); - Double_t theta = r->GetTheta(); - Int_t nmod = r->GetNModules(); - - TXTRU* shape = new TXTRU(r->GetName(), r->GetTitle(), "void", knv, 2); - for (Int_t j = 0; j < knv; j++) { - TVector2* vv = r->GetVertex(knv - 1 - j); - shape->DefineVertex(j, vv->X(), vv->Y()); - } - shape->DefineSection(0, -siThick / 2, 1, 0, 0); - shape->DefineSection(1, +siThick / 2, 1, 0, 0); - shape->SetLineColor(kYellow); //PH kYellow is the default line color in FMD - - TObjArray* rots = new TObjArray(nmod); - for (Int_t j = 0; j < nmod; j++) { - Double_t th = (j + .5) * theta * 2; - TString name(Form("FMD_ring_%c_rot_%02d", r->GetId(), j)); - TString title(Form("FMD Ring %c Rotation # %d", r->GetId(), j)); - TRotMatrix* rot = new TRotMatrix(name.Data(), title.Data(), - 90, th, 90, fmod(90+th,360), 0, 0); - rots->AddAt(rot, j); - } - - switch (r->GetId()) { - case 'i': - case 'I': innerShape = shape; innerRot = rots; break; - case 'o': - case 'O': outerShape = shape; outerRot = rots; break; - } - } - } - - TNode* top = gAlice->GetGeometry()->GetNode("alice"); - - for (Int_t i = 1; i <= 3; i++) { - AliFMDDetector* det = fmd->GetDetector(i); - if (!det) { - Warning("BuildGeometry", "FMD%d seems to be disabled", i); - continue; - } - Double_t w = 0; - Double_t rh = det->GetRing('I')->GetHighR(); - Char_t id = 'I'; - if (det->GetRing('O')) { - w = TMath::Abs(det->GetRingZ('O') - det->GetRingZ('I')); - id = (TMath::Abs(det->GetRingZ('O')) - > TMath::Abs(det->GetRingZ('I')) ? 'O' : 'I'); - rh = det->GetRing('O')->GetHighR(); - } - w += (det->GetRing(id)->GetModuleSpacing() + - det->GetRing(id)->GetSiThickness()); - TShape* shape = new TTUBE(det->GetName(), det->GetTitle(), "void", - det->GetRing('I')->GetLowR(), rh, w / 2); - Double_t z = (det->GetRingZ('I') - w / 2); - if (z > 0) z += det->GetRing(id)->GetModuleSpacing(); - top->cd(); - TNode* node = new TNode(det->GetName(), det->GetTitle(), shape, - 0, 0, z, 0); - fNodes->Add(node); - - for (Int_t j = 0; j < 2; j++) { - AliFMDRing* r = 0; - TShape* rshape = 0; - TObjArray* rots = 0; - switch (j) { - case 0: - r = det->GetRing('I'); rshape = innerShape; rots = innerRot; break; - case 1: - r = det->GetRing('O'); rshape = outerShape; rots = outerRot; break; - } - if (!r) continue; - - Double_t siThick = r->GetSiThickness(); - Int_t nmod = r->GetNModules(); - Double_t modspace = r->GetModuleSpacing(); - Double_t rz = - (z - det->GetRingZ(r->GetId())); - - for (Int_t k = 0; k < nmod; k++) { - node->cd(); - Double_t offz = (k % 2 == 1 ? modspace : 0); - TRotMatrix* rot = static_cast(rots->At(k)); - TString name(Form("%s%c_module_%02d", det->GetName(), r->GetId(),k)); - TString title(Form("%s%c Module %d", det->GetName(), r->GetId(),k)); - TNode* mnod = new TNode(name.Data(), title.Data(), rshape, - 0, 0, rz - siThick / 2 - + TMath::Sign(offz,z), rot); - mnod->SetLineColor(kYellow); //PH kYellow is the default line color in FMD - fNodes->Add(mnod); - } // for (Int_t k = 0 ; ...) - } // for (Int_t j = 0 ; ...) - } // for (Int_t i = 1 ; ...) -} - -//____________________________________________________________________ -void -AliFMD::LoadPoints(Int_t /* track */) -{ - // Store x, y, z of all hits in memory for display. - // - // Normally, the hits are drawn using TPolyMarker3D - however, that - // is not very useful for the FMD. Therefor, this member function - // is overloaded to make TMarker3D, via the class AliFMDPoints. - // AliFMDPoints is a local class. - // - if (!fHits) { - AliError(Form("fHits == 0. Name is %s",GetName())); - return; - } - Int_t nHits = fHits->GetEntriesFast(); - if (nHits == 0) { - return; - } - Int_t tracks = gAlice->GetMCApp()->GetNtrack(); - if (fPoints == 0) fPoints = new TObjArray(2 * tracks); - - // Get geometry - AliFMDGeometry* geom = AliFMDGeometry::Instance(); - geom->Init(); - geom->InitTransformations(); - - // Now make markers for each hit - // AliInfo(Form("Drawing %d hits (have %d points) for track %d", - // nHits, fPoints->GetEntriesFast(), track)); - for (Int_t ihit = 0; ihit < nHits; ihit++) { - AliFMDHit* hit = static_cast(fHits->At(ihit)); - if (!hit) continue; - Double_t edep = hit->Edep(); - Double_t m = hit->M(); - Double_t poverm = (m == 0 ? 0 : hit->P()); - Double_t absQ = TMath::Abs(hit->Q()); - Bool_t bad = kFALSE; - // This `if' is to debug abnormal energy depositions. We trigger on - // p/m approx larger than or equal to a MIP, and a large edep - more - // than 1 keV - a MIP is 100 eV. - if (edep > absQ * absQ && poverm > 1) bad = kTRUE; - - AliFMDPoints* p1 = new AliFMDPoints(hit, kRed); //PH kRed is the default marker color in FMD - // AliPoints* p1 = new AliPoints(); - // p1->SetMarkerColor(GetMarkerColor()); - // p1->SetMarkerSize(GetMarkerSize()); - // p1->SetPoint(0, hit->X(), hit->Y(), hit->Z()); - p1->SetDetector(this); - p1->SetParticle(hit->GetTrack()); - fPoints->AddAt(p1, hit->GetTrack()); - if (bad) { - p1->SetMarkerColor(4); - // p1->SetMarkerSize(2 * GetMarkerSize()); - } - - Double_t x, y, z; - geom->Detector2XYZ(hit->Detector(), hit->Ring(), hit->Sector(), - hit->Strip(), x, y, z); - AliFMDPoints* p = new AliFMDPoints(hit, 3); - // AliPoints* p = new AliPoints(); - // p->SetMarkerColor(3); - // p->SetMarkerSize(GetMarkerSize()); - // p->SetPoint(0, x, y, z); - p->SetDetector(this); - p->SetParticle(hit->GetTrack()); - p->SetXYZ(x, y, z); - p->SetMarkerColor(3); - fPoints->AddAt(p, tracks+hit->GetTrack()); - if (bad) { - p->SetMarkerColor(5); - // p->SetMarkerSize(2 * GetMarkerSize()); - } - // AliInfo(Form("Adding point at %d", tracks+hit->GetTrack())); - } -} - -//____________________________________________________________________ -void -AliFMD::DrawDetector() -{ - // Draw a shaded view of the Forward multiplicity detector. This - // isn't really useful anymore. - AliFMDDebug(10, ("\tDraw detector")); -} - -//____________________________________________________________________ -Int_t -AliFMD::DistancetoPrimitive(Int_t, Int_t) -{ - // Calculate the distance from the mouse to the FMD on the screen - // Dummy routine. - // - return 9999; -} //==================================================================== // diff --git a/FMD/AliFMD.h b/FMD/AliFMD.h index 449761f2ab0..889b2c64d58 100644 --- a/FMD/AliFMD.h +++ b/FMD/AliFMD.h @@ -333,22 +333,9 @@ public: /** @{*/ /** @name Graphics and event display */ - /** Build simple ROOT TNode geometry for event display. With the new - geometry modeller, TGeoManager, this seems rather redundant. */ - virtual void BuildGeometry(); /** Draw a shaded view of the Forward multiplicity detector. This isn't really useful anymore. */ - virtual void DrawDetector(); - /** Calculate the distance from the mouse to the FMD on the screen - Dummy routine */ - virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); - /** Store x, y, z of all hits in memory for display. - Normally, the hits are drawn using TPolyMarker3D - however, that - is not very useful for the FMD. Therefor, this member function - is overloaded to make TMarker3D, via the class AliFMDPoints. - AliFMDPoints is a local class. - @param track the track number to load the hits for */ - virtual void LoadPoints(Int_t track); + virtual void DrawDetector() {} /** @}*/ /** @{ */ diff --git a/FMD/AliFMDDisplay.cxx b/FMD/AliFMDDisplay.cxx index f9d45bce6fa..3832b9e7d06 100644 --- a/FMD/AliFMDDisplay.cxx +++ b/FMD/AliFMDDisplay.cxx @@ -354,21 +354,6 @@ AliFMDDisplay::ExecuteEvent(Int_t event, Int_t px, Int_t py) } } -//____________________________________________________________________ -Int_t -AliFMDDisplay::DistancetoPrimitive(Int_t px, Int_t) -{ - // Calculate the distance from point to - // something in the canvas. - // Depends on the zoom mode. - fPad->SetCursor(kCross); - Float_t xmin = fPad->GetX1(); - Float_t xmax = fPad->GetX2(); - Float_t dx = .02 * (xmax - xmin); - Float_t x = fPad->AbsPixeltoX(px); - if (x < xmin + dx || x > xmax - dx) return 9999; - return (fZoomMode ? 0 : 7); -} //____________________________________________________________________ Bool_t AliFMDDisplay::Init() diff --git a/FMD/AliFMDDisplay.h b/FMD/AliFMDDisplay.h index 24674415688..a39a3d6c0b5 100644 --- a/FMD/AliFMDDisplay.h +++ b/FMD/AliFMDDisplay.h @@ -71,11 +71,6 @@ public: @param px where the event happened in pixels along X @param py where the event happened in pixels along Y */ virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); - /** Calculate distance from point @f$ (p_x,p_y)@f$ to this object. - @param px Pixel X coordinate - @param py Pixel Y coordinate - @return distance. */ - virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); /** Paint into canvas @param option Not used */ virtual void Paint(Option_t* option="") { (void)option; } diff --git a/FMD/AliFMDPoints.cxx b/FMD/AliFMDPoints.cxx deleted file mode 100644 index b64e62017f7..00000000000 --- a/FMD/AliFMDPoints.cxx +++ /dev/null @@ -1,133 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ -/* $Id$ */ -/** @file AliFMDPoints.cxx - @author Christian Holm Christensen - @date Tue Apr 11 12:42:50 2006 - @brief Specialised class for drawing hits in the FMD. - @ingroup FMD_sim -*/ -// Specialised class for drawing hits in the FMD. The normal -// AliPoints class isn't really suited for the FMD, as it connects the -// dots between hits from the same particle. However, in the FMD, all -// hits are not identified by a track, so this has little meaning. -// What is more interresting, is the actual size of the hit. -#include // ROOT_TMath -#include // ROOT_TVector3 -#include // ROOT_TMarker3DBox -#include "AliFMDHit.h" // ALIFMDHIT_H -#include "AliFMDPoints.h" // ALIFMDPOINTS_H - -//____________________________________________________________________ -AliFMDPoints::AliFMDPoints(AliFMDHit* hit, UInt_t color) - : AliPoints(1), fMarker(0) -{ - // Constructor - // Params: - // hit Hit to represent - // color Color of marker - // - if (!hit) return; - Float_t size = TMath::Min(TMath::Max(hit->Edep() * .1, .1), 1.); - TVector3 p(hit->Px(), hit->Py(), hit->Pz()); - fMarker = new TMarker3DBox(hit->X(), hit->Y(), hit->Z(), size, size, size, - p.Theta(), p.Phi()); - fMarker->SetLineColor(color); - fMarker->SetRefObject(this); - fP[0] = hit->X(); - fP[1] = hit->Y(); - fP[2] = hit->Z(); -} - -//____________________________________________________________________ -AliFMDPoints::AliFMDPoints(const AliFMDPoints& other) - : AliPoints(other), fMarker(other.fMarker) -{ - // Copy constructor -} - -//____________________________________________________________________ -AliFMDPoints& -AliFMDPoints::operator=(const AliFMDPoints& other) -{ - // Assignment operator - fMarker = other.fMarker; - return *this; -} - - -//____________________________________________________________________ -AliFMDPoints::~AliFMDPoints() -{ - // Destructor - // if (fMarker) delete fMarker; -} -//____________________________________________________________________ -void -AliFMDPoints::SetXYZ(Double_t x, Double_t y, Double_t z) -{ - // Set (x,y,z) position of marker - // Params - // X X position - // Y Y position - // Z Z position - if (fMarker) fMarker->SetPosition(x, y, z); -} - -//____________________________________________________________________ -Int_t -AliFMDPoints::DistancetoPrimitive(Int_t px, Int_t py) -{ - // Calculate distance from (px,py) to this - // Params: - // Px X-coordinate of marker - // Py Y-coordinate of marker - // Return - // Distance to this - return fMarker->DistancetoPrimitive(px, py); -} -//____________________________________________________________________ -void -AliFMDPoints::Draw(Option_t* option) -{ - // Draw on pad - // Params - // option See TMarker3DBox::Draw - if (fMarker) fMarker->Draw(option); -} -//____________________________________________________________________ -void -AliFMDPoints::Paint(Option_t* option) -{ - // Draw on pad - // Params - // option See TMarker3DBox::Paint - if (fMarker) fMarker->Paint(option); -} - -//____________________________________________________________________ -void -AliFMDPoints::SetMarkerColor(Color_t colour) -{ - // Set the marker color - // Params - // colour Colour of marker - if (fMarker) fMarker->SetLineColor(colour); -} - -//____________________________________________________________________ -// -// EOF -// diff --git a/FMD/AliFMDPoints.h b/FMD/AliFMDPoints.h deleted file mode 100644 index 72379f13c16..00000000000 --- a/FMD/AliFMDPoints.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef ALIFMDPOINTS_H -#define ALIFMDPOINTS_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights - * reserved. - * - * Latest changes by Christian Holm Christensen - * - * See cxx source for full Copyright notice - */ -/** @file AliFMDPoints.h - @author Christian Holm Christensen - @date Tue Apr 11 12:35:31 2006 - @brief Specialised class for drawing hits in the FMD. - @ingroup FMD_sim -*/ -//____________________________________________________________________ -// -// AliFMDPoints. -// Class to draw FMD Hits. -// Normally, hits are drawn using TPolyMarker3D. However, that's not -// really appropriate for the FMD. Instead, we use TMarker3DBox. -// -#ifndef ALIPOINTS_H -# include -#endif -class AliFMHit; -class TMarker3DBox; - -/** @class AliFMDPoints - @brief Class to draw hits for the FMD - @ingroup FMD_sim - */ -class AliFMDPoints : public AliPoints -{ -public: - /** Constructor - @param hit Hit to draw - @param color Color of hit */ - AliFMDPoints(AliFMDHit* hit, UInt_t color); - /** Copy constructor - @param other Objct to copy from */ - AliFMDPoints(const AliFMDPoints& other); - /** Assignment operator - @param other Objct to copy from - @return reference to this */ - AliFMDPoints& operator=(const AliFMDPoints& other); - /** Destructor */ - virtual ~AliFMDPoints(); - /** Set position - @param x @f$ x@f$ coordinate - @param y @f$ y@f$ coordinate - @param z @f$ z@f$ coordinate */ - void SetXYZ(Double_t x, Double_t y, Double_t z); - /** Calculate the distance to this object from cursor - @param px Curser X-position - @param py Cursor Y-position - @return Distance to @f$(p_x,p_y)@f$ */ - Int_t DistancetoPrimitive(Int_t px, Int_t py); - /** Attach to canvas - @param option See TMarker3DBox::Draw */ - void Draw(Option_t* option); - /** Paint in canvas - @param option See TMarker3DBox::Paint */ - void Paint(Option_t* option); - /** @param colour Colour of marker */ - void SetMarkerColor(Color_t colour); -private: - /** Marker */ - TMarker3DBox* fMarker; // Marker -}; - -#endif -// Local Variables: -// mode: C++ -// End: -// -// EOF -// diff --git a/FMD/CMake_libFMDsim.txt b/FMD/CMake_libFMDsim.txt index 8be7e826182..24aa08863ef 100644 --- a/FMD/CMake_libFMDsim.txt +++ b/FMD/CMake_libFMDsim.txt @@ -4,7 +4,6 @@ set(SRCS AliFMD.cxx AliFMDv0.cxx AliFMDv1.cxx -AliFMDPoints.cxx AliFMDHit.cxx AliFMDBaseDigitizer.cxx AliFMDDigitizer.cxx diff --git a/FMD/libFMDsim.pkg b/FMD/libFMDsim.pkg index 60c51fd0a55..629d5030753 100644 --- a/FMD/libFMDsim.pkg +++ b/FMD/libFMDsim.pkg @@ -5,7 +5,6 @@ SRCS = AliFMD.cxx \ AliFMDv0.cxx \ AliFMDv1.cxx \ - AliFMDPoints.cxx \ AliFMDHit.cxx \ AliFMDBaseDigitizer.cxx \ AliFMDDigitizer.cxx \ diff --git a/HBTAN/.rootrc b/HBTAN/.rootrc deleted file mode 100644 index c85cc3332c8..00000000000 --- a/HBTAN/.rootrc +++ /dev/null @@ -1,7 +0,0 @@ - -Unix.*.Root.MacroPath: .:$(ALICE_ROOT)/macros:$(ALICE_ROOT) - -Root.Html.OutputDir: $(ALICE_ROOT)/html/roothtml/HBTAN -Root.Html.SourceDir: ./ -Root.Html.Author: Piotr Krzysztof Skowronski -Root.Html.Root: http://root.cern.ch/root/html diff --git a/HBTAN/AliHBTAnalysis.cxx b/HBTAN/AliHBTAnalysis.cxx deleted file mode 100644 index 01caa70e17e..00000000000 --- a/HBTAN/AliHBTAnalysis.cxx +++ /dev/null @@ -1,1743 +0,0 @@ -#include "AliHBTAnalysis.h" -//_________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// -// class AliHBTAnalysis -// -// Central Object Of HBTAnalyser: -// This class performs main looping within HBT Analysis -// User must plug a reader of Type AliReader -// User plugs in coorelation and monitor functions -// as well as monitor functions -// -// HBT Analysis Tool, which is integral part of AliRoot, -// ALICE Off-Line framework: -// -// Piotr.Skowronski@cern.ch -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// -//_________________________________________________________ - -#include -#include - -#include -#include - -#include "AliAOD.h" -#include "AliAODParticle.h" -#include "AliAODPairCut.h" -#include "AliEventCut.h" - -#include "AliEventBuffer.h" - -#include "AliReader.h" -#include "AliHBTPair.h" -#include "AliHBTFunction.h" -#include "AliHBTMonitorFunction.h" -#include "AliLog.h" - - -ClassImp(AliHBTAnalysis) - -const UInt_t AliHBTAnalysis::fgkFctnArraySize = 100; -const UInt_t AliHBTAnalysis::fgkDefaultMixingInfo = 1000; -const Int_t AliHBTAnalysis::fgkDefaultBufferSize = 5; - -AliHBTAnalysis::AliHBTAnalysis(): - fProcEvent(0x0), - fReader(0x0), - fNTrackFunctions(0), - fNParticleFunctions(0), - fNParticleAndTrackFunctions(0), - fNTrackMonitorFunctions(0), - fNParticleMonitorFunctions(0), - fNParticleAndTrackMonitorFunctions(0), - fTrackFunctions ( new AliHBTOnePairFctn* [fgkFctnArraySize]), - fParticleFunctions ( new AliHBTOnePairFctn* [fgkFctnArraySize]), - fParticleAndTrackFunctions ( new AliHBTTwoPairFctn* [fgkFctnArraySize]), - fParticleMonitorFunctions ( new AliHBTMonOneParticleFctn* [fgkFctnArraySize]), - fTrackMonitorFunctions ( new AliHBTMonOneParticleFctn* [fgkFctnArraySize]), - fParticleAndTrackMonitorFunctions ( new AliHBTMonTwoParticleFctn* [fgkFctnArraySize]), - fBkgEventCut(0x0), - fPartBuffer(0x0), - fTrackBuffer(0x0), - fBufferSize(2), - fDisplayMixingInfo(fgkDefaultMixingInfo), - fIsOwner(kFALSE), - fProcessOption(kSimulatedAndReconstructed), - fNoCorrfctns(kFALSE), - fOutputFileName(0x0), - fVertexX(0.0), - fVertexY(0.0), - fVertexZ(0.0) - { - //default constructor - - } -/*************************************************************************************/ - -AliHBTAnalysis::AliHBTAnalysis(const AliHBTAnalysis& in): - AliAnalysis(in), - fProcEvent(0x0), - fReader(0x0), - fNTrackFunctions(0), - fNParticleFunctions(0), - fNParticleAndTrackFunctions(0), - fNTrackMonitorFunctions(0), - fNParticleMonitorFunctions(0), - fNParticleAndTrackMonitorFunctions(0), - fTrackFunctions(0x0), - fParticleFunctions(0x0), - fParticleAndTrackFunctions(0x0), - fParticleMonitorFunctions(0x0), - fTrackMonitorFunctions(0x0), - fParticleAndTrackMonitorFunctions(0x0), - fBkgEventCut(0x0), - fPartBuffer(0x0), - fTrackBuffer(0x0), - fBufferSize(fgkDefaultBufferSize), - fDisplayMixingInfo(fgkDefaultMixingInfo), - fIsOwner(kFALSE), - fProcessOption(kSimulatedAndReconstructed), - fNoCorrfctns(kFALSE), - fOutputFileName(0x0), - fVertexX(0.0), - fVertexY(0.0), - fVertexZ(0.0) - { -//copy constructor - Fatal("AliHBTAnalysis(const AliHBTAnalysis&)","Sensless"); - } -/*************************************************************************************/ -AliHBTAnalysis& AliHBTAnalysis::operator=(const AliHBTAnalysis& /*right*/) - { -//operator = - Fatal("AliHBTAnalysis(const AliHBTAnalysis&)","Sensless"); - return *this; - } -/*************************************************************************************/ -AliHBTAnalysis::~AliHBTAnalysis() - { - //destructor - //note that we do not delete functions itself - // they should be deleted by whom where created - //we only store pointers, and we use "new" only for pointers array - - if (fIsOwner) - { - AliDebug(5,"Is Owner: Attempting to delete functions"); - DeleteFunctions(); - if (AliVAODParticle::GetDebug()>5)Info("~AliHBTAnalysis","Delete functions done"); - } - delete [] fTrackFunctions; - delete [] fParticleFunctions; - delete [] fParticleAndTrackFunctions; - - delete [] fParticleMonitorFunctions; - delete [] fTrackMonitorFunctions; - delete [] fParticleAndTrackMonitorFunctions; - - delete fBkgEventCut; - delete fOutputFileName; - } - -/*************************************************************************************/ - -Int_t AliHBTAnalysis::ProcessEvent(AliAOD* aodrec, AliAOD* aodsim) -{ - //Processes one event - if (fProcEvent == 0x0) - { - Error("ProcessEvent","Analysis <<%s>> option not specified.",GetName()); - return 1; - } - if ( Rejected(aodrec,aodsim) ) - { -// Double_t x = 0, y = 0, z = 0; -// aodrec->GetPrimaryVertex(x,y,z); -// Info("ProcessEvent","Event has vertex at %f %f %f",x,y,z); - Info("ProcessEvent","Nch is %d",aodsim->GetNumberOfCharged()); - Info("ProcessEvent","%s: Event cut rejected this event",GetName()); - return 0; - } - - //Move event to the apparent vertex -> must be after the event cut - //It is important for any cut that use any spacial coordiantes, - //f.g. anti-merging cut in order to preserve the same bahavior of variables (f.g. distance between tracks) - Double_t dvx = 0, dvy = 0, dvz = 0; - if (aodrec) - { - Double_t pvx,pvy,pvz; - aodrec->GetPrimaryVertex(pvx,pvy,pvz); - - dvx = fVertexX - pvx; - dvy = fVertexY - pvy; - dvz = fVertexZ - pvz; - aodrec->Move(dvx,dvy,dvz); - } - - Int_t result = (this->*fProcEvent)(aodrec,aodsim); - - if (aodrec) aodrec->Move(-dvx,-dvy,-dvz);//move event back to the same spacial coordinates - - return result; -} -/*************************************************************************************/ - -Int_t AliHBTAnalysis::Finish() -{ -//Finishes analysis - WriteFunctions(); - return 0; -} -/*************************************************************************************/ - -void AliHBTAnalysis::DeleteFunctions() -{ - //Deletes all functions added to analysis - - UInt_t ii; - for(ii = 0;ii5) - { - Info("DeleteFunctions","Deleting ParticleFunction %#x",fParticleFunctions[ii]); - Info("DeleteFunctions","Deleting ParticleFunction %s",fParticleFunctions[ii]->Name()); - } - delete fParticleFunctions[ii]; - } - fNParticleFunctions = 0; - - for(ii = 0;ii5) - { - Info("DeleteFunctions","Deleting TrackFunction %#x",fTrackFunctions[ii]); - Info("DeleteFunctions","Deleting TrackFunction %s",fTrackFunctions[ii]->Name()); - } - delete fTrackFunctions[ii]; - } - fNTrackFunctions = 0; - - for(ii = 0;ii5) - { - Info("DeleteFunctions","Deleting ParticleAndTrackFunction %#x",fParticleAndTrackFunctions[ii]); - Info("DeleteFunctions","Deleting ParticleAndTrackFunction %s",fParticleAndTrackFunctions[ii]->Name()); - } - delete fParticleAndTrackFunctions[ii]; - } - fNParticleAndTrackFunctions = 0; - - for(ii = 0; ii5) - { - Info("DeleteFunctions","Deleting ParticleMonitorFunction %#x",fParticleMonitorFunctions[ii]); - Info("DeleteFunctions","Deleting ParticleMonitorFunction %s",fParticleMonitorFunctions[ii]->Name()); - } - delete fParticleMonitorFunctions[ii]; - } - fNParticleMonitorFunctions = 0; - - for(ii = 0; ii5) - { - Info("DeleteFunctions","Deleting TrackMonitorFunction %#x",fTrackMonitorFunctions[ii]); - Info("DeleteFunctions","Deleting TrackMonitorFunction %s",fTrackMonitorFunctions[ii]->Name()); - } - delete fTrackMonitorFunctions[ii]; - } - fNTrackMonitorFunctions = 0; - - for(ii = 0; ii5) - { - Info("DeleteFunctions","Deleting ParticleAndTrackMonitorFunction %#x",fParticleAndTrackMonitorFunctions[ii]); - Info("DeleteFunctions","Deleting ParticleAndTrackMonitorFunction %s",fParticleAndTrackMonitorFunctions[ii]->Name()); - } - delete fParticleAndTrackMonitorFunctions[ii]; - } - fNParticleAndTrackMonitorFunctions = 0; - -} -/*************************************************************************************/ - -Int_t AliHBTAnalysis::Init() -{ -//Initializeation method -//calls Init for all functions - - //Depending on option and pair cut assigns proper analysis method - Bool_t nonid = IsNonIdentAnalysis(); - switch(fProcessOption) - { - case kReconstructed: - if (nonid) fProcEvent = &AliHBTAnalysis::ProcessRecNonId; - else fProcEvent = &AliHBTAnalysis::ProcessRec; - SetCutsOnRec(); - break; - - case kSimulated: - if (nonid) fProcEvent = &AliHBTAnalysis::ProcessSimNonId; - else fProcEvent = &AliHBTAnalysis::ProcessSim; - SetCutsOnSim(); - break; - - case kSimulatedAndReconstructed: - if (nonid) fProcEvent = &AliHBTAnalysis::ProcessRecAndSimNonId; - else fProcEvent = &AliHBTAnalysis::ProcessRecAndSim; - break; - } - - if (fPartBuffer == 0x0) fPartBuffer = new AliEventBuffer (fBufferSize); - else fPartBuffer->Reset(); - - if (fTrackBuffer == 0x0) fTrackBuffer = new AliEventBuffer (fBufferSize); - else fTrackBuffer->Reset(); - - - fNoCorrfctns = (fNParticleFunctions == 0) && (fNTrackFunctions == 0) && (fNParticleAndTrackFunctions == 0); - - UInt_t ii; - for(ii = 0;iiInit(); - - for(ii = 0;iiInit(); - - for(ii = 0;iiInit(); - - for(ii = 0; iiInit(); - - for(ii = 0; iiInit(); - - for(ii = 0; iiInit(); - - return 0; -} -/*************************************************************************************/ - -void AliHBTAnalysis::ResetFunctions() -{ -//In case fOwner is true, deletes all functions -//in other case, just set number of analysis to 0 - if (fIsOwner) DeleteFunctions(); - else - { - fNParticleFunctions = 0; - fNTrackFunctions = 0; - fNParticleAndTrackFunctions = 0; - fNParticleMonitorFunctions = 0; - fNTrackMonitorFunctions = 0; - fNParticleAndTrackMonitorFunctions = 0; - } -} -/*************************************************************************************/ -Int_t AliHBTAnalysis::ProcessRecAndSim(AliAOD* aodrec, AliAOD* aodsim) -{ -//Does analysis for both tracks and particles -//mainly for resolution study and analysies with weighting algirithms - -// cut on particles only -- why? -// - PID: when we make resolution analysis we want to take only tracks with correct PID -// We need cut on tracks because there are data characteristic - - AliVAODParticle * part1, * part2; - AliVAODParticle * track1, * track2; - - AliAOD * trackEvent = aodrec, *partEvent = aodsim; - AliAOD* trackEvent1 = new AliAOD(); - AliAOD* partEvent1 = new AliAOD(); - - AliAOD * trackEvent2,*partEvent2; - -// Int_t N1, N2, N=0; //number of particles in current event(we prcess two events in one time) - -// Int_t nev = fReader->GetNumberOfTrackEvents(); - static AliHBTPair tpair; - static AliHBTPair ppair; - - AliHBTPair* trackpair = &tpair; - AliHBTPair* partpair = &ppair; - - AliHBTPair * tmptrackpair;//temprary pointers to pairs - AliHBTPair * tmppartpair; - - register UInt_t ii; - - - - if ( !partEvent || !trackEvent ) - { - Error("ProcessRecAndSim","<<%s>> Can not get event",GetName()); - return 1; - } - - if ( partEvent->GetNumberOfParticles() != trackEvent->GetNumberOfParticles() ) - { - Error("ProcessRecAndSim", - "Number of simulated particles (%d) not equal to number of reconstructed tracks (%d). Skipping Event.", - partEvent->GetNumberOfParticles() , trackEvent->GetNumberOfParticles()); - return 2; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessRecAndSim", - "Mixing particle %d with particles from the same event",j); - - part1= partEvent->GetParticle(j); - track1= trackEvent->GetParticle(j); - - Bool_t firstcut = (this->*fkPass1)(part1,track1); - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( (this->*fkPass2)(part1,track1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - partEvent1->AddParticle(part1); - trackEvent1->AddParticle(track1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(part1); - for(ii = 0; iiProcess(track1); - for(ii = 0; iiProcess(track1,part1); - - if (fNoCorrfctns) continue; - - for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - { - part2= partEvent->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue; - partpair->SetParticles(part1,part2); - - track2= trackEvent->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPass)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut, try with swapped pairs - if( (this->*fkPass)((AliHBTPair*)partpair->GetSwappedPair(),(AliHBTPair*)trackpair->GetSwappedPair()) ) - continue; //swaped pairs do not meet criteria of pair cut as well, take next particle - else - { //swaped pair meets all the criteria - tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmptrackpair = trackpair; - tmppartpair = partpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmppartpair); - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair); - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair,tmppartpair); - //end of 2nd loop over particles from the same event - }//for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - if (fBufferSize == 0) continue; - - fPartBuffer->ResetIter(); - fTrackBuffer->ResetIter(); - Int_t m = 0; - while (( partEvent2 = fPartBuffer->Next() )) - { - trackEvent2 = fTrackBuffer->Next(); - - m++; - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessRecAndSim", - "Mixing particle %d from current event with particles from event %d",j,-m); - - for(Int_t l = 0; lGetNumberOfParticles();l++) // ... on all particles - { - part2= partEvent2->GetParticle(l); - partpair->SetParticles(part1,part2); - - track2= trackEvent2->GetParticle(l); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPass)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the - if( (this->*fkPass)((AliHBTPair*)partpair->GetSwappedPair(),(AliHBTPair*)trackpair->GetSwappedPair()) ) - continue; - else - { - tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmptrackpair = trackpair; - tmppartpair = partpair; - } - - for(ii = 0;iiProcessDiffEventParticles(tmppartpair); - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair); - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair,tmppartpair); - }//for(Int_t l = 0; lGetNumberOfParticles() ; j++) - delete fPartBuffer->Push(partEvent1); - delete fTrackBuffer->Push(trackEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ - -Int_t AliHBTAnalysis::ProcessSim(AliAOD* /*aodrec*/, AliAOD* aodsim) -{ - //Does analysis of simulated data - AliVAODParticle * part1, * part2; - - AliAOD* partEvent = aodsim; - AliAOD* partEvent1 = new AliAOD(); - - AliAOD* partEvent2; - - AliHBTPair ppair; - - AliHBTPair* partpair = &ppair; - - AliHBTPair * tmppartpair; - - register UInt_t ii; - - if ( !partEvent ) - { - Error("ProcessSim","Can not get event"); - return 1; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessSim", - "Mixing particle %d with particles from the same event",j); - - part1= partEvent->GetParticle(j); - - Bool_t firstcut = fPairCut->GetFirstPartCut()->Rejected(part1); - - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( fPairCut->GetSecondPartCut()->Rejected(part1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - partEvent1->AddParticle(part1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(part1); - - if ( fNParticleFunctions == 0 ) continue; - - for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - { - part2= partEvent->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue; - partpair->SetParticles(part1,part2); - - if(fPairCut->Rejected(partpair)) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)partpair->GetSwappedPair()) ) continue; - else tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - } - else - { - tmppartpair = partpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmppartpair); - - //end of 2nd loop over particles from the same event - }//for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - if (fBufferSize == 0) continue; - - fPartBuffer->ResetIter(); - Int_t m = 0; - while (( partEvent2 = fPartBuffer->Next() )) - { - m++; - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessSim", - "Mixing particle %d from current event with particles from event %d",j,-m); - for(Int_t l = 0; lGetNumberOfParticles();l++) // ... on all particles - { - - part2= partEvent2->GetParticle(l); - partpair->SetParticles(part1,part2); - - if( fPairCut->Rejected(partpair) ) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)partpair->GetSwappedPair()) ) - continue; - else - { - tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmppartpair = partpair; - } - - for(ii = 0;iiProcessDiffEventParticles(tmppartpair); - - }//for(Int_t l = 0; lPush(partEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysis::ProcessRec(AliAOD* aodrec, AliAOD* /*aodsim*/) -{ - //Does analysis of reconstructed data - AliVAODParticle * track1, * track2; - - AliAOD* trackEvent = aodrec; - AliAOD* trackEvent1 = new AliAOD(); - - AliAOD* trackEvent2; - - AliHBTPair tpair; - - AliHBTPair* trackpair = &tpair; - - AliHBTPair * tmptrackpair; - - register UInt_t ii; - - if ( !trackEvent ) - { - Error("ProcessRecAndSim","Can not get event"); - return 1; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessRec", - "Mixing Particle %d with Particles from the same event",j); - - track1= trackEvent->GetParticle(j); - - Bool_t firstcut = fPairCut->GetFirstPartCut()->Rejected(track1); - - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( fPairCut->GetSecondPartCut()->Rejected(track1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - trackEvent1->AddParticle(track1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(track1); - - if ( fNTrackFunctions == 0 ) continue; - - for (Int_t k =j+1; k < trackEvent->GetNumberOfParticles() ; k++) - { - track2= trackEvent->GetParticle(k); - if (track1->GetUID() == track2->GetUID()) continue; - trackpair->SetParticles(track1,track2); - - if(fPairCut->Rejected(trackpair)) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)trackpair->GetSwappedPair()) ) continue; - else tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - else - { - tmptrackpair = trackpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair); - - //end of 2nd loop over Particles from the same event - }//for (Int_t k =j+1; k < trackEvent->GetNumberOfParticles() ; k++) - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - if (fBufferSize == 0) continue; - - fTrackBuffer->ResetIter(); - Int_t m = 0; - while (( trackEvent2 = fTrackBuffer->Next() )) - { - m++; - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessRec", - "Mixing Particle %d from current event with Particles from event %d",j,-m); - for(Int_t l = 0; lGetNumberOfParticles();l++) // ... on all Particles - { - - track2= trackEvent2->GetParticle(l); - trackpair->SetParticles(track1,track2); - - if( fPairCut->Rejected(trackpair) ) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)trackpair->GetSwappedPair()) ) - continue; - else - { - tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmptrackpair = trackpair; - } - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair); - - }//for(Int_t l = 0; lPush(trackEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ - -Int_t AliHBTAnalysis::ProcessRecAndSimNonId(AliAOD* aodrec, AliAOD* aodsim) -{ -//Analyzes both reconstructed and simulated data - if (aodrec == 0x0) - { - Error("ProcessTracksAndParticlesNonIdentAnal","Reconstructed event is NULL"); - return 1; - } - - if (aodsim == 0x0) - { - Error("ProcessTracksAndParticlesNonIdentAnal","Simulated event is NULL"); - return 1; - } - - if ( aodrec->GetNumberOfParticles() != aodsim->GetNumberOfParticles() ) - { - Error("ProcessTracksAndParticlesNonIdentAnal", - "Number of simulated particles (%d) not equal to number of reconstructed tracks (%d)", - aodsim->GetNumberOfParticles() , aodrec->GetNumberOfParticles()); - return 2; - } - - - AliVAODParticle * part1, * part2; - AliVAODParticle * track1, * track2; - - static AliAOD aodrec1; - static AliAOD aodsim1; - - AliAOD * trackEvent1=&aodrec1,*partEvent1=&aodsim1;//Particle that passes first particle cut, this event - trackEvent1->Reset(); - partEvent1->Reset(); - AliAOD * trackEvent2=0x0,*partEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD * trackEvent3=0x0,*partEvent3=0x0;//Particle that passes second particle cut, events from buffer - - AliAOD* rawtrackEvent = aodrec;//this we get from Reader - AliAOD* rawpartEvent = aodsim;//this we get from Reader - - static AliHBTPair tpair; - static AliHBTPair ppair; - - AliHBTPair* trackpair = &tpair; - AliHBTPair* partpair = &ppair; - - register UInt_t ii; - - /********************************/ - /* Filtering out */ - /********************************/ - if ( ( (partEvent2==0x0) || (trackEvent2==0x0)) )//in case fBufferSize == 0 and pointers are created do not eneter - { - partEvent2 = new AliAOD(); - trackEvent2 = new AliAOD(); - } - - FilterOut(partEvent1, partEvent2, rawpartEvent, trackEvent1, trackEvent2, rawtrackEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - part1= partEvent1->GetParticle(j); - track1= trackEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(part1); - for(ii = 0; iiProcess(track1); - for(ii = 0; iiProcess(track1,part1); - - if (fNoCorrfctns) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < partEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - part2= partEvent2->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue;//this is the same particle but with different PID - partpair->SetParticles(part1,part2); - - track2= trackEvent2->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessSameEventParticles(partpair); - - for(ii = 0;iiProcessSameEventParticles(trackpair); - - for(ii = 0;iiProcessSameEventParticles(trackpair,partpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fPartBuffer->ResetIter(); - fTrackBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (partEvent3 = fPartBuffer->Next() ) != 0x0) - { - trackEvent3 = fTrackBuffer->Next(); - - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++) - { - part2= partEvent3->GetParticle(k); - partpair->SetParticles(part1,part2); - - track2= trackEvent3->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - UInt_t iPF; - for(iPF = 0;iPFProcessDiffEventParticles(partpair); - - for(iPF = 0;iPFProcessDiffEventParticles(trackpair); - - for(iPF = 0;iPFProcessDiffEventParticles(trackpair,partpair); - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fPartBuffer->Push(partEvent2); - delete fTrackBuffer->Push(trackEvent2); - - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysis::ProcessSimNonId(AliAOD* /*aodrec*/, AliAOD* aodsim) -{ -//does analysis of simulated (MC) data in non-identical mode -//i.e. when particles selected by first part. cut are a disjunctive set than particles -//passed by the second part. cut - if (aodsim == 0x0) - { - return 1; - } - - - AliVAODParticle * part1, * part2; - - static AliAOD aodsim1; - - AliAOD* partEvent1=&aodsim1;//Particle that passes first particle cut, this event - partEvent1->Reset(); - AliAOD* partEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD* partEvent3=0x0;//Particle that passes second particle cut, events from buffer - - AliAOD* rawpartEvent = aodsim;//this we get from Reader - - static AliHBTPair ppair; - - AliHBTPair* partpair = &ppair; - - register UInt_t ii; - - /********************************/ - /* Filtering out */ - /********************************/ - if (partEvent2==0x0)//in case fBufferSize == 0 and pointers are created do not eneter - { - partEvent2 = new AliAOD(); - } - - FilterOut(partEvent1, partEvent2, rawpartEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - part1= partEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(part1); - - if (fNParticleFunctions == 0) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < partEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - part2= partEvent2->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue;//this is the same particle but with different PID - partpair->SetParticles(part1,part2); - - - if(fPairCut->PassPairProp(partpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessSameEventParticles(partpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fPartBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (partEvent3 = fPartBuffer->Next() ) != 0x0) - { - - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++) - { - part2= partEvent3->GetParticle(k); - partpair->SetParticles(part1,part2); - - - if(fPairCut->PassPairProp(partpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessDiffEventParticles(partpair); - } - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fPartBuffer->Push(partEvent2); - - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysis::ProcessRecNonId(AliAOD* aodrec, AliAOD* /*aodsim*/) -{ -//Analyzes both reconstructed and simulated data - if (aodrec == 0x0) - { - return 1; - } - - AliVAODParticle * track1, * track2; - - static AliAOD aodrec1; - AliAOD * trackEvent1=&aodrec1;//Particle that passes first particle cut, this event - trackEvent1->Reset(); - AliAOD * trackEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD * trackEvent3=0x0;//Particle that passes second particle cut, events from buffer - AliAOD* rawtrackEvent = aodrec;//this we get from Reader - - static AliHBTPair tpair; - - AliHBTPair* trackpair = &tpair; - - register UInt_t ii; - - - /********************************/ - /* Filtering out */ - /********************************/ - if ( trackEvent2==0x0 )//in case fBufferSize == 0 and pointers are created do not eneter - { - trackEvent2 = new AliAOD(); - } - - FilterOut(trackEvent1, trackEvent2, rawtrackEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - track1= trackEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(track1); - - if (fNTrackFunctions == 0x0) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < trackEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - track2= trackEvent2->GetParticle(k); - if (track1->GetUID() == track2->GetUID()) continue;//this is the same particle but with different PID - trackpair->SetParticles(track1,track2); - - - if( fPairCut->PassPairProp(trackpair)) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - UInt_t iTF; - for(iTF = 0;iTFProcessSameEventParticles(trackpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fTrackBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (trackEvent3 = fTrackBuffer->Next() ) != 0x0) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < trackEvent3->GetNumberOfParticles() ; k++) - { - track2= trackEvent3->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( fPairCut->PassPairProp(trackpair)) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessDiffEventParticles(trackpair); - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fTrackBuffer->Push(trackEvent2); - - return 0; -} -/*************************************************************************************/ - -void AliHBTAnalysis::Process(Option_t* option) -{ - //default option = "TracksAndParticles" - //Main method of the HBT Analysis Package - //It triggers reading with the global cut (default is an empty cut) - //Than it checks options and data which are read - //if everything is OK, then it calls one of the looping methods - //depending on tfReaderhe option - //These methods differs on what thay are looping on - // - // METHOD OPTION - //-------------------------------------------------------------------- - //ProcessTracksAndParticles - "TracksAndParticles" - // DEFAULT - // it loops over both, tracks(reconstructed) and particles(simulated) - // all function gethered in all 3 lists are called for each (double)pair - // - //ProcessTracks - "Tracks" - // it loops only on tracks(reconstructed), - // functions ONLY from fTrackFunctions list are called - // - //ProcessParticles - "Particles" - // it loops only on particles(simulated), - // functions ONLY from fParticleAndTrackFunctions list are called - // - // - if (!fReader) - { - Error("Process","The reader is not set"); - return; - } - - const char *oT = strstr(option,"Tracks"); - const char *oP = strstr(option,"Particles"); - - Bool_t nonid = IsNonIdentAnalysis(); - - Init(); - - if(oT && oP) - { - if (nonid) ProcessTracksAndParticlesNonIdentAnal(); - else ProcessTracksAndParticles(); - return; - } - - if(oT) - { - if (nonid) ProcessTracksNonIdentAnal(); - else ProcessTracks(); - return; - } - - if(oP) - { - if (nonid) ProcessParticlesNonIdentAnal(); - else ProcessParticles(); - return; - } - -} -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessTracksAndParticles() -{ -//Makes analysis for both tracks and particles -//mainly for resolution study and analysies with weighting algirithms -//In order to minimize calling AliRun::GetEvent (we need at one time particles from different events), -//the loops are splited - -// cut on particles only -- why? -// - PID: when we make resolution analysis we want to take only tracks with correct PID -// We need cut on tracks because there are data characteristic to - - AliAOD * trackEvent, *partEvent; - - fReader->Rewind(); - while (fReader->Next() == kFALSE) - { - partEvent = fReader->GetEventSim(); - trackEvent = fReader->GetEventRec(); - ProcessRecAndSim(trackEvent,partEvent); - - }//while (fReader->Next() == kFALSE) - -} -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessTracks() -{ -//In order to minimize calling AliRun::GetEvent (we need at one time particles from different events), -//the loops are splited - AliAOD * trackEvent; - fReader->Rewind(); - while (fReader->Next() == kFALSE) - { - trackEvent = fReader->GetEventRec(); - ProcessRec(trackEvent,0x0); - }//while (fReader->Next() == kFALSE) -} - -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessParticles() -{ -//In order to minimize calling AliRun::GetEvent (we need at one time particles from different events), -//the loops are splited - AliAOD * partEvent; - fReader->Rewind(); - while (fReader->Next() == kFALSE) - { - partEvent = fReader->GetEventSim(); - ProcessSim(0x0,partEvent); - }//while (fReader->Next() == kFALSE) -} -/*************************************************************************************/ - -void AliHBTAnalysis::WriteFunctions() -{ -//Calls Write for all defined functions in analysis -//== writes all results - TFile* oututfile = 0x0; - if (fOutputFileName) - { - oututfile = TFile::Open(*fOutputFileName,"update"); - } - UInt_t ii; - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing ParticleFunction %#x",fParticleFunctions[ii]); - Info("WriteFunctions","Writing ParticleFunction %s",fParticleFunctions[ii]->Name()); - } - fParticleFunctions[ii]->Write(); - } - - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing TrackFunction %#x",fTrackFunctions[ii]); - Info("WriteFunctions","Writing TrackFunction %s",fTrackFunctions[ii]->Name()); - } - fTrackFunctions[ii]->Write(); - } - - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing ParticleAndTrackFunction %#x",fParticleAndTrackFunctions[ii]); - Info("WriteFunctions","Writing ParticleAndTrackFunction %s",fParticleAndTrackFunctions[ii]->Name()); - } - fParticleAndTrackFunctions[ii]->Write(); - } - - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing ParticleMonitorFunction %#x",fParticleMonitorFunctions[ii]); - Info("WriteFunctions","Writing ParticleMonitorFunction %s",fParticleMonitorFunctions[ii]->Name()); - } - fParticleMonitorFunctions[ii]->Write(); - } - - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing TrackMonitorFunction %#x",fTrackMonitorFunctions[ii]); - Info("WriteFunctions","Writing TrackMonitorFunction %s",fTrackMonitorFunctions[ii]->Name()); - } - fTrackMonitorFunctions[ii]->Write(); - } - - for(ii = 0;ii5) - { - Info("WriteFunctions","Writing ParticleAndTrackMonitorFunction %#x",fParticleAndTrackMonitorFunctions[ii]); - Info("WriteFunctions","Writing ParticleAndTrackMonitorFunction %s",fParticleAndTrackMonitorFunctions[ii]->Name()); - } - fParticleAndTrackMonitorFunctions[ii]->Write(); - } - delete oututfile; -} -/*************************************************************************************/ - -void AliHBTAnalysis::SetOutputFileName(const char* fname) -{ - //Sets fiele name where to dump results, - //if not specified reults are written to gDirectory - if (fname == 0x0) - { - delete fOutputFileName; - fOutputFileName = 0x0; - return; - } - if ( strcmp(fname,"") == 0 ) - { - delete fOutputFileName; - fOutputFileName = 0x0; - return; - } - if (fOutputFileName == 0x0) fOutputFileName = new TString(fname); - else *fOutputFileName = fname; -} -/*************************************************************************************/ - -void AliHBTAnalysis::SetGlobalPairCut(AliAODPairCut* cut) -{ -//Sets the global cut - if (cut == 0x0) - { - Error("AliHBTAnalysis::SetGlobalPairCut","Pointer is NULL. Ignoring"); - } - delete fPairCut; - fPairCut = (AliAODPairCut*)cut->Clone(); -} - -/*************************************************************************************/ - -void AliHBTAnalysis::AddTrackFunction(AliHBTOnePairFctn* f) -{ -//Adds track function - if (f == 0x0) return; - if (fNTrackFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddTrackFunction","Can not add this function, not enough place in the array."); - } - fTrackFunctions[fNTrackFunctions] = f; - fNTrackFunctions++; -} -/*************************************************************************************/ - -void AliHBTAnalysis::AddParticleFunction(AliHBTOnePairFctn* f) -{ -//adds particle function - if (f == 0x0) return; - - if (fNParticleFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddParticleFunction","Can not add this function, not enough place in the array."); - } - fParticleFunctions[fNParticleFunctions] = f; - fNParticleFunctions++; -} -/*************************************************************************************/ - -void AliHBTAnalysis::AddParticleAndTrackFunction(AliHBTTwoPairFctn* f) -{ -//add resolution function - if (f == 0x0) return; - if (fNParticleAndTrackFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddParticleAndTrackFunction","Can not add this function, not enough place in the array."); - } - fParticleAndTrackFunctions[fNParticleAndTrackFunctions] = f; - fNParticleAndTrackFunctions++; -} -/*************************************************************************************/ - -void AliHBTAnalysis::AddParticleMonitorFunction(AliHBTMonOneParticleFctn* f) -{ -//add particle monitoring function - if (f == 0x0) return; - - if (fNParticleMonitorFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddParticleMonitorFunction","Can not add this function, not enough place in the array."); - } - fParticleMonitorFunctions[fNParticleMonitorFunctions] = f; - fNParticleMonitorFunctions++; -} -/*************************************************************************************/ - -void AliHBTAnalysis::AddTrackMonitorFunction(AliHBTMonOneParticleFctn* f) -{ -//add track monitoring function - if (f == 0x0) return; - - if (fNTrackMonitorFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddTrackMonitorFunction","Can not add this function, not enough place in the array."); - } - fTrackMonitorFunctions[fNTrackMonitorFunctions] = f; - fNTrackMonitorFunctions++; -} -/*************************************************************************************/ - -void AliHBTAnalysis::AddParticleAndTrackMonitorFunction(AliHBTMonTwoParticleFctn* f) -{ -//add resolution monitoring function - if (f == 0x0) return; - if (fNParticleAndTrackMonitorFunctions == fgkFctnArraySize) - { - Error("AliHBTAnalysis::AddParticleAndTrackMonitorFunction","Can not add this function, not enough place in the array."); - } - fParticleAndTrackMonitorFunctions[fNParticleAndTrackMonitorFunctions] = f; - fNParticleAndTrackMonitorFunctions++; -} - - -/*************************************************************************************/ -/*************************************************************************************/ - -Bool_t AliHBTAnalysis::RunCoherencyCheck() -{ - //Checks if both HBTRuns are similar - //return true if error found - //if they seem to be OK return false -/* - - Int_t i; - Info("RunCoherencyCheck","Checking HBT Runs Coherency"); - -//When we use non-buffering reader this is a big waste of time -> We need to read all data to check it -//and reader is implemented safe in this case anyway -// Info("RunCoherencyCheck","Number of events ..."); -// if (fReader->GetNumberOfPartEvents() == fReader->GetNumberOfTrackEvents() ) //check whether there is the same number of events -// { -// Info("RunCoherencyCheck","OK. %d found\n",fReader->GetNumberOfTrackEvents()); -// } -// else -// { //if not the same - ERROR -// Error("RunCoherencyCheck", -// "Number of simulated events (%d) is not equal to number of reconstructed events(%d)", -// fReader->GetNumberOfPartEvents(),fReader->GetNumberOfTrackEvents()); -// return kTRUE; -// } - - Info("RunCoherencyCheck","Checking number of Particles AND Particles Types in each event ..."); - - AliAOD *partEvent; - AliAOD *trackEvent; - for( i = 0; iGetNumberOfTrackEvents();i++) - { - partEvent= fReader->GetEventSim(i); //gets the "ith" event - trackEvent = fReader->GetEventRec(i); - - if ( (partEvent == 0x0) && (partEvent == 0x0) ) continue; - if ( (partEvent == 0x0) || (partEvent == 0x0) ) - { - Error("RunCoherencyCheck", - "One event is NULL and the other one not. Event Number %d",i); - return kTRUE; - } - - if ( partEvent->GetNumberOfParticles() != trackEvent->GetNumberOfParticles() ) - { - Error("RunCoherencyCheck", - "Event %d: Number of simulated particles (%d) not equal to number of reconstructed tracks (%d)", - i,partEvent->GetNumberOfParticles() , trackEvent->GetNumberOfParticles()); - return kTRUE; - } - else - for (Int_t j = 0; jGetNumberOfParticles(); j++) - { - if( partEvent->GetParticle(j)->GetPdgCode() != trackEvent->GetParticle(j)->GetPdgCode() ) - { - Error("RunCoherencyCheck", - "Event %d: Particle %d: PID of simulated particle (%d) not the same of reconstructed track (%d)", - i,j, partEvent->GetParticle(j)->GetPdgCode(),trackEvent->GetParticle(j)->GetPdgCode() ); - return kTRUE; - - } - } - } - Info("RunCoherencyCheck"," Done"); - Info("RunCoherencyCheck"," Everything looks OK"); -*/ - return kFALSE; -} - -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessTracksAndParticlesNonIdentAnal() -{ -//Performs analysis for both, tracks and particles - AliAOD* rawtrackEvent, * rawpartEvent; - fReader->Rewind(); - - Info("ProcessTracksAndParticlesNonIdentAnal","**************************************"); - Info("ProcessTracksAndParticlesNonIdentAnal","***** NON IDENT MODE ****************"); - Info("ProcessTracksAndParticlesNonIdentAnal","**************************************"); - - for (Int_t i = 0;;i++)//infinite loop - { - if (fReader->Next()) break; //end when no more events available - - rawpartEvent = fReader->GetEventSim(); - rawtrackEvent = fReader->GetEventRec(); - - ProcessRecAndSimNonId(rawtrackEvent,rawpartEvent); - }//end of loop over events (1) -} -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessTracksNonIdentAnal() -{ -//Process Tracks only with non identical mode - AliAOD * rawtrackEvent; - fReader->Rewind(); - - Info("ProcessTracksNonIdentAnal","**************************************"); - Info("ProcessTracksNonIdentAnal","***** NON IDENT MODE ****************"); - Info("ProcessTracksNonIdentAnal","**************************************"); - - for (Int_t i = 0;;i++)//infinite loop - { - if (fReader->Next()) break; //end when no more events available - rawtrackEvent = fReader->GetEventRec(); - ProcessRecNonId(rawtrackEvent,0x0); - }//end of loop over events (1) -} -/*************************************************************************************/ - -void AliHBTAnalysis::ProcessParticlesNonIdentAnal() -{ -//process paricles only with non identical mode - AliAOD * rawpartEvent = 0x0; - fReader->Rewind(); - - Info("ProcessParticlesNonIdentAnal","**************************************"); - Info("ProcessParticlesNonIdentAnal","***** NON IDENT MODE ****************"); - Info("ProcessParticlesNonIdentAnal","**************************************"); - - for (Int_t i = 0;;i++)//infinite loop - { - if (fReader->Next()) break; //end when no more events available - - rawpartEvent = fReader->GetEventSim(); - ProcessSimNonId(0x0,rawpartEvent); - }//end of loop over events (1) -} - -/*************************************************************************************/ -void AliHBTAnalysis::FilterOut(AliAOD* outpart1, AliAOD* outpart2, AliAOD* inpart, - AliAOD* outtrack1, AliAOD* outtrack2, AliAOD* intrack) const -{ - //Puts particles accepted as a first particle by global cut in out1 - //and as a second particle in out2 - - AliVAODParticle* part, *track; - - outpart1->Reset(); - outpart2->Reset(); - outtrack1->Reset(); - outtrack2->Reset(); - - Bool_t in1, in2; - - for (Int_t i = 0; i < inpart->GetNumberOfParticles(); i++) - { - in1 = in2 = kTRUE; - part = inpart->GetParticle(i); - track = intrack->GetParticle(i); - - if ( ((this->*fkPass1)(part,track)) ) in1 = kFALSE; //if part is rejected by cut1, in1 is false - if ( ((this->*fkPass2)(part,track)) ) in2 = kFALSE; //if part is rejected by cut2, in2 is false - - if (gDebug)//to be removed in real analysis - if ( in1 && in2 ) //both cuts accepted, should never happen, just in case - { - //Particle accpted by both cuts - Error("FilterOut","Particle accepted by both cuts"); - continue; - } - - if (in1) - { - outpart1->AddParticle(part); - outtrack1->AddParticle(track); - continue; - } - - if (in2) - { - outpart2->AddParticle(part); - outtrack2->AddParticle(track); - continue; - } - } -} -/*************************************************************************************/ - -void AliHBTAnalysis::FilterOut(AliAOD* out1, AliAOD* out2, AliAOD* in) const -{ - //Puts particles accepted as a first particle by global cut in out1 - //and as a second particle in out2 - AliVAODParticle* part; - - out1->Reset(); - out2->Reset(); - - AliAODParticleCut *cut1 = fPairCut->GetFirstPartCut(); - AliAODParticleCut *cut2 = fPairCut->GetSecondPartCut(); - - Bool_t in1, in2; - - for (Int_t i = 0; i < in->GetNumberOfParticles(); i++) - { - in1 = in2 = kTRUE; - part = in->GetParticle(i); - - if ( cut1->Rejected(part) ) in1 = kFALSE; //if part is rejected by cut1, in1 is false - if ( cut2->Rejected(part) ) in2 = kFALSE; //if part is rejected by cut2, in2 is false - - if (gDebug)//to be removed in real analysis - if ( in1 && in2 ) //both cuts accepted, should never happen, just in case - { - //Particle accpted by both cuts - Error("FilterOut","Particle accepted by both cuts"); - continue; - } - - if (in1) - { - out1->AddParticle(part); - continue; - } - - if (in2) - { - out2->AddParticle(part); - continue; - } - } -} -/*************************************************************************************/ - -Bool_t AliHBTAnalysis::IsNonIdentAnalysis() -{ - //checks if it is possible to use special analysis for non identical particles - //it means - in global pair cut first particle id is different than second one - //and both are different from 0 - //in the future is possible to perform more sophisticated check - //if cuts have excluding requirements - - if (fPairCut->IsEmpty()) - return kFALSE; - - if (fPairCut->GetFirstPartCut()->IsEmpty()) - return kFALSE; - - if (fPairCut->GetSecondPartCut()->IsEmpty()) - return kFALSE; - - Int_t id1 = fPairCut->GetFirstPartCut()->GetPID(); - Int_t id2 = fPairCut->GetSecondPartCut()->GetPID(); - - if ( (id1==0) || (id2==0) || (id1==id2) ) - return kFALSE; - - return kTRUE; -} -/*************************************************************************************/ - -void AliHBTAnalysis::SetApparentVertex(Double_t x, Double_t y, Double_t z) -{ - //Sets apparent vertex - // All events have to be moved to the same vertex position in order to - // to be able to comare any space positions (f.g. anti-merging) - // This method defines this position - - fVertexX = x; - fVertexY = y; - fVertexZ = z; -} -/*************************************************************************************/ - -void AliHBTAnalysis::PressAnyKey() -{ - //small utility function that helps to make comfortable macros - char c; - int nread = -1; - fcntl(0, F_SETFL, O_NONBLOCK); - ::Info("","Press Any Key to continue ..."); - while (nread<1) - { - nread = read(0, &c, 1); - gSystem->ProcessEvents(); - } -} - diff --git a/HBTAN/AliHBTAnalysis.h b/HBTAN/AliHBTAnalysis.h deleted file mode 100644 index 7f0782738e5..00000000000 --- a/HBTAN/AliHBTAnalysis.h +++ /dev/null @@ -1,171 +0,0 @@ -#ifndef ALIHBTANALYSIS_H -#define ALIHBTANALYSIS_H -//_________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// -// class AliHBTAnalysis -// -// Central Object Of HBTAnalyser: -// This class performs main looping within HBT Analysis -// User must plug a reader of Type AliReader -// User plugs in coorelation and monitor functions -// as well as monitor functions -// -// HBT Analysis Tool, which is integral part of AliRoot, -// ALICE Off-Line framework: -// -// Piotr.Skowronski@cern.ch -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// -//_________________________________________________________ - -#include - -class AliHBTCut; -//class AliHBTPair; - -class AliHBTRun; -class AliAOD; -class AliReader; -class AliEventBuffer; -class AliEventCut; - -class AliHBTOnePairFctn; -class AliHBTTwoPairFctn; - -class AliHBTMonOneParticleFctn; -class AliHBTMonTwoParticleFctn; - -class TList; - -class AliHBTAnalysis: public AliAnalysis - { - public: - AliHBTAnalysis(); - AliHBTAnalysis(const AliHBTAnalysis& in); - AliHBTAnalysis& operator=(const AliHBTAnalysis& /*right*/); - virtual ~AliHBTAnalysis(); - - Int_t Init(); - Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim = 0x0); - Int_t Finish(); - - enum EProcessOption{kReconstructed,kSimulated,kSimulatedAndReconstructed}; - void SetProcessOption(EProcessOption option){fProcessOption = option;}//Init must be called to make effect - - void Process(Option_t* option = "TracksAndParticles");//Stand alone HBT analysis - - void SetGlobalPairCut(AliAODPairCut* cut); - - void AddTrackFunction(AliHBTOnePairFctn* f); - void AddParticleFunction(AliHBTOnePairFctn* f); - void AddParticleAndTrackFunction(AliHBTTwoPairFctn* f); - - void AddParticleMonitorFunction(AliHBTMonOneParticleFctn* f); //z.ch. - void AddTrackMonitorFunction(AliHBTMonOneParticleFctn* f); //z.ch. - void AddParticleAndTrackMonitorFunction(AliHBTMonTwoParticleFctn* f);//z.ch. - - void AddResolutionFunction(AliHBTTwoPairFctn* f){AddParticleAndTrackFunction(f);} - - void SetReader(AliReader* r){fReader = r;} - - void WriteFunctions(); - void SetOutputFileName(const char* fname); - - void SetBufferSize(Int_t buffsize){fBufferSize=buffsize;} - void SetOwner(Bool_t owner=kTRUE){fIsOwner=owner;} - Bool_t IsOwner() const {return fIsOwner;} - Bool_t IsNonIdentAnalysis(); - void ResetFunctions(); - void SetDisplayInfo(Int_t howoften){fDisplayMixingInfo = howoften;}//defines every each line info about mixing is displayed - - void SetApparentVertex(Double_t x, Double_t y, Double_t z);//Sets apparent vertex - - static void PressAnyKey();//small utility function that helps to make comfortable macros - - - protected: - - /**********************************************/ - /* E V E N T P R O C E S S I N G */ - /**********************************************/ - // NEW AOD schema - Int_t (AliHBTAnalysis::*fProcEvent)(AliAOD* aodrec, AliAOD* aodsim);//Pointer to the processing method - - virtual Int_t ProcessSim(AliAOD* /*aodrec*/, AliAOD* aodsim); - virtual Int_t ProcessRec(AliAOD* aodrec, AliAOD* /*aodsim*/); - virtual Int_t ProcessRecAndSim(AliAOD* aodrec, AliAOD* aodsim); - - virtual Int_t ProcessRecAndSimNonId(AliAOD* aodrec, AliAOD* aodsim); - virtual Int_t ProcessSimNonId(AliAOD* /*aodrec*/, AliAOD* aodsim); - virtual Int_t ProcessRecNonId(AliAOD* aodrec, AliAOD* /*aodsim*/); - - - // OLD legacy schema - - void ProcessTracks(); - void ProcessParticles(); - void ProcessTracksAndParticles(); - - void ProcessTracksAndParticlesNonIdentAnal(); - void ProcessParticlesNonIdentAnal(); - void ProcessTracksNonIdentAnal(); - - Bool_t RunCoherencyCheck(); - - void FilterOut(AliAOD* outpart1, AliAOD* outpart2, AliAOD* inpart, - AliAOD* outtrack1, AliAOD* outtrack2, AliAOD* intrack)const; - void FilterOut(AliAOD* out1, AliAOD* out2, AliAOD* in)const; - void DeleteFunctions(); - - - AliReader* fReader;//! Pointer to reader - - UInt_t fNTrackFunctions; //! Number of Tracks functions - UInt_t fNParticleFunctions; //! Number of particles functions - UInt_t fNParticleAndTrackFunctions; //! Number of resolution functions - - UInt_t fNTrackMonitorFunctions; //! Number of Track Monitor functions - UInt_t fNParticleMonitorFunctions; //! Number of Particles Monitor functions - UInt_t fNParticleAndTrackMonitorFunctions; //! Number of Resolution Monitor functions - - AliHBTOnePairFctn** fTrackFunctions; //!array of pointers to functions that analyze rekonstructed tracks - AliHBTOnePairFctn** fParticleFunctions; //!array of pointers to functions that analyze generated particles - AliHBTTwoPairFctn** fParticleAndTrackFunctions; //!array of pointers to functions that analyze both - //reconstructed tracks and generated particles - //i.e. - resolution analyzers - AliHBTMonOneParticleFctn** fParticleMonitorFunctions; //! array of pointers to monitoring functions - AliHBTMonOneParticleFctn** fTrackMonitorFunctions; //! which are used for single particle analysis, - AliHBTMonTwoParticleFctn** fParticleAndTrackMonitorFunctions; //! cut monitoring, etc. - - AliEventCut* fBkgEventCut;// We can narrow class of events used in - - AliEventBuffer* fPartBuffer;//Sim Particles event buffer - AliEventBuffer* fTrackBuffer;//Rec Tracks event buffer - - /**********************************************/ - /* Control parameters */ - /**********************************************/ - - Int_t fBufferSize; //defines the size of buffer for mixed events; -1==MIX All - Int_t fDisplayMixingInfo;//!defines every which particle mixing info is displayed - Bool_t fIsOwner;//!defines of all functions are supposed to be deleted while by the way of analysis defaulr false - - EProcessOption fProcessOption;//Option that says waht analysis to do (Rec, Sim or SimAndRec) - Bool_t fNoCorrfctns;//Internal flag indicating that no cfs are set by the user (only monitor ones) - TString* fOutputFileName;//Fiele name where to dump results, if not specified reults are written to gDirectory - - Double_t fVertexX;//X position of apparent vertex - Double_t fVertexY;//Y position of apparent vertex - Double_t fVertexZ;//Z position of apparent vertex - - private: - - static const UInt_t fgkFctnArraySize;//! - static const UInt_t fgkDefaultMixingInfo;//! - static const Int_t fgkDefaultBufferSize;//! - - ClassDef(AliHBTAnalysis,0) - }; -#endif diff --git a/HBTAN/AliHBTAnalysisStavinskyMixing.cxx b/HBTAN/AliHBTAnalysisStavinskyMixing.cxx deleted file mode 100644 index 63af8d68b35..00000000000 --- a/HBTAN/AliHBTAnalysisStavinskyMixing.cxx +++ /dev/null @@ -1,799 +0,0 @@ -#include "AliHBTAnalysisStavinskyMixing.h" -//_________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// -// class AliHBTAnalysisStavinskyMixing -// -// Central Object Of HBTAnalyser: -// This class performs main looping within HBT Analysis -// User must plug a reader of Type AliReader -// User plugs in coorelation and monitor functions -// as well as monitor functions -// -// HBT Analysis Tool, which is integral part of AliRoot, -// ALICE Off-Line framework: -// -// Piotr.Skowronski@cern.ch -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// -//_________________________________________________________ - - -#include -#include - -#include "AliAOD.h" -#include "AliAODParticle.h" -#include "AliAODPairCut.h" -#include "AliEventCut.h" - -#include "AliEventBuffer.h" - -#include "AliReader.h" -#include "AliHBTPair.h" -#include "AliHBTFunction.h" -#include "AliHBTMonitorFunction.h" - - -ClassImp(AliHBTAnalysisStavinskyMixing) - - -Int_t AliHBTAnalysisStavinskyMixing::ProcessRecAndSim(AliAOD* aodrec, AliAOD* aodsim) -{ -//Does analysis for both tracks and particles -//mainly for resolution study and analysies with weighting algirithms - -// cut on particles only -- why? -// - PID: when we make resolution analysis we want to take only tracks with correct PID -// We need cut on tracks because there are data characteristic - - AliVAODParticle * part1, * part2; - AliVAODParticle * track1, * track2; - - AliAOD * trackEvent = aodrec, *partEvent = aodsim; - AliAOD* trackEvent1 = new AliAOD(); - AliAOD* partEvent1 = new AliAOD(); - - -// Int_t N1, N2, N=0; //number of particles in current event(we prcess two events in one time) - -// Int_t nev = fReader->GetNumberOfTrackEvents(); - static AliHBTPair tpair; - static AliHBTPair ppair; - - AliHBTPair* trackpair = &tpair; - AliHBTPair* partpair = &ppair; - - AliHBTPair * tmptrackpair;//temprary pointers to pairs - AliHBTPair * tmppartpair; - - register UInt_t ii; - - - - if ( !partEvent || !trackEvent ) - { - Error("ProcessRecAndSim","<<%s>> Can not get event",GetName()); - return 1; - } - - if ( partEvent->GetNumberOfParticles() != trackEvent->GetNumberOfParticles() ) - { - Error("ProcessRecAndSim", - "Number of simulated particles (%d) not equal to number of reconstructed tracks (%d). Skipping Event.", - partEvent->GetNumberOfParticles() , trackEvent->GetNumberOfParticles()); - return 2; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticles", - "Mixing particle %d with particles from the same event",j); - - part1= partEvent->GetParticle(j); - track1= trackEvent->GetParticle(j); - - Bool_t firstcut = (this->*fkPass1)(part1,track1); - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( (this->*fkPass2)(part1,track1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - partEvent1->AddParticle(part1); - trackEvent1->AddParticle(track1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(part1); - for(ii = 0; iiProcess(track1); - for(ii = 0; iiProcess(track1,part1); - - if (fNoCorrfctns) continue; - - for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - { - part2= partEvent->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue; - partpair->SetParticles(part1,part2); - - track2= trackEvent->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPass)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut, try with swapped pairs - if( (this->*fkPass)((AliHBTPair*)partpair->GetSwappedPair(),(AliHBTPair*)trackpair->GetSwappedPair()) ) - continue; //swaped pairs do not meet criteria of pair cut as well, take next particle - else - { //swaped pair meets all the criteria - tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmptrackpair = trackpair; - tmppartpair = partpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmppartpair); - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair); - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair,tmppartpair); - - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - - tmppartpair->MirrorSecond(); - tmptrackpair->MirrorSecond(); - - if((this->*fkPass)(tmppartpair,tmptrackpair) == kFALSE) - { - for(ii = 0;iiProcessDiffEventParticles(tmppartpair); - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair); - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair,tmppartpair); - - } - - tmppartpair->DeleteSecond(); - tmptrackpair->DeleteSecond(); - - //end of 2nd loop over particles from the same event - }//for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - - //end of loop over particles from first event - }//for (Int_t j = 0; jGetNumberOfParticles() ; j++) - delete fPartBuffer->Push(partEvent1); - delete fTrackBuffer->Push(trackEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ - -Int_t AliHBTAnalysisStavinskyMixing::ProcessSim(AliAOD* /*aodrec*/, AliAOD* aodsim) -{ - //Does analysis of simulated data - AliVAODParticle * part1, * part2; - - AliAOD* partEvent = aodsim; - AliAOD* partEvent1 = new AliAOD(); - - - AliHBTPair ppair; - - AliHBTPair* partpair = &ppair; - - AliHBTPair * tmppartpair; - - register UInt_t ii; - - - if ( !partEvent ) - { - Error("ProcessRecAndSim","Can not get event"); - return 1; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - Warning("ProcessTracksAndParticles","Non-std MIXING"); - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticles", - "Mixing particle %d with particles from the same event",j); - - part1= partEvent->GetParticle(j); - - Bool_t firstcut = fPairCut->GetFirstPartCut()->Rejected(part1); - - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( fPairCut->GetSecondPartCut()->Rejected(part1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - partEvent1->AddParticle(part1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(part1); - - if ( fNParticleFunctions == 0 ) continue; - - for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - { - part2= partEvent->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue; - partpair->SetParticles(part1,part2); - - if(fPairCut->Rejected(partpair)) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)partpair->GetSwappedPair()) ) continue; - else tmppartpair = (AliHBTPair*)partpair->GetSwappedPair(); - } - else - { - tmppartpair = partpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmppartpair); - - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - - tmppartpair->MirrorSecond(); - - if(fPairCut->Rejected(partpair) == kFALSE) - { - for(ii = 0;iiProcessDiffEventParticles(tmppartpair); - } - tmppartpair->DeleteSecond(); - - //end of 2nd loop over particles from the same event - }//for (Int_t k =j+1; k < partEvent->GetNumberOfParticles() ; k++) - - } - delete fPartBuffer->Push(partEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysisStavinskyMixing::ProcessRec(AliAOD* aodrec, AliAOD* /*aodsim*/) -{ - //Does analysis of reconstructed data - AliVAODParticle * track1, * track2; - - AliAOD* trackEvent = aodrec; - AliAOD* trackEvent1 = new AliAOD(); - - AliAOD* trackEvent2; - - AliHBTPair tpair; - - AliHBTPair* trackpair = &tpair; - - AliHBTPair * tmptrackpair; - - register UInt_t ii; - - - if ( !trackEvent ) - { - Error("ProcessRecAndSim","Can not get event"); - return 1; - } - - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - /***************************************/ - /****** Looping same events ********/ - /****** filling numerators ********/ - /***************************************/ - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticles", - "Mixing Particle %d with Particles from the same event",j); - - track1= trackEvent->GetParticle(j); - - Bool_t firstcut = fPairCut->GetFirstPartCut()->Rejected(track1); - - if (fBufferSize != 0) - if ( (firstcut == kFALSE) || ( fPairCut->GetSecondPartCut()->Rejected(track1) == kFALSE ) ) - { - //accepted by any cut - // we have to copy because reader keeps only one event - - trackEvent1->AddParticle(track1); - } - - if (firstcut) continue; - - for(ii = 0; iiProcess(track1); - - if ( fNParticleFunctions == 0 ) continue; - - for (Int_t k =j+1; k < trackEvent->GetNumberOfParticles() ; k++) - { - track2= trackEvent->GetParticle(k); - if (track1->GetUID() == track2->GetUID()) continue; - trackpair->SetParticles(track1,track2); - - if(fPairCut->Rejected(trackpair)) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)trackpair->GetSwappedPair()) ) continue; - else tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - else - { - tmptrackpair = trackpair; - } - - for(ii = 0;iiProcessSameEventParticles(tmptrackpair); - - //end of 2nd loop over Particles from the same event - }//for (Int_t k =j+1; k < trackEvent->GetNumberOfParticles() ; k++) - - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - if (fBufferSize == 0) continue; - - fTrackBuffer->ResetIter(); - Int_t m = 0; - while (( trackEvent2 = fTrackBuffer->Next() )) - { - m++; - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessParticles", - "Mixing Particle %d from current event with Particles from event %d",j,-m); - for(Int_t l = 0; lGetNumberOfParticles();l++) // ... on all Particles - { - - track2= trackEvent2->GetParticle(l); - trackpair->SetParticles(track1,track2); - - if( fPairCut->Rejected(trackpair) ) //check pair cut - { //do not meets crietria of the - if( fPairCut->Rejected((AliHBTPair*)trackpair->GetSwappedPair()) ) - continue; - else - { - tmptrackpair = (AliHBTPair*)trackpair->GetSwappedPair(); - } - } - else - {//meets criteria of the pair cut - tmptrackpair = trackpair; - } - - for(ii = 0;iiProcessDiffEventParticles(tmptrackpair); - - }//for(Int_t l = 0; lPush(trackEvent1); - //end of loop over events - return 0; -} -/*************************************************************************************/ - -Int_t AliHBTAnalysisStavinskyMixing::ProcessRecAndSimNonId(AliAOD* aodrec, AliAOD* aodsim) -{ -//Analyzes both reconstructed and simulated data - if (aodrec == 0x0) - { - Error("ProcessTracksAndParticlesNonIdentAnal","Reconstructed event is NULL"); - return 1; - } - - if (aodsim == 0x0) - { - Error("ProcessTracksAndParticlesNonIdentAnal","Simulated event is NULL"); - return 1; - } - - if ( aodrec->GetNumberOfParticles() != aodsim->GetNumberOfParticles() ) - { - Error("ProcessTracksAndParticlesNonIdentAnal", - "Number of simulated particles (%d) not equal to number of reconstructed tracks (%d)", - aodsim->GetNumberOfParticles() , aodrec->GetNumberOfParticles()); - return 2; - } - - - AliVAODParticle * part1, * part2; - AliVAODParticle * track1, * track2; - - static AliAOD aodrec1; - static AliAOD aodsim1; - - AliAOD * trackEvent1=&aodrec1,*partEvent1=&aodsim1;//Particle that passes first particle cut, this event - trackEvent1->Reset(); - partEvent1->Reset(); - AliAOD * trackEvent2=0x0,*partEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD * trackEvent3=0x0,*partEvent3=0x0;//Particle that passes second particle cut, events from buffer - - AliAOD* rawtrackEvent = aodrec;//this we get from Reader - AliAOD* rawpartEvent = aodsim;//this we get from Reader - - static AliHBTPair tpair; - static AliHBTPair ppair; - - AliHBTPair* trackpair = &tpair; - AliHBTPair* partpair = &ppair; - - register UInt_t ii; - - /********************************/ - /* Filtering out */ - /********************************/ - if ( ( (partEvent2==0x0) || (trackEvent2==0x0)) )//in case fBufferSize == 0 and pointers are created do not eneter - { - partEvent2 = new AliAOD(); - trackEvent2 = new AliAOD(); - } - - FilterOut(partEvent1, partEvent2, rawpartEvent, trackEvent1, trackEvent2, rawtrackEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - part1= partEvent1->GetParticle(j); - track1= trackEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(part1); - for(ii = 0; iiProcess(track1); - for(ii = 0; iiProcess(track1,part1); - - if (fNoCorrfctns) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < partEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - part2= partEvent2->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue;//this is the same particle but with different PID - partpair->SetParticles(part1,part2); - - track2= trackEvent2->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessSameEventParticles(partpair); - - for(ii = 0;iiProcessSameEventParticles(trackpair); - - for(ii = 0;iiProcessSameEventParticles(trackpair,partpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fPartBuffer->ResetIter(); - fTrackBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (partEvent3 = fPartBuffer->Next() ) != 0x0) - { - trackEvent3 = fTrackBuffer->Next(); - - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksAndParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++) - { - part2= partEvent3->GetParticle(k); - partpair->SetParticles(part1,part2); - - track2= trackEvent3->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( (this->*fkPassPairProp)(partpair,trackpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - UInt_t iPF; - for(iPF = 0;iPFProcessDiffEventParticles(partpair); - - for(iPF = 0;iPFProcessDiffEventParticles(trackpair); - - for(iPF = 0;iPFProcessDiffEventParticles(trackpair,partpair); - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fPartBuffer->Push(partEvent2); - delete fTrackBuffer->Push(trackEvent2); - - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysisStavinskyMixing::ProcessSimNonId(AliAOD* /*aodrec*/, AliAOD* aodsim) -{ -//does analysis of simulated (MC) data in non-identical mode -//i.e. when particles selected by first part. cut are a disjunctive set than particles -//passed by the second part. cut - if (aodsim == 0x0) - { - return 1; - } - - - AliVAODParticle * part1, * part2; - - static AliAOD aodsim1; - - AliAOD* partEvent1=&aodsim1;//Particle that passes first particle cut, this event - partEvent1->Reset(); - AliAOD* partEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD* partEvent3=0x0;//Particle that passes second particle cut, events from buffer - - AliAOD* rawpartEvent = aodsim;//this we get from Reader - - static AliHBTPair ppair; - - AliHBTPair* partpair = &ppair; - - register UInt_t ii; - - /********************************/ - /* Filtering out */ - /********************************/ - if (partEvent2==0x0)//in case fBufferSize == 0 and pointers are created do not eneter - { - partEvent2 = new AliAOD(); - } - - FilterOut(partEvent1, partEvent2, rawpartEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - part1= partEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(part1); - - if (fNParticleFunctions == 0) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < partEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - part2= partEvent2->GetParticle(k); - if (part1->GetUID() == part2->GetUID()) continue;//this is the same particle but with different PID - partpair->SetParticles(part1,part2); - - - if(fPairCut->PassPairProp(partpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessSameEventParticles(partpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fPartBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (partEvent3 = fPartBuffer->Next() ) != 0x0) - { - - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessParticlesNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < partEvent3->GetNumberOfParticles() ; k++) - { - part2= partEvent3->GetParticle(k); - partpair->SetParticles(part1,part2); - - - if(fPairCut->PassPairProp(partpair) ) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessDiffEventParticles(partpair); - } - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fPartBuffer->Push(partEvent2); - - return 0; -} -/*************************************************************************************/ -Int_t AliHBTAnalysisStavinskyMixing::ProcessRecNonId(AliAOD* aodrec, AliAOD* /*aodsim*/) -{ -//Analyzes both reconstructed and simulated data - if (aodrec == 0x0) - { - return 1; - } - - AliVAODParticle * track1, * track2; - - static AliAOD aodrec1; - AliAOD * trackEvent1=&aodrec1;//Particle that passes first particle cut, this event - trackEvent1->Reset(); - AliAOD * trackEvent2=0x0;//Particle that passes second particle cut, this event - AliAOD * trackEvent3=0x0;//Particle that passes second particle cut, events from buffer - AliAOD* rawtrackEvent = aodrec;//this we get from Reader - - static AliHBTPair tpair; - - AliHBTPair* trackpair = &tpair; - - register UInt_t ii; - - - /********************************/ - /* Filtering out */ - /********************************/ - if ( trackEvent2==0x0 )//in case fBufferSize == 0 and pointers are created do not eneter - { - trackEvent2 = new AliAOD(); - } - - FilterOut(trackEvent1, trackEvent2, rawtrackEvent); - - for (Int_t j = 0; jGetNumberOfParticles() ; j++) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksNonIdentAnal", - "Mixing particle %d from current event with particles from current event",j); - - track1= trackEvent1->GetParticle(j); - - - for(ii = 0; iiProcess(track1); - - if (fNTrackFunctions == 0x0) continue; - - /***************************************/ - /****** filling numerators ********/ - /****** (particles from event2) ********/ - /***************************************/ - - for (Int_t k = 0; k < trackEvent2->GetNumberOfParticles() ; k++) //partEvent1 and partEvent2 are particles from the same event but separated to two groups - { - track2= trackEvent2->GetParticle(k); - if (track1->GetUID() == track2->GetUID()) continue;//this is the same particle but with different PID - trackpair->SetParticles(track1,track2); - - - if( fPairCut->PassPairProp(trackpair)) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - UInt_t iTF; - for(iTF = 0;iTFProcessSameEventParticles(trackpair); - } - } - - if ( fBufferSize == 0) continue;//do not mix diff histograms - /***************************************/ - /***** Filling denominators *********/ - /***************************************/ - fTrackBuffer->ResetIter(); - - Int_t nmonitor = 0; - - while ( (trackEvent3 = fTrackBuffer->Next() ) != 0x0) - { - if ( (j%fDisplayMixingInfo) == 0) - Info("ProcessTracksNonIdentAnal", - "Mixing particle %d from current event with particles from event%d",j,-(++nmonitor)); - - for (Int_t k = 0; k < trackEvent3->GetNumberOfParticles() ; k++) - { - track2= trackEvent3->GetParticle(k); - trackpair->SetParticles(track1,track2); - - if( fPairCut->PassPairProp(trackpair)) //check pair cut - { //do not meets crietria of the pair cut - continue; - } - else - {//meets criteria of the pair cut - for(ii = 0;iiProcessDiffEventParticles(trackpair); - } - }// for particles event2 - }//while event2 - }//for over particles in event1 - - delete fTrackBuffer->Push(trackEvent2); - - return 0; -} -/*************************************************************************************/ diff --git a/HBTAN/AliHBTAnalysisStavinskyMixing.h b/HBTAN/AliHBTAnalysisStavinskyMixing.h deleted file mode 100644 index 84285fb9943..00000000000 --- a/HBTAN/AliHBTAnalysisStavinskyMixing.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef AliHBTAnalysisStavinskyMixing_H -#define AliHBTAnalysisStavinskyMixing_H -//_________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// -// class AliHBTAnalysisStavinskyMixing -// -// Analysis that does mixing with Stavinsky method i.e. -// denominator is created out of particles originating from -// the same event, but the second particle within a pair has -// mirrored momenta. -// -// Piotr.Skowronski@cern.ch -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// -//_________________________________________________________ - -#include - -class AliHBTCut; -//class AliHBTPair; - -class AliHBTRun; -class AliAOD; -class AliReader; -class AliEventBuffer; -class AliEventCut; - -class AliHBTOnePairFctn; -class AliHBTTwoPairFctn; - -class AliHBTMonOneParticleFctn; -class AliHBTMonTwoParticleFctn; - -class TList; - -class AliHBTAnalysisStavinskyMixing: public AliHBTAnalysis - { - public: - AliHBTAnalysisStavinskyMixing(): fProcEvent(NULL) {}; - virtual ~AliHBTAnalysisStavinskyMixing() {} - - - protected: - - /**********************************************/ - /* E V E N T P R O C E S S I N G */ - /**********************************************/ - // NEW AOD schema - Int_t (AliHBTAnalysisStavinskyMixing::*fProcEvent)(AliAOD* aodrec, AliAOD* aodsim);//Pointer to the processing method - - virtual Int_t ProcessSim(AliAOD* /*aodrec*/, AliAOD* aodsim); - virtual Int_t ProcessRec(AliAOD* aodrec, AliAOD* /*aodsim*/); - virtual Int_t ProcessRecAndSim(AliAOD* aodrec, AliAOD* aodsim); - - virtual Int_t ProcessRecAndSimNonId(AliAOD* aodrec, AliAOD* aodsim); - virtual Int_t ProcessSimNonId(AliAOD* /*aodrec*/, AliAOD* aodsim); - virtual Int_t ProcessRecNonId(AliAOD* aodrec, AliAOD* /*aodsim*/); - - - private: - - - ClassDef(AliHBTAnalysisStavinskyMixing,0) - }; -#endif diff --git a/HBTAN/AliHBTCorrFitFctn.cxx b/HBTAN/AliHBTCorrFitFctn.cxx deleted file mode 100644 index a3cdb831efa..00000000000 --- a/HBTAN/AliHBTCorrFitFctn.cxx +++ /dev/null @@ -1,116 +0,0 @@ -#include "AliHBTCorrFitFctn.h" -//____________________________________________________________ -/////////////////////////////////////////////////////////////// -// // -// class AliHBTCorrFitFctn // -// // -// // -/////////////////////////////////////////////////////////////// - -ClassImp(AliHBTCorrFitFctn) - -/*****************************************************************/ - -AliHBTCorrFitFctn::AliHBTCorrFitFctn(): - AliHBTOnePairFctn1D(), - fNtuple(0x0), - fNPairsFitArea(0), - fNMaxPairsFitArea(3000000), - fFitRangeMax(0.05), - fNPairsNormArea(0), - fNMaxPairsNormArea(1000000), - fNormRangeMin(0.05), - fNormRangeMax(0.1) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqinvcfCorrFit","Lednicky Weught Theoretical Q_{inv} Correlation Function"); -} -/*****************************************************************/ - -AliHBTCorrFitFctn::AliHBTCorrFitFctn(Int_t fit, Int_t norm): - AliHBTOnePairFctn1D(100,0.1,0.0), - fNtuple(new TNtuple("pair", "pair", "px1:py1:pz1:e1:px2:py2:pz2:e2")), - fNPairsFitArea(0), - fNMaxPairsFitArea(fit), - fFitRangeMax(0.05), - fNPairsNormArea(0), - fNMaxPairsNormArea(norm), - fNormRangeMin(0.05), - fNormRangeMax(0.1) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqinvcfCorrFit","Lednicky Weught Theoretical Q_{inv} Correlation Function"); -} -/*****************************************************************/ - -void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* /*trackpair*/) -{ - //Fills the numerator using pair from the same event -// partpair = CheckPair(partpair); - return; - -} -/****************************************************************/ - -void AliHBTCorrFitFctn::ProcessDiffEventParticles(AliHBTPair* trackpair) -{ - // Fills the denominator using mixed pairs - trackpair = CheckPair(trackpair); - if ( trackpair == 0x0) return; - - Double_t q = 2.* trackpair->GetKStar(); - - Bool_t fill = kFALSE; - - if ( q < fFitRangeMax ) - { - if (fNPairsFitArea < fNMaxPairsFitArea) - { - fNPairsFitArea++; - fill = kTRUE; - } - else - { - Info("ProcessDiffEventParticles","Fit area already full"); - } - } - - if ( (q > fNormRangeMin) && (q < fNormRangeMax) ) - { - if ( fNPairsNormArea < fNMaxPairsNormArea) - { - fNPairsNormArea++; - fill = kTRUE; - } - } - if (fill) - { - const AliVAODParticle& p1 = *(trackpair->Particle1()); - const AliVAODParticle& p2 = *(trackpair->Particle2()); - fNtuple->Fill(p1.Px(),p1.Py(),p1.Pz(),p1.E(), - p2.Px(),p2.Py(),p2.Pz(),p2.E()); - - fDenominator->Fill(q); - } - - -} -/*****************************************************************/ - -TH1* AliHBTCorrFitFctn::GetResult() -{ -//returns denominator - return fDenominator; -} -/**************************************************************/ - -Int_t AliHBTCorrFitFctn::WriteFunction() -{ - //writes a function - Int_t retval = 0; - retval += AliHBTFunction::WriteFunction(); - retval += fNtuple->Write(0,TObject::kOverwrite); - return retval; -} diff --git a/HBTAN/AliHBTCorrFitFctn.h b/HBTAN/AliHBTCorrFitFctn.h deleted file mode 100644 index f168e911617..00000000000 --- a/HBTAN/AliHBTCorrFitFctn.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ALIHBTCORRFITFCTN_H -#define ALIHBTCORRFITFCTN_H - -//____________________________________________________________ -/////////////////////////////////////////////////////////////// -// // -// class AliHBTCorrFitFctn // -// // -// // -/////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" -#include - -class AliHBTCorrFitFctn: public AliHBTOnePairFctn1D -{ -//Q Invaraint Correlation Function -//It writes Ntuple that is input for CorrFit - public: - AliHBTCorrFitFctn(); - AliHBTCorrFitFctn(Int_t fit, Int_t norm); - virtual ~AliHBTCorrFitFctn(){delete fNtuple;} - void ProcessSameEventParticles(AliHBTPair* trackpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair); - - TH1* GetResult(); - virtual Int_t WriteFunction(); - - void SetMaxNumberOfPairs(Int_t fit, Int_t norm){fNMaxPairsFitArea = fit; fNMaxPairsNormArea = norm;} - void SetFitRange(Float_t max) {fFitRangeMax = max;} - void SetNormalizationRange(Float_t min, Float_t max) { fNormRangeMin = min; fNormRangeMax= max;} - protected: - Double_t GetValue(AliHBTPair* /*trackpair*/) const {return 0.0;}//not usable - - TNtuple* fNtuple;//ntuple for storig pairs - - Int_t fNPairsFitArea;//current number of pairs in fitting area - Int_t fNMaxPairsFitArea;//current number of pairs in fitting area - Float_t fFitRangeMax; - - Int_t fNPairsNormArea;//number of pairs in normalization area - Int_t fNMaxPairsNormArea;//number of pairs in normalization area - Float_t fNormRangeMin; - Float_t fNormRangeMax; - private: - AliHBTCorrFitFctn(const AliHBTCorrFitFctn&); // Not implemented - AliHBTCorrFitFctn& operator=(const AliHBTCorrFitFctn&); // Not implemented - - ClassDef(AliHBTCorrFitFctn,1) -}; - -#endif diff --git a/HBTAN/AliHBTCorrectOSLCorrelFctn.cxx b/HBTAN/AliHBTCorrectOSLCorrelFctn.cxx deleted file mode 100644 index e665fa815a2..00000000000 --- a/HBTAN/AliHBTCorrectOSLCorrelFctn.cxx +++ /dev/null @@ -1,261 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -#include "AliHBTCorrectOSLCorrelFctn.h" -#include "AliLog.h" - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTCorrectOSLCorrelFctn // -// // -// Class for calculating Q Invariant correlation // -// taking to the account resolution of the // -// detector and coulomb effects. // -// // -/////////////////////////////////////////////////////// - -#include - -#include -#include - -AliHBTCorrectOSLCorrelFctn::AliHBTCorrectOSLCorrelFctn(const char* name, const char* title): - AliHBTOnePairFctn3D(name,title), - AliHBTCorrectedCorrelFctn(), - fMeasCorrelFctn(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fLambda(0.0), - fROutSq(0.0), - fRSideSq(0.0), - fRLongSq(0.0) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour -} -/******************************************************************/ - -AliHBTCorrectOSLCorrelFctn::AliHBTCorrectOSLCorrelFctn(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(name,title,nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval), - AliHBTCorrectedCorrelFctn(), - fMeasCorrelFctn(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fLambda(0.0), - fROutSq(0.0), - fRSideSq(0.0), - fRLongSq(0.0) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour} -} - -/******************************************************************/ -AliHBTCorrectOSLCorrelFctn::AliHBTCorrectOSLCorrelFctn(const AliHBTCorrectOSLCorrelFctn& in): - AliHBTOnePairFctn3D(in), - AliHBTCorrectedCorrelFctn(), - fMeasCorrelFctn(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fLambda(0.0), - fROutSq(0.0), - fRSideSq(0.0), - fRLongSq(0.0) -{ -//cpy constructor - in.Copy(*this); -} -/******************************************************************/ - -AliHBTCorrectOSLCorrelFctn::~AliHBTCorrectOSLCorrelFctn() -{ - //dtor - delete fMeasCorrelFctn; - delete fSmearedNumer; - delete fSmearedDenom; - delete fMeasNumer; - delete fMeasDenom; -} -/******************************************************************/ - -void AliHBTCorrectOSLCorrelFctn::BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin, - Int_t nzbins, Float_t zmax, Float_t zmin) -{ -//build histograms - AliDebug(1,"Entered"); - - AliHBTFunction3D::BuildHistos(nxbins,xmax,xmin,nybins,ymax,ymin,nzbins,zmax,zmin); - - TString numstr = fName + " Smeared Numerator"; //title and name of the numerator histogram - TString denstr = fName + " Smeared Denominator";//title and name of the denominator histogram - - fSmearedNumer = new TH3F(numstr.Data(),numstr.Data(),nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - fSmearedDenom = new TH3F(denstr.Data(),denstr.Data(),nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - fSmearedNumer->Sumw2(); - fSmearedDenom->Sumw2(); - - if (fMeasCorrelFctn == 0x0) - { - numstr = fName + " Measured Numerator"; //title and name of the numerator histogram - denstr = fName + " Measured Denominator";//title and name of the denominator histogram - - fMeasNumer = new TH3F(numstr.Data(),numstr.Data(),nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - fMeasDenom = new TH3F(denstr.Data(),denstr.Data(),nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - fMeasNumer->Sumw2(); - fMeasDenom->Sumw2(); - } - -} -/******************************************************************/ - -void AliHBTCorrectOSLCorrelFctn::Init() -{ -//Init - AliHBTOnePairFctn3D::Init(); - Info("Init",""); - if ( (fSmearedNumer == 0x0) || (fSmearedDenom == 0x0) ) - { - if (fNumerator == 0x0) Fatal("Init","Sth. goes wrong"); - Int_t nxbins = fNumerator->GetNbinsX(); - Float_t xmax = fNumerator->GetXaxis()->GetXmax(); - Float_t xmin = fNumerator->GetXaxis()->GetXmin(); - Int_t nybins = fNumerator->GetNbinsY(); - Float_t ymax = fNumerator->GetYaxis()->GetXmax(); - Float_t ymin = fNumerator->GetYaxis()->GetXmin(); - Int_t nzbins = fNumerator->GetNbinsZ(); - Float_t zmax = fNumerator->GetZaxis()->GetXmax(); - Float_t zmin = fNumerator->GetZaxis()->GetXmin(); - BuildHistos(nxbins,xmax,xmin, nybins,ymax,ymin, nzbins,zmax,zmin); - } - - fSmearedNumer->Reset(); - fSmearedDenom->Reset(); - if (fMeasNumer) fMeasNumer->Reset(); - if (fMeasDenom) fMeasDenom->Reset(); -} -/******************************************************************/ - -void AliHBTCorrectOSLCorrelFctn::SetInitialValues(Double_t lambda, Double_t rout, Double_t rside, Double_t rlong) -{ - //Sets assumed parameters - fLambda = lambda; - fROutSq = rout*rout; - fRSideSq = rside*rside; - fRLongSq = rlong*rlong; -} - -/******************************************************************/ - -void AliHBTCorrectOSLCorrelFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ - //Processes particles that originates from the same event - - return; //we already heave the measured in hand - - - if (fMeasNumer == 0x0) return; - pair = CheckPair(pair); - if( pair == 0x0) return; - fMeasNumer->Fill(pair->GetQInv()); -} -/******************************************************************/ - -void AliHBTCorrectOSLCorrelFctn::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//Process different events - static AliAODParticle part1, part2; - static AliHBTPair smearedpair(&part1,&part2); - - pair = CheckPair(pair); - if( pair == 0x0) return; - - Double_t cc = GetCoulombCorrection(pair); - - Double_t qout,qside,qlong; - GetValues(pair,qout,qside,qlong); - - //measured histogram -> if we are interested - //only if fMeasCorrelFctn is not specified by user - -// if (fMeasDenom) fMeasDenom->Fill(qout,qside,qlong,cc); - - Smear(pair,smearedpair); - Double_t modelval = GetModelValue(qout,qside,qlong); - //Ideal histogram - fNumerator->Fill(qout,qside,qlong,modelval*cc); - fDenominator->Fill(qout,qside,qlong,cc); - - //Smeared histogram - - Double_t smearedqout,smearedqside,smearedqlong; - - GetValues(&smearedpair,smearedqout,smearedqside,smearedqlong); - - fSmearedNumer->Fill(smearedqout,smearedqside,smearedqlong,modelval); - - Double_t smearedcc = GetCoulombCorrection(&smearedpair); - fSmearedDenom->Fill(smearedqout,smearedqside,smearedqlong,smearedcc); - -} -/******************************************************************/ - -Int_t AliHBTCorrectOSLCorrelFctn::WriteFunction() -{ - //Writes the function - Int_t retval = 0; - retval += AliHBTFunction::WriteFunction(); - if (fSmearedNumer) retval += fSmearedNumer->Write(); - if (fSmearedDenom) retval += fSmearedDenom->Write(); - return retval; -} -/******************************************************************/ - -TH1* AliHBTCorrectOSLCorrelFctn::GetResult() -{ - //reuturns result histogram - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -void AliHBTCorrectOSLCorrelFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const -{ - //calculates values of that function - //qout qside and qlong - - x=pair->GetQOutLCMS(); - y=pair->GetQSideLCMS(); - z=pair->GetQLongLCMS(); - if (fAbs) - { - x = TMath::Abs(x); - y = TMath::Abs(y); - z = TMath::Abs(z); - } - -} diff --git a/HBTAN/AliHBTCorrectOSLCorrelFctn.h b/HBTAN/AliHBTCorrectOSLCorrelFctn.h deleted file mode 100644 index 91a17057eff..00000000000 --- a/HBTAN/AliHBTCorrectOSLCorrelFctn.h +++ /dev/null @@ -1,80 +0,0 @@ -#ifndef ALIHBTCORRECTOSLCORRELFCTN_H -#define ALIHBTCORRECTOSLCORRELFCTN_H -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTCorrectQ3DCorrelFctn // -// // -// Class for calculating Q Invariant correlation // -// taking to the account resolution of the // -// detector and coulomb effects. // -// // -// N[meas] N[ideal]/D[ideal] -// C(Q) = ------- * ----------------- -// D[meas] N[smear]/D[smear] -// -// if smeared is eqal to the measured than we get ideal. -/////////////////////////////////////////////////////// - -#include "AliHBTCorrectQInvCorrelFctn.h" - - -class AliHBTCorrectOSLCorrelFctn: public AliHBTOnePairFctn3D, public AliHBTCorrectedCorrelFctn -{ - public: - AliHBTCorrectOSLCorrelFctn(const char* name = "qoslcorrectedCF", - const char* title= "Corrected Q_{out}-Q_{side}-Q_{long} Correlation Fonction"); - - AliHBTCorrectOSLCorrelFctn(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - AliHBTCorrectOSLCorrelFctn(const AliHBTCorrectOSLCorrelFctn& in); - virtual ~AliHBTCorrectOSLCorrelFctn(); - - void ProcessSameEventParticles(AliHBTPair* pair);//process particles from same event (real pair) - void ProcessDiffEventParticles(AliHBTPair* pair);//process particles coming from different events (mixed pairs) - - void SetInitialValues(Double_t lambda, Double_t rout, Double_t rside, Double_t rlong); - void Init(); - Int_t WriteFunction();//overloaded - - TH1* GetResult();//returns the result histogram - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const ; - - Double_t GetModelValue(Double_t qout, Double_t qside, Double_t qlong) const; - - - protected: - - void BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin, - Int_t nzbins, Float_t zmax, Float_t zmin); - virtual void BuildHistos() {AliHBTFunction3D::BuildHistos();} - - TH3F* fMeasCorrelFctn; //!Measured correlation function - - TH3F* fSmearedNumer; //! Numerator of smeard q - TH3F* fSmearedDenom; //! Denominator of smeard q - TH3F* fMeasNumer; //! Numerator of ideal q calculated on basis of model equation - TH3F* fMeasDenom; //! Denominator of ideal q calculated on basis of model equation - - Double_t fLambda; - Double_t fROutSq; - Double_t fRSideSq; - Double_t fRLongSq; - - private: - AliHBTCorrectOSLCorrelFctn& operator=(const AliHBTCorrectOSLCorrelFctn&); // Not implemented - - ClassDef(AliHBTCorrectOSLCorrelFctn,1) -}; - -inline Double_t AliHBTCorrectOSLCorrelFctn::GetModelValue(Double_t qout, Double_t qside, Double_t qlong) const -{ - //returns model value of the cf - return 1.0 + fLambda*TMath::Exp(( fROutSq*qout*qout + fRSideSq*qside*qside + fRLongSq*qlong*qlong) / (-0.038936366329)); -} - -#endif diff --git a/HBTAN/AliHBTCorrectQInvCorrelFctn.cxx b/HBTAN/AliHBTCorrectQInvCorrelFctn.cxx deleted file mode 100644 index 754f39483d4..00000000000 --- a/HBTAN/AliHBTCorrectQInvCorrelFctn.cxx +++ /dev/null @@ -1,465 +0,0 @@ -#include "AliHBTCorrectQInvCorrelFctn.h" -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTCorrectQInvCorrelFctn // -// // -// Class for calculating Q Invariant correlation // -// taking to the account resolution of the // -// detector and coulomb effects. // -// Implemented on basis of STAR procedure // -// implemented and described by Michael A. Lisa // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -// dPt/Pt -// root [19] rms->Fit(f,"","",0.1,2) -// FCN=7.0017 FROM MIGRAD STATUS=CONVERGED 126 CALLS 127 TOTAL -// EDM=2.28804e-15 STRATEGY= 1 ERROR MATRIX ACCURATE -// EXT PARAMETER STEP FIRST -// NO. NAME VALUE ERROR SIZE DERIVATIVE -// 1 p0 5.78220e-03 3.14576e-05 4.97822e-09 -1.90059e-05 -// 2 p1 3.98063e-05 1.61877e-06 1.04380e-10 1.91454e-04 -// 3 p2 -2.78008e+00 2.13581e-02 1.66031e-06 3.16574e-06 -// 4 p3 5.07594e-04 4.79619e-05 1.29793e-08 -2.29242e-05 - - -// Phi -// root [17] rms->Fit(f,"","",0.15,2.5) -// Warning in : Abnormal termination of minimization. -// FCN=33.4898 FROM MIGRAD STATUS=FAILED 91 CALLS 92 TOTAL -// EDM=1.19154e-15 STRATEGY= 1 ERR MATRIX APPROXIMATE -// EXT PARAMETER APPROXIMATE STEP FIRST -// NO. NAME VALUE ERROR SIZE DERIVATIVE -// 1 p0 5.87693e-04 5.04254e-06 2.49187e-09 5.84546e-04 -// 2 p1 2.16488e-06 3.68880e-07 6.41507e-11 -7.36564e-02 -// 3 p2 -3.10218e+00 1.01695e-01 2.00177e-05 7.54285e-07 -// 4 p3 -1.79892e-05 5.44067e-06 2.15870e-09 4.11441e-04 - - - -// Theta -// root [14] rms->Fit(f,"","",0.1,3) -// FCN=8.9981 FROM MIGRAD STATUS=CONVERGED 79 CALLS 80 TOTAL -// EDM=3.03049e-17 STRATEGY= 1 ERR MATRIX NOT POS-DEF -// EXT PARAMETER APPROXIMATE STEP FIRST -// NO. NAME VALUE ERROR SIZE DERIVATIVE -// 1 p0 -1.68773e-02 2.67644e-05 8.04770e-09 4.48079e-05 -// 2 p1 1.78440e-02 2.65467e-05 8.50867e-09 6.43012e-05 -// 3 p2 -5.26559e-02 5.06308e-04 2.28595e-07 -1.63963e-05 -// 4 p3 2.00940e-04 1.14440e-05 3.98737e-09 1.78198e-05 - - -#include -#include -#include -#include -#include - - -ClassImp(AliHBTCorrectedCorrelFctn) - -AliHBTCorrectedCorrelFctn::AliHBTCorrectedCorrelFctn(): - fDPtOverPtA(5.78220e-03), - fDPtOverPtB(3.98063e-05), - fDPtOverPtAlpha(-2.78008), - fDPtOverPtC(5.07594e-04), - fThetaA(5.87693e-04), - fThetaB(2.16488e-06), - fThetaAlpha(-3.10218e+00), - fThetaC(-1.79892e-05), - fPhiA(-1.68773e-02), - fPhiB(1.78440e-02), - fPhiAlpha(-5.26559e-02), - fPhiC(2.00940e-04) -{ - //ctor -} - -/******************************************************************/ -void AliHBTCorrectedCorrelFctn::Smear(AliHBTPair* pair,AliHBTPair& smeared) -{ -//Smears pair - Smear(pair->Particle1(),smeared.Particle1()); - Smear(pair->Particle2(),smeared.Particle2()); - smeared.Changed(); -} -/******************************************************************/ - -void AliHBTCorrectedCorrelFctn::Smear(AliVAODParticle* part, AliVAODParticle* smeared) -{ - //Smears momenta - Double_t sin2theta = TMath::Sin(part->Theta()); - sin2theta = sin2theta*sin2theta; - Double_t pt = part->Pt(); - - Double_t sigmapt = fDPtOverPtA + fDPtOverPtB*TMath::Power(pt,fDPtOverPtAlpha) + fDPtOverPtC*pt; - Double_t dPtDivPt = gRandom->Gaus(0.0,sigmapt); - Double_t dphi = gRandom->Gaus(0.0,fPhiA+fPhiB*TMath::Power(pt,fPhiAlpha) + fPhiC*pt); - Double_t dtheta = gRandom->Gaus(0.0,fPhiA+fPhiB*TMath::Power(pt,fThetaAlpha) +fThetaC*pt); - - Double_t smearedPx = part->Px()*(1.0+dPtDivPt) - part->Py()*dphi; -// fourmom.setX(px*(1.0+dPtDivPt) - py*dphi); - Double_t smearedPy = part->Py()*(1.0+dPtDivPt) - part->Px()*dphi; -// fourmom.setY(py*(1.0+dPtDivPt) + px*dphi); - Double_t smearedPz = part->Pz()*(1.0+dPtDivPt) - pt*dtheta/sin2theta; -// fourmom.setZ(pz*(1.0+dPtDivPt) - pT*dtheta/sin2theta); - - Double_t mass2 = part->Mass()*part->Mass(); - Double_t e = mass2 + smearedPx*smearedPx + - smearedPy*smearedPy + - smearedPz*smearedPz; - - smeared->SetMomentum(smearedPx,smearedPy,smearedPz,TMath::Sqrt(e)); -} - -/****************************************************************/ -/****************************************************************/ -/****************************************************************/ - - -ClassImp(AliHBTCorrectQInvCorrelFctn) - -AliHBTCorrectQInvCorrelFctn::AliHBTCorrectQInvCorrelFctn(const char* name,const char* title): - AliHBTOnePairFctn1D(name,title), - fMeasCorrelFctn(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fR2(0.0), - fLambda(0.0), - fFittedR(0), - fFittedLambda(0), - fRConvergenceTreshold(0.3), - fLambdaConvergenceTreshold(0.05) -{ - -} -/******************************************************************/ - -AliHBTCorrectQInvCorrelFctn::AliHBTCorrectQInvCorrelFctn(TH1D* measqinv,const char* name,const char* title): - AliHBTOnePairFctn1D(name,title, - measqinv->GetNbinsX(), - measqinv->GetXaxis()->GetXmax(), - measqinv->GetXaxis()->GetXmin()), - fMeasCorrelFctn(measqinv), - fMeasNumer(0x0), - fMeasDenom(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fR2(0.0), - fLambda(0.0), - fFittedR(0), - fFittedLambda(0), - fRConvergenceTreshold(0.3), - fLambdaConvergenceTreshold(0.05) -{ - -} -/******************************************************************/ - -AliHBTCorrectQInvCorrelFctn::AliHBTCorrectQInvCorrelFctn(const char* name, const char* title, - Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTOnePairFctn1D(name,title,nbins,maxXval,minXval), - AliHBTCorrectedCorrelFctn(), - fMeasCorrelFctn(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fR2(0.0), - fLambda(0.0), - fFittedR(0), - fFittedLambda(0), - fRConvergenceTreshold(0.3), - fLambdaConvergenceTreshold(0.05) -{ -//ctor -} -/******************************************************************/ -AliHBTCorrectQInvCorrelFctn::AliHBTCorrectQInvCorrelFctn(const AliHBTCorrectQInvCorrelFctn& in): - AliHBTOnePairFctn1D(in), - AliHBTCorrectedCorrelFctn(), - fMeasCorrelFctn(0x0), - fMeasNumer(0x0), - fMeasDenom(0x0), - fSmearedNumer(0x0), - fSmearedDenom(0x0), - fR2(0.0), - fLambda(0.0), - fFittedR(0), - fFittedLambda(0), - fRConvergenceTreshold(0), - fLambdaConvergenceTreshold(0) -{ -//cpy ;ctor - in.Copy(*this); -} - -AliHBTCorrectQInvCorrelFctn::~AliHBTCorrectQInvCorrelFctn() -{ -//dtor - delete fMeasCorrelFctn; - delete fSmearedNumer; - delete fSmearedDenom; - delete fMeasNumer; - delete fMeasDenom; -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::BuildHistos(Int_t nbins, Float_t max, Float_t min) -{ - AliHBTFunction1D::BuildHistos(nbins,max,min); - - TString numstr = fName + " Smeared Numerator"; //title and name of the numerator histogram - TString denstr = fName + " Smeared Denominator";//title and name of the denominator histogram - - fSmearedNumer = new TH1D(numstr.Data(),numstr.Data(),nbins,min,max); - fSmearedDenom = new TH1D(denstr.Data(),denstr.Data(),nbins,min,max); - fSmearedNumer->Sumw2(); - fSmearedDenom->Sumw2(); - - if (fMeasCorrelFctn == 0x0) - { - numstr = fName + " Measured Numerator"; //title and name of the numerator histogram - denstr = fName + " Measured Denominator";//title and name of the denominator histogram - - fMeasNumer = new TH1D(numstr.Data(),numstr.Data(),nbins,min,max); - fMeasDenom = new TH1D(denstr.Data(),denstr.Data(),nbins,min,max); - fMeasNumer->Sumw2(); - fMeasDenom->Sumw2(); - } -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::Init() -{ -//Init - AliHBTOnePairFctn1D::Init(); - Info("Init",""); - fSmearedNumer->Reset(); - fSmearedDenom->Reset(); - if (fMeasNumer) fMeasNumer->Reset(); - if (fMeasDenom) fMeasDenom->Reset(); - fFittedR = -1.0; - fFittedLambda = 0.0; -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ - //Processes particles that originates from the same event - if (fMeasNumer == 0x0) return; - pair = CheckPair(pair); - if( pair == 0x0) return; - fMeasNumer->Fill(pair->GetQInv()); -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//Process different events - static AliAODParticle part1, part2; - static AliHBTPair smearedpair(&part1,&part2); - - pair = CheckPair(pair); - if( pair == 0x0) return; - Double_t cc = GetCoulombCorrection(pair); - Double_t qinv = pair->GetQInv(); - - //measured histogram -> if we are interested - //only if fMeasCorrelFctn is not specified by user - if (fMeasDenom) fMeasDenom->Fill(qinv,cc); - - Smear(pair,smearedpair); - Double_t modelqinv = GetModelValue(qinv); - //Ideal histogram - fNumerator->Fill(qinv,modelqinv*cc); - fDenominator->Fill(qinv,cc); - - //Smeared histogram - Double_t smearedqinv = smearedpair.GetQInv(); - fSmearedNumer->Fill(smearedqinv,modelqinv); - Double_t smearedcc = GetCoulombCorrection(&smearedpair); - fSmearedDenom->Fill(smearedqinv,smearedcc); - -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::SetInitialValues(Double_t lambda, Double_t r) -{ - //Sets Initial Values - fLambda = lambda; - fR2 = r*r; -} -/******************************************************************/ -void AliHBTCorrectQInvCorrelFctn::MakeMeasCF() -{ - //makes measured correlation function - delete fMeasCorrelFctn; - fMeasCorrelFctn = 0x0; - - if (fMeasNumer&&fMeasDenom) - { - Double_t measscale = Scale(fMeasNumer,fMeasDenom); - if (measscale == 0.0) - { - Error("GetResult","GetRatio for measured CF returned 0.0"); - return; - } - TString str = fName + "measured ratio"; - fMeasCorrelFctn = (TH1D*)fMeasNumer->Clone(str.Data()); - fMeasCorrelFctn->SetTitle(str.Data()); - fMeasCorrelFctn->Divide(fMeasNumer,fMeasDenom,measscale); - } -} - -TH1* AliHBTCorrectQInvCorrelFctn::GetResult() -{ - //In case we don't have yet Measured Correlation Function - //Try to get it - //result is - // N[meas] N[ideal]/D[ideal] - //C(Q) = ------- * ----------------- - // D[meas] N[smear]/D[smear] - - TString str; - if (fMeasCorrelFctn == 0x0) MakeMeasCF(); - - if (fMeasCorrelFctn == 0x0) - { - Error("GetResult", - "Measured Correlation Function is not defined and measured numeraor and/or denominator are/is null"); - return 0x0; - } - - TH1D* ideal = (TH1D*)GetRatio(Scale()); - if (ideal == 0x0) - { - Error("GetResult","Ratio of ideal histograms is null"); - return 0x0; - } - str = fName + " smeared ratio"; - TH1D* smearedCF = (TH1D*)fSmearedNumer->Clone(str.Data()); - smearedCF->SetTitle(str.Data()); - Double_t smearedscale = Scale(fSmearedNumer,fSmearedDenom); - smearedCF->Divide(fSmearedNumer,fSmearedDenom,smearedscale); - - str = fName + " product meas ideal CF"; - TH1D* measideal = (TH1D*)ideal->Clone(str.Data()); - measideal->Multiply(ideal,fMeasCorrelFctn); - - str = fName + " Corrected Result"; - TH1D* result = (TH1D*)fSmearedNumer->Clone(str.Data()); - result->SetTitle(str.Data()); - - Double_t resultscale = Scale(measideal,smearedCF); - result->Divide(measideal,smearedCF,resultscale); - return result; - -} -/******************************************************************/ - -void AliHBTCorrectQInvCorrelFctn::Fit() -{ -//fits resuting histogram with function 1.0 + [0]*exp([1]*[1]*x*x/(-0.038936366329)) -//where [0] is lambda -// [1] is radius -// 0.038936366329 - constant needed for units transformation eV(c=1,etc.) -> SI - - Info("Fit","Before fFittedLambda = %f",fFittedLambda); - Info("Fit","Before fFittedR = %f",fFittedR); - TH1D* result = (TH1D*)GetResult(); - if (result == 0x0) - { - Error("Fit","Can not get result"); - return; - } - TF1* fitfctn = new TF1("fitfctn","1.0 + [0]*exp([1]*[1]*x*x/(-0.038936366329))"); - fitfctn->SetParameter(0,1.0); - fitfctn->SetParameter(1,6.0); - Float_t max = result->GetXaxis()->GetXmax(); - Info("Fit","Max is %f",max); - result->Fit(fitfctn,"0","",0.008,max); - fFittedLambda = fitfctn->GetParameter(0); - fFittedR = fitfctn->GetParameter(1); - Info("Fit","After fFittedLambda = %f",fFittedLambda); - Info("Fit","After fFittedR = %f",fFittedR); - delete fitfctn; - delete result; -} -/******************************************************************/ - -Bool_t AliHBTCorrectQInvCorrelFctn::IsConverged() -{ - //check if fitting was performed - if (fFittedR <= 0.0) - { - Fit();//if not do fit first - if (fFittedR <= 0.0) - { - Error("IsConverged","Fitting failed"); - return kFALSE; - } - } - - Double_t guessedR = TMath::Sqrt(fR2); - - Info("IsConverged","Fitted lambda : %8f Fitted Radius : %8f",fFittedLambda,fFittedR); - Info("IsConverged","Guessed lambda : %8f Guessed Radius : %8f",fLambda,guessedR); - Info("IsConverged","Demanded lambda convergence: %8f Demanded Radius convergence: %8f", - fLambdaConvergenceTreshold,fRConvergenceTreshold); - - if ( (TMath::Abs(fLambda-fFittedLambda)Write(); - if (fMeasNumer ) fMeasNumer->Write(); - if (fMeasDenom ) fMeasDenom->Write(); - if (fSmearedNumer) fSmearedNumer->Write(); - if (fSmearedDenom) fSmearedDenom->Write(); - if (fSmearedNumer && fSmearedDenom) - { - TString str = fName + " smeared ratio"; - TH1D* smearedCF = (TH1D*)fSmearedNumer->Clone(str.Data()); - smearedCF->SetTitle(str.Data()); - Double_t smearedscale = Scale(fSmearedNumer,fSmearedDenom); - smearedCF->Divide(fSmearedNumer,fSmearedDenom,smearedscale); - } -} - diff --git a/HBTAN/AliHBTCorrectQInvCorrelFctn.h b/HBTAN/AliHBTCorrectQInvCorrelFctn.h deleted file mode 100644 index 4c9e3254dc7..00000000000 --- a/HBTAN/AliHBTCorrectQInvCorrelFctn.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef ALIHBTCORRECTQINVCORRELFCTN_H -#define ALIHBTCORRECTQINVCORRELFCTN_H -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTCorrectQInvCorrelFctn // -// // -// Class for calculating Q Invariant correlation // -// taking to the account resolution of the // -// detector and coulomb effects. // -// // -/////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - -class AliHBTCorrectedCorrelFctn: public AliHBTCorrelFunction -{ - public: - AliHBTCorrectedCorrelFctn(); - virtual ~AliHBTCorrectedCorrelFctn(){} - - - void Smear(AliHBTPair* pair,AliHBTPair& smeared); - void Smear(AliVAODParticle* part, AliVAODParticle* smeared); - - Double_t GetCoulombCorrection(AliHBTPair* /*pair*/){return 1.0;} - - - protected: - - //Parameters of Pt RMS - //linear dependence dPt/Pt from Pt itself - Float_t fDPtOverPtA; //A of dPt/Pt - Float_t fDPtOverPtB; //A of dPt/Pt - Float_t fDPtOverPtAlpha; //A of dPt/Pt - Float_t fDPtOverPtC; //A of dPt/Pt - - //We assume that RMS of Theta and Phisangle depends on Pt Like A+B*(Pt)^Alpha - //Idea copied from Star HBT Maker (Fabrice Retiere) - //Parameters comes from Monte Carlo Resolution Analysis - - Float_t fThetaA; //"A" parameter of theta RMS dependence - Float_t fThetaB; //"B" parameter of theta RMS dependence - Float_t fThetaAlpha; //"Alpha" parameter (power) of theta RMS dependence - Float_t fThetaC; //"C" parameter of theta RMS dependence - - Float_t fPhiA;//"A" parameter of phi RMS dependence - Float_t fPhiB;//"B" parameter of phi RMS dependence - Float_t fPhiAlpha;//"Alpha" parameter (power) of phi RMS dependence - Float_t fPhiC;//"C" parameter of phi RMS dependence - - ClassDef(AliHBTCorrectedCorrelFctn,1) -}; - - -class AliHBTCorrectQInvCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrectedCorrelFctn -{ - public: - AliHBTCorrectQInvCorrelFctn(const char* name = "qinvcorrectedCF", - const char* title= "Corrected Q_{inv} Correlation Fonction"); - - AliHBTCorrectQInvCorrelFctn(const char* name, const char* title, - Int_t nbins, Float_t maxXval, Float_t minXval); - - AliHBTCorrectQInvCorrelFctn(TH1D* measqinv, - const char* name = "qinvcorrectedCF", - const char* title= "Corrected Q_{inv} Correlation Fonction"); - AliHBTCorrectQInvCorrelFctn(const AliHBTCorrectQInvCorrelFctn& in); - - virtual ~AliHBTCorrectQInvCorrelFctn(); - - void SetInitialValues(Double_t lambda, Double_t r); - void Init(); - void ProcessSameEventParticles(AliHBTPair* pair);//process particles from same event (real pair) - void ProcessDiffEventParticles(AliHBTPair* pair);//process particles coming from different events (mixed pairs) - void SetMeasuredHistogram(TH1D* meas){fMeasCorrelFctn = meas;} - TH1* GetResult();//returns the result histogram - Double_t GetRadius()const{ return TMath::Sqrt(fR2);}//returns assumed radius - Double_t GetLambda()const{ return fLambda;}//retutrns assumed intercept parameter - void SetRadiusConvergenceTreshold(Double_t ct){fRConvergenceTreshold=ct;}//if fitted and assumed R us different less then that number con - void SetLambdaConvergenceTreshold(Double_t ct){fLambdaConvergenceTreshold=ct;} - Bool_t IsConverged(); - void Fit(); - Double_t GetFittedRadius(); - Double_t GetFittedLambda(); - void WriteAll(); - void SetMeasNum(TH1D* measnum){fMeasNumer = measnum;} - void SetMeasDen(TH1D* h){fMeasDenom = h;} - void MakeMeasCF(); - - protected: - virtual void BuildHistos(Int_t nbins, Float_t max, Float_t min); - virtual void BuildHistos() {AliHBTFunction1D::BuildHistos();} - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();} - Double_t GetModelValue(Double_t qinv); - - //Our ideal numerator - TH1D* fMeasCorrelFctn; //Measured correlation function - TH1D* fMeasNumer;//Measured numerator correlation function - TH1D* fMeasDenom; //Measured denominator correlation function - - TH1D* fSmearedNumer; //! Numerator of smeard q - TH1D* fSmearedDenom; //! Denominator of smeard q - - Double_t fR2;//square of radius - Double_t fLambda;//Interception parameter - - Double_t fFittedR;//fitted radius - Double_t fFittedLambda;//fitted Interception parameter - - Float_t fRConvergenceTreshold;//fRConvergenceTreshold - Float_t fLambdaConvergenceTreshold;//fLambdaConvergenceTreshold - - private: - AliHBTCorrectQInvCorrelFctn& operator=(const AliHBTCorrectQInvCorrelFctn&); // Not implemented - - ClassDef(AliHBTCorrectQInvCorrelFctn,1) -}; - -inline Double_t AliHBTCorrectQInvCorrelFctn::GetModelValue(Double_t qinv) -{ - //factor 0.038936366329 conected with units change GeV<->SI - return 1.0 + fLambda*TMath::Exp(-fR2*qinv*qinv/0.038936366329); -} - -#endif diff --git a/HBTAN/AliHBTCorrelFctn.cxx b/HBTAN/AliHBTCorrelFctn.cxx deleted file mode 100644 index f9b205d6e11..00000000000 --- a/HBTAN/AliHBTCorrelFctn.cxx +++ /dev/null @@ -1,351 +0,0 @@ -#include "AliHBTCorrelFctn.h" -//____________________________________________________________________________ -////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTQInvCorrelFctn -// class AliHBTQOutLCMSCorrelFctn -// class AliHBTQLongLCMSCorrelFctn -// class AliHBTQSideLCMSCorrelFctn -// class AliHBTInvMassCorrelFctn -// class AliHBTTwoKStarCorrelFctn -// -// Set of functions: -// Q Invaraint Correlation Function -// Invariant Mass Function -// -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// Piotr.Skowronski@cern.ch -// -////////////////////////////////////////////////////////////////////////////// - -ClassImp(AliHBTQInvCorrelFctn) - -//Corroleation function is created from dividing two histograms of QInvariant: -// of particles from the same evnt -//by -// of particles from different events - -AliHBTQInvCorrelFctn::AliHBTQInvCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qinvcf","Q_{inv} Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQInvCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTOutSideLongFctn) - -AliHBTOutSideLongFctn::AliHBTOutSideLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoslcf","Q_{out}-Q_{side}-Q_{long} Correlation Fctn"); -} -/*************************************************************************************/ - -TH1* AliHBTOutSideLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -void AliHBTOutSideLongFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const -{ - //calculates values of that function - //qout qside and qlong - - x=pair->GetQOutLCMS(); - y=pair->GetQSideLCMS(); - z=pair->GetQLongLCMS(); - if (fAbs) - { - x = TMath::Abs(x); - y = TMath::Abs(y); - z = TMath::Abs(z); - } -} - -/*************************************************************************************/ - -ClassImp(AliHBTQOutLCMSCorrelFctn) - -AliHBTQOutLCMSCorrelFctn::AliHBTQOutLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoutcf","Q_{out} Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQOutLCMSCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTQLongLCMSCorrelFctn) - -AliHBTQLongLCMSCorrelFctn::AliHBTQLongLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qlongcf","Q_{long} Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQLongLCMSCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTQSideLCMSCorrelFctn) - -AliHBTQSideLCMSCorrelFctn::AliHBTQSideLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qsidecf","Q_{side} Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQSideLCMSCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ -ClassImp(AliHBTQtLCMSCorrelFctn) - -AliHBTQtLCMSCorrelFctn::AliHBTQtLCMSCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("Qtcf","Q_{t}(LCMS) Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQtLCMSCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ -ClassImp(AliHBTQtCorrelFctn) - -AliHBTQtCorrelFctn::AliHBTQtCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qtcf","Q_{t} Correlation Function"); -} -/*************************************************************************************/ - -TH1* AliHBTQtCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTInvMassCorrelFctn) - -AliHBTInvMassCorrelFctn::AliHBTInvMassCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("InvMass CF","Invariant Mass Correlation Function"); -} - -TH1* AliHBTInvMassCorrelFctn::GetResult() -{ - //returns result - return GetNumerator(); -} -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTTwoKStarCorrelFctn) - -AliHBTTwoKStarCorrelFctn::AliHBTTwoKStarCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("twokstarcf","2K^{*} Correlation Function"); -} - -/*************************************************************************************/ - -TH1* AliHBTTwoKStarCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ -ClassImp(AliHBTAvSeparCorrelFctn) - -AliHBTAvSeparCorrelFctn::AliHBTAvSeparCorrelFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("avsepcf","Avarage separation Correlation Function"); -} - -/*************************************************************************************/ - -TH1* AliHBTAvSeparCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ - -ClassImp(AliHBTAvSeparVsQInvCorrelFctn) - -AliHBTAvSeparVsQInvCorrelFctn::AliHBTAvSeparVsQInvCorrelFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("avsepvsqinv","Avarage Separation VS Q_{inv} Correlation Function"); -} - - -TH1* AliHBTAvSeparVsQInvCorrelFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/**************************************************************/ -/**************************************************************/ -/**************************************************************/ - - -ClassImp(AliHBTQOutQSideFctn) - - -AliHBTQOutQSideFctn::AliHBTQOutQSideFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoutqsidecf","Q_{out} Q_{side} Correlation Function 2D"); -} -/**************************************************************/ - -TH1* AliHBTQOutQSideFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/**************************************************************/ -/**************************************************************/ - -ClassImp(AliHBTQOutQLongFctn) - -AliHBTQOutQLongFctn::AliHBTQOutQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoutqlongcf","Q_{out} Q_{long} Correlation Function 2D"); -} - - -/**************************************************************/ - -TH1* AliHBTQOutQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/**************************************************************/ -/**************************************************************/ -/**************************************************************/ - -ClassImp(AliHBTQSideQLongFctn) - -/**************************************************************/ -AliHBTQSideQLongFctn::AliHBTQSideQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qsideqlongcf","Q_{side} Q_{long} Correlation Function 2D"); -} - -TH1* AliHBTQSideQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} diff --git a/HBTAN/AliHBTCorrelFctn.h b/HBTAN/AliHBTCorrelFctn.h deleted file mode 100644 index fe2fb4c5767..00000000000 --- a/HBTAN/AliHBTCorrelFctn.h +++ /dev/null @@ -1,267 +0,0 @@ -#ifndef ALIHBTCORRELFUNCTION_H -#define ALIHBTCORRELFUNCTION_H -//____________________________________________________________________________ -////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTQInvCorrelFctn -// class AliHBTQOutLCMSCorrelFctn -// class AliHBTQLongLCMSCorrelFctn -// class AliHBTQSideLCMSCorrelFctn -// class AliHBTInvMassCorrelFctn -// class AliHBTTwoKStarCorrelFctn -// -// Set of functions: -// Q Invaraint Correlation Function -// Invariant Mass Function -// -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// Piotr.Skowronski@cern.ch -// -////////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" -#include - -/*************************************************************************************/ -class AliHBTQInvCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q Invaraint Correlation Function -//1D two particle function - public: - AliHBTQInvCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQInvCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();} - private: - ClassDef(AliHBTQInvCorrelFctn,2) - -}; -/*************************************************************/ - -class AliHBTOutSideLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTOutSideLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTOutSideLongFctn(){} - - TH1* GetResult(); - - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const; - - ClassDef(AliHBTOutSideLongFctn,1) -}; - -/*************************************************************************************/ - -class AliHBTQOutLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q OutLCMSaraint Correlation Function -//1D two particle function - public: - AliHBTQOutLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQOutLCMSCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQOutLCMS();} - private: - ClassDef(AliHBTQOutLCMSCorrelFctn,2) -}; -/*************************************************************************************/ - -class AliHBTQLongLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q LongLCMSaraint Correlation Function -//1D two particle function - public: - AliHBTQLongLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQLongLCMSCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQLongLCMS();} - private: - ClassDef(AliHBTQLongLCMSCorrelFctn,2) -}; -/*************************************************************************************/ - -class AliHBTQtLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q LongLCMSaraint Correlation Function -//1D two particle function - public: - AliHBTQtLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQtLCMSCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQtLCMS();} - private: - ClassDef(AliHBTQtLCMSCorrelFctn,2) -}; -/*************************************************************************************/ - -class AliHBTQSideLCMSCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q SideLCMSaraint Correlation Function -//1D two particle function - public: - AliHBTQSideLCMSCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQSideLCMSCorrelFctn(){} - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQSideLCMS();} - private: - ClassDef(AliHBTQSideLCMSCorrelFctn,2) -}; -/*************************************************************************************/ - -class AliHBTQtCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q Longaraint Correlation Function -//1D two particle function - public: - AliHBTQtCorrelFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQtCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQt();} - private: - ClassDef(AliHBTQtCorrelFctn,1) -}; -/*************************************************************************************/ - -class AliHBTInvMassCorrelFctn: public AliHBTOnePairFctn1D -{ -// Invariant Mass Function - public: - AliHBTInvMassCorrelFctn(Int_t nbins = 2000, Double_t maxXval = 2., Double_t minXval = 0.0); - virtual ~AliHBTInvMassCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const { return pair->GetInvMass();} - private: - ClassDef(AliHBTInvMassCorrelFctn,1) -}; - -/*************************************************************************************/ - -class AliHBTTwoKStarCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -// Correlation Function of 2*KStar - public: - AliHBTTwoKStarCorrelFctn(Int_t nbins = 200, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTTwoKStarCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const { return 2.0*pair->GetKStar();} - private: - ClassDef(AliHBTTwoKStarCorrelFctn,2) -}; - -/*************************************************************************************/ - -class AliHBTAvSeparCorrelFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -// Correlation Function of 2*KStar - public: - AliHBTAvSeparCorrelFctn(Int_t nbins = 200, Double_t maxXval = 30, Double_t minXval = 0.0); - virtual ~AliHBTAvSeparCorrelFctn(){}; - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const { return pair->GetAvarageDistance();} - private: - ClassDef(AliHBTAvSeparCorrelFctn,2) -}; - -/*************************************************************************************/ - -class AliHBTAvSeparVsQInvCorrelFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction -{ -// Correlation Function of 2*KStar - public: - AliHBTAvSeparVsQInvCorrelFctn(Int_t nXbins = 10, Double_t maxXval = 0.05, Double_t minXval = 0., - Int_t nYbins = 20, Double_t maxYval = 20, Double_t minYval = 0.0); - virtual ~AliHBTAvSeparVsQInvCorrelFctn(){}; - TH1* GetResult(); - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const - { - y = pair->GetAvarageDistance(); - x = pair->GetQInv(); - } - private: - ClassDef(AliHBTAvSeparVsQInvCorrelFctn,1) -}; -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -class AliHBTQOutQSideFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTQOutQSideFctn(){}; - TH1* GetResult(); - - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const - { - y = pair->GetQSideLCMS(); - x = pair->GetQOutLCMS(); - } - ClassDef(AliHBTQOutQSideFctn,1) - -}; -/*************************************************************************************/ - -class AliHBTQOutQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTQOutQLongFctn(){}; - TH1* GetResult(); - - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const - { - y = pair->GetQLongLCMS(); - x = pair->GetQOutLCMS(); - } - ClassDef(AliHBTQOutQLongFctn,1) - -}; -/*************************************************************************************/ - -class AliHBTQSideQLongFctn: public AliHBTOnePairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTQSideQLongFctn(){}; - TH1* GetResult(); - - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const - { - y = pair->GetQLongLCMS(); - x = pair->GetQSideLCMS(); - } - ClassDef(AliHBTQSideQLongFctn,1) - -}; - -#endif - - - diff --git a/HBTAN/AliHBTCrab.cxx b/HBTAN/AliHBTCrab.cxx deleted file mode 100644 index f9676c30811..00000000000 --- a/HBTAN/AliHBTCrab.cxx +++ /dev/null @@ -1,409 +0,0 @@ -#include "AliHBTCrab.h" -//______________________________________________________________________ -///////////////////////////////////////////////////////////////////////// -// // -// AliRoot wrapper to CRAB // -// taken from http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html // -// written by Scott Pratt // -// // -// // -///////////////////////////////////////////////////////////////////////// - -#include "AliHBTPair.h" -#include "AliVAODParticle.h" -#include "TDatabasePDG.h" -#include - -#include "volya_complex.h" - -AliHBTCrab* AliHBTCrab::fgCrab = 0x0; - -const Double_t AliHBTCrab::fgkWcons = 1./0.1973; -const Double_t AliHBTCrab::fgkROOT2=1.41421356237309504880; -#ifdef __DECCXX -const complex AliHBTCrab::fgkCI(0.0,1.0); -#else -const doublecomplex AliHBTCrab::fgkCI(0.0,1.0); -#endif - -/************************************************************/ - -AliHBTCrab* AliHBTCrab::Instance() -{ -// returns instance of class - if (fgCrab == 0x0) - { - fgCrab = new AliHBTCrab(); - } - return fgCrab; -} -//=================================================================== - -void AliHBTCrab::Set() -{ -//sets this as weighitng class - Info("Set","Setting CRAB as Weighing Class"); - - if ( fgWeights == 0x0 ) - { - fgWeights = AliHBTCrab::Instance(); - return; - } - if ( fgWeights == AliHBTCrab::Instance() ) return; - delete fgWeights; - fgWeights = AliHBTCrab::Instance(); -} -//=================================================================== - -AliHBTCrab::AliHBTCrab() : - fBreitWigner(kFALSE), - fReducedMom(kTRUE), - fMaxMomentum(100.0), - fPid1(0), - fPid2(0), - fMass1(0), - fMass2(0), - fInteractionWsym(0), - fInteractionWanti(0), - fInteractionWnosym(0), - fInteractionDelk(0), - fInteractionNkmax(0) -{ - //ctor - if(fgCrab) - { - Fatal("AliHBTCrab","Do not use constructor directly. Use Instance() instead."); - } -} -//=================================================================== - -AliHBTCrab::AliHBTCrab(const AliHBTCrab &/*source*/) : - AliHBTWeights(), - fBreitWigner(kFALSE), - fReducedMom(kTRUE), - fMaxMomentum(100.0), - fPid1(0), - fPid2(0), - fMass1(0), - fMass2(0), - fInteractionWsym(0), - fInteractionWanti(0), - fInteractionWnosym(0), - fInteractionDelk(0), - fInteractionNkmax(0) -{ - //ctor -} -//=================================================================== -AliHBTCrab & AliHBTCrab::operator=(const AliHBTCrab& /*source*/) -{ -//cpy constructor - return *AliHBTCrab::Instance(); -} - -void AliHBTCrab::Init(Int_t pid1,Int_t pid2) -{ -//Initialization method - fMass1 = TDatabasePDG::Instance()->GetParticle(pid1)->Mass(); - fMass2 = TDatabasePDG::Instance()->GetParticle(pid2)->Mass(); - fInteractionWsym = 1.0; - fInteractionWanti = 0.0; - fInteractionWnosym = 0.0; - fInteractionDelk = 1.0; - fInteractionNkmax = 100; - - fPid1 = pid1; - fPid2 = pid2; -} -//=================================================================== - -Bool_t AliHBTCrab::SetConfig(const AliHBTPair* pair) -{ -//returns the SetConfig - - Int_t pdg1 = pair->Particle1()->GetPdgCode(); - Int_t pdg2 = pair->Particle2()->GetPdgCode(); - - if ( ( pdg1 == fPid1) && ( pdg2 == fPid2) ) return kFALSE; - else Init (pdg1,pdg2); - - return kTRUE; -} -//=================================================================== - -Double_t AliHBTCrab::GetWeight(AliHBTPair* partpair) -{ -//returns the weight - Double_t qred, r, qdotr, mom; - Int_t test; - - SetConfig(partpair); - - GetComQuantities(partpair, &qred, &r, &qdotr, &mom, &test); - if(test==0) - { - Info("GetWeight","Test is 0"); - } - Double_t corr = CorrCalc(qred,qdotr,r); - - return corr; -} -//=================================================================== - -void AliHBTCrab::GetComQuantities(const AliHBTPair* pair, - double *qred,double *r,double *qdotr,double *mom, int *test) -{ -//************************************ -// ALICE // - - double p1[4]; - double p2[4]; - double r1[4]; - double r2[4]; - - static const Double_t kCmToFm = 1.e13; -// static const Double_t cmtoOneOverGeV = kCmToFm*fgkWcons; - - AliVAODParticle *part1 = pair->Particle1(); - AliVAODParticle *part2 = pair->Particle2(); - - p1[0] = part1->E()*1000.0; - p1[1] = part1->Px()*1000.0; - p1[2] = part1->Py()*1000.0; - p1[3] = part1->Pz()*1000.0; - - p2[0] = part2->E()*1000.0; - p2[1] = part2->Px()*1000.0; - p2[2] = part2->Py()*1000.0; - p2[3] = part2->Pz()*1000.0; - - r1[0] = part1->T(); - r1[1] = part1->Vx()*kCmToFm; - r1[2] = part1->Vy()*kCmToFm; - r1[3] = part1->Vz()*kCmToFm; - - r2[0] = part2->T(); - r2[1] = part2->Vx()*kCmToFm; - r2[2] = part2->Vy()*kCmToFm; - r2[3] = part2->Vz()*kCmToFm; - -// END OF ALICE STUFF - -// This code is written by Scott Pratt -// taken from http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html - int alpha; - double kdotr; - double momtest; - if (fReducedMom) - { - momtest=4.0*fMaxMomentum*fMaxMomentum; - } - else - { - momtest=fMaxMomentum*fMaxMomentum; - } - - double ptot2,pdotr,pp,rr; - - if ( part1->GetPdgCode() == part2->GetPdgCode() ) - { - *test=1; - *mom=-(p2[0]-p1[0])*(p2[0]-p1[0]); - for(alpha=1;alpha<4;alpha++){ - *mom=*mom+(p2[alpha]-p1[alpha])*(p2[alpha]-p1[alpha]); - } - //#if ! defined MIXED_PAIRS_FOR_DENOM - // if(*mom>momtest){ - // *test=0; - // return; - // } - //#endif - pp=(p1[0]+p2[0]); - rr=(r2[0]-r1[0]); - pdotr=pp*rr; - kdotr=(p2[0]-p1[0])*rr; - ptot2=pp*pp; - *r=-rr*rr; - for(alpha=1;alpha<4;alpha++){ - pp=(p1[alpha]+p2[alpha]); - rr=(r2[alpha]-r1[alpha]); - pdotr=pdotr-pp*rr; - kdotr=kdotr-(p2[alpha]-p1[alpha])*rr; - ptot2=ptot2-pp*pp; - *r=*r+rr*rr; - } - *mom=sqrt(*mom); - *qred=0.5**mom; - - if (fReducedMom) - { - *mom=*qred; - } - - *qdotr=0.5*kdotr; - *r=sqrt(*r+pdotr*pdotr/ptot2); - } - else //identical - { - // const double kdotp=fMass2*fMass2-fMass1*fMass1; - const double kdotp = part2->Mass()*part2->Mass()- part1->Mass()*part1->Mass(); - *test=1; - *mom=-(p2[0]-p1[0])*(p2[0]-p1[0]); - ptot2=(p1[0]+p2[0])*(p1[0]+p2[0]); - for(alpha=1;alpha<4;alpha++){ - *mom=*mom+(p2[alpha]-p1[alpha])*(p2[alpha]-p1[alpha]); - ptot2=ptot2-(p1[alpha]+p2[alpha])*(p1[alpha]+p2[alpha]); - } - *mom=*mom+kdotp*kdotp/ptot2; - //#if ! defined MIXED_PAIRS_FOR_DENOM - // if(*mom>momtest){ - // *test=0; - // return; - // } - //#endif - pp=(p1[0]+p2[0]); - rr=(r2[0]-r1[0]); - pdotr=pp*rr; - kdotr=(p2[0]-p1[0])*rr; - *r=-rr*rr; - for(alpha=1;alpha<4;alpha++){ - pp=(p1[alpha]+p2[alpha]); - rr=(r2[alpha]-r1[alpha]); - pdotr=pdotr-pp*rr; - kdotr=kdotr-(p2[alpha]-p1[alpha])*rr; - *r=*r+rr*rr; - } - kdotr=(-kdotr+kdotp*pdotr/ptot2); - *mom=sqrt(*mom); - *qred=0.5**mom; - - if (fReducedMom) - { - *mom=*qred; - } - - *qdotr=0.5*kdotr; - *r=sqrt(*r+pdotr*pdotr/ptot2); - }//not identical - - return; -} - - -//=================================================================== - -double AliHBTCrab::CorrCalc(double trueqred,double trueqdotr,double truer) -{ -//#define REDUCED_MOM -// This code is written by Scott Pratt -// taken from http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html - double eta,arg,corr0; -// double xx,xxprime,xxjj,p1,zk; -// int jj,kk,ipart,ipartcount,ispin; - int kk; - double wsymleftover,wantileftover,wnosymleftover; - double qred,qdotr,r; -// const double rmass=fMass1*fMass2/(fMass1+fMass2); -#ifdef __DECCXX - complex cphi1,cphi2,cphis,cphia; -#else - doublecomplex cphi1,cphi2,cphis,cphia; -#endif - - arg=trueqdotr/197.323-2.0*TMath::Pi()*TMath::Floor(trueqdotr/(197.323*2.0*TMath::Pi())); - cphi1=exp(fgkCI*arg); - cphis=fgkROOT2*real(cphi1); - cphia=fgkCI*fgkROOT2*imag(cphi1); - corr0=real(fInteractionWsym*cphis*conj(cphis) - +fInteractionWanti*cphia*conj(cphia) - +fInteractionWnosym*cphi1*conj(cphi1)); - goto OUTSIDE_INTERACTION_RANGE; - -#ifdef REDUCED_MOM - kk=(int)TMath::Floor(trueqred/fInteractionDelk); - qred=(0.5+kk)*fInteractionDelk; -#else - kk=(int)TMath::Floor(2.0*trueqred/fInteractionDelk); - qred=(0.5+kk)*fInteractionDelk/2.0; -#endif - qdotr=trueqdotr*qred/trueqred; - if(kk>=fInteractionNkmax){ - corr0=1.0; - goto OUTSIDE_INTERACTION_RANGE; - } - r=truer; - - eta=0.0; - arg=qdotr/197.323-2.0*TMath::Pi()*TMath::Floor(qdotr/(197.323*2.0*TMath::Pi())); - cphi1=exp(fgkCI*arg); - cphi2=conj(cphi1); - - cphis=(cphi1+cphi2)/fgkROOT2; - cphia=(cphi1-cphi2)/fgkROOT2; - corr0=0.0; - /* If there are corrections for strong interactions, add the - change for each partial wave. If npartial = 0 then there - are no strong int. corrections. */ - wsymleftover=fInteractionWsym; - wantileftover=fInteractionWanti; - wnosymleftover=fInteractionWnosym; - - corr0=corr0+real(wsymleftover*cphis*conj(cphis) - +wantileftover*cphia*conj(cphia) - +wnosymleftover*cphi1*conj(cphi1)); -OUTSIDE_INTERACTION_RANGE: - -#ifdef BREIT_WIGNER - corr0=corr0+bwcalc(trueqred,truer); -#endif - - return corr0; -} - -#ifdef __DECCXX -complex AliHBTCrab::CGamma(complex c){ -/* This calc.s gamma functions which are in the form gamma(n+i*y) - where n is an int and y is real. */ -// This code is written by Scott Pratt -// taken from http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html -#else -doublecomplex AliHBTCrab::CGamma(doublecomplex c){ -/* This calc.s gamma functions which are in the form gamma(n+i*y) - where n is an int and y is real. */ -// This code is written by Scott Pratt -// taken from http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html -#endif -#ifdef __DECCXX - complex cg,cphase; -#else - doublecomplex cg,cphase; -#endif - int mm,j; - double x,y,phase,delp,cgmag; - x=real(c); - y=imag(c); - phase=-TMath::E()*y; - for(j=1;j<=100000;j++){ - delp=(y/(double)j)-atan(y/(double)j); - phase=phase+delp; - if(TMath::Abs(delp)<1E-10) goto CGamma_ESCAPE; - } - printf("oops not accurate enough, increase jmax\n"); -CGamma_ESCAPE: - phase=phase-2.0*TMath::Pi()*TMath::Floor(phase/(2.0*TMath::Pi())); - cphase=exp(fgkCI*phase); - cgmag=sqrt(TMath::Pi()*y/sinh(TMath::Pi()*y)); - mm=(int)TMath::Floor(x+0.5); - cg=cgmag*cphase; - if(mm<1){ - for(j=1;j<=-mm+1;j++){ - cg=cg/(1.0+(double)(-j)+fgkCI*y); - } - } - if(mm>1) { - for(j=1;j<=mm-1;j++){ - cg=cg*((double)(j)+fgkCI*y); - } - } - return cg; -} diff --git a/HBTAN/AliHBTCrab.h b/HBTAN/AliHBTCrab.h deleted file mode 100644 index b6fe4486d85..00000000000 --- a/HBTAN/AliHBTCrab.h +++ /dev/null @@ -1,89 +0,0 @@ -/* $Id$ */ - -//__________________________________________________________________________ -//////////////////////////////////////////////////////////////////////////// -// -// class AliHBTCrab -// -// This class introduces the weight's calculation -// according to the Lednicky's algorithm. -// The detailed description of the algorithm can be found -// in comments to fortran code: -// fsiw.f, fsiini.f -// -// Piotr.Skowronski@cern.ch -//////////////////////////////////////////////////////////////////////////// - -#ifndef ALIHBTCrab_H -#define ALIHBTCrab_H - -#include "AliHBTWeights.h" - -#ifdef __DECCXX - #include -#else - class Complex; - typedef Complex doublecomplex; -#endif - -//#include - -class AliHBTPair; - -class AliHBTCrab: public AliHBTWeights - { - public: - - AliHBTCrab(); - virtual ~AliHBTCrab(){fgCrab =0x0;} - static AliHBTCrab* Instance(); - void Set(); - - Double_t GetWeight(AliHBTPair* partpair); - void Init(Int_t pid1,Int_t pid2); //put the initial values in fortran commons fsiini, led_bldata - - private: - AliHBTCrab(const AliHBTCrab &/*source*/); - AliHBTCrab & operator=(const AliHBTCrab& /*source*/); - - void GetComQuantities(const AliHBTPair* pair, double *qred,double *r,double *qdotr,double *mom, int *test); - double CorrCalc(double trueqred,double trueqdotr,double truer); - - Bool_t fBreitWigner;//switch if to calculated BW - Bool_t fReducedMom;//switch if - Float_t fMaxMomentum;//switch if - - Bool_t SetConfig(const AliHBTPair* pair); - - Int_t fPid1;//PID of the first particle - Int_t fPid2;//PID of the second particle - - Double_t fMass1;//mass of the first particle - Double_t fMass2;//mass of the second particle - - Float_t fInteractionWsym;// fractions of symmetric and antisym weights of the various spin channels - Float_t fInteractionWanti;//comment - Float_t fInteractionWnosym;//comment - - Float_t fInteractionDelk;//comment - Int_t fInteractionNkmax;// number of momentum points in mesh for strong/coul. interaction - -#ifdef __DECCXX - static const complex fgkCI;//complex (1,0) -#else - static const doublecomplex fgkCI;//complex (1,0) -#endif - static const Double_t fgkROOT2;//! some const - static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973 - -#ifdef __DECCXX - complex CGamma(complex c); -#else - doublecomplex CGamma(doublecomplex c); -#endif - - static AliHBTCrab* fgCrab; //pointer to instance of this class - singleton - ClassDef(AliHBTCrab,1) - }; - -#endif diff --git a/HBTAN/AliHBTFunction.cxx b/HBTAN/AliHBTFunction.cxx deleted file mode 100644 index d2be31ed1a6..00000000000 --- a/HBTAN/AliHBTFunction.cxx +++ /dev/null @@ -1,1287 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -#include "AliHBTFunction.h" -#include "AliLog.h" - - -//-------------------------------------------------------------------- -//AliHBTFunction -//Author: Piotr Krzysztof Skowronski -//Piotr.Skowronski@cern.ch -//Base classes for HBT functions -/* - OnePairFctn Function TwoPairFctn - | \ \ / | \ /|\ - | \ \ / | \ / | \ - | \ \ 1D 2D 3D / | \ - | \ \ / \ |\ | \________________/__ | \ - | \ \/ \ | \__|_____________ / \| \ - | \ \ \_|____|__ \ / | \ - | \ / \___ | | \ \/ |\ \ - | / \ | | \ /\ | \ \ - | / \ \| | \ / \ | \ \ - | / \ /\ | \ / \ | \ | - | / \ / \ | \ / \ | \ | - | / \ / \ | \ / \ | \ | - | / \/ \ | \/ \ | \ | - OnePair1D OnePair2D OnePair3D TwoPair1D TwoPair2D TwoPair3D - - - four particle functions are intendent to be resolution functions: - it is mecessary to have simulated particle pair corresponding to given - recontructed track pair in order to calculate function simualted value - and recontructed value, to be further histogrammed -*/ -//--------------------------------------------------------------------- - -#include -#include - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTFunction ) - -AliHBTFunction::AliHBTFunction(): - fPairCut(new AliAODPairEmptyCut()), //dummy cut - fWriteNumAndDen(kFALSE), - fAbs(kFALSE) -{ -//Default constructor -} -/******************************************************************/ - -AliHBTFunction::AliHBTFunction(const char* name,const char* title): - TNamed(name,title), - fPairCut(new AliAODPairEmptyCut()), //dummy cut - fWriteNumAndDen(kFALSE), - fAbs(kFALSE) -{ -//Constructor -} -/******************************************************************/ - -AliHBTFunction::AliHBTFunction(const AliHBTFunction & source): - TNamed(source), - fPairCut((AliAODPairCut*)source.fPairCut->Clone()), - fWriteNumAndDen(source.fWriteNumAndDen), - fAbs(source.fAbs) -{ -// Copy constructor needed by the coding conventions -} -/******************************************************************/ - -AliHBTFunction::~AliHBTFunction() -{ -//destructor - AliDebug(1,"Deleting"); - delete fPairCut; -} -/******************************************************************/ -AliHBTFunction & AliHBTFunction::operator= (const AliHBTFunction & source) -{ - // Assignment needed by the coding conventions - delete fPairCut; - fPairCut = (AliAODPairCut*)source.fPairCut->Clone(); - fAbs = source.fAbs; - return * this; -} - -Int_t AliHBTFunction::WriteFunction() -{ -//writes result of the function to file - Int_t retval =0; - AliDebug(1,"Entering"); - if (fWriteNumAndDen) - { - AliDebug(1,"Writing Num & Den"); - if (GetNumerator()) GetNumerator()->Write(); - if (GetDenominator()) GetDenominator()->Write(); - AliDebug(1,"Writing Num & Den Done"); - } - AliDebug(1,"Getting Result"); - TH1* res = GetResult(); - AliDebug(1,"Getting Result Done"); - - if (res) - { - AliDebug(1,"Writing Result"); - retval = res->Write(); - AliDebug(1,"Writing Result Done"); - } - return retval; -} -/******************************************************************/ - -TH1* AliHBTFunction::GetRatio(Double_t normfactor) - { - //returns ratio of numerator and denominator - // - AliDebug(1,Form("Norm. Factor is %f for %s",normfactor,GetName())); - - if (normfactor == 0.0) - { - AliError("Scaling Factor is 0. Null poiner returned"); - return 0x0; - } - TString str = fName + " ratio"; - TH1 *result = (TH1*)GetNumerator()->Clone(str.Data()); - result->SetDirectory(0x0); - - result->SetTitle(str.Data()); - - result->Divide(GetNumerator(),GetDenominator(),normfactor); - - return result; - - } -/******************************************************************/ -void AliHBTFunction::SetPairCut(AliAODPairCut* cut) -{ -//Sets new Pair Cut. Old one is deleted -//Note that it is created new object instead of simple pointer set -//I do not want to have pointer -//to object created somewhere else -//because in that case I could not believe that -//it would always exist (sb could delete it) -//so we have always own copy - - if(!cut) - { - AliError("argument is NULL"); - return; - } - delete fPairCut; - fPairCut = (AliAODPairCut*)cut->Clone(); - -} - -/******************************************************************/ - -void AliHBTFunction::Rename(const Char_t * name) - { - //renames the function and histograms - SetName(name); - SetTitle(name); - - TString numstr = fName + " Numerator"; //title and name of the - //numerator histogram - TString denstr = fName + " Denominator";//title and name of the - //denominator histogram - - GetNumerator()->SetName(numstr.Data()); - GetNumerator()->SetTitle(numstr.Data()); - - GetDenominator()->SetName(denstr.Data()); - GetDenominator()->SetTitle(denstr.Data()); - - } - -void AliHBTFunction::Rename(const Char_t * name, const Char_t * title) - { - //renames and retitle the function and histograms - - SetName(name); - SetTitle(title); - - TString numstrn = fName + " Numerator"; //name of the - //numerator histogram - - TString numstrt = fTitle + " Numerator"; //title of the - //numerator histogram - - TString denstrn = fName + " Denominator";//name of the - //denominator histogram - - TString denstrt = fTitle + " Denominator";//title of the - //denominator histogram - - - GetNumerator()->SetName(numstrn.Data()); - GetNumerator()->SetTitle(numstrt.Data()); - - GetDenominator()->SetName(denstrn.Data()); - GetDenominator()->SetTitle(denstrt.Data()); - - - } -/******************************************************************/ - -void AliHBTFunction::InitFunction() -{ -//Iniotializes fctn.: Resets histograms -//In case histograms are not created in ctor, builds with default parameters - AliDebug(1,"Entering"); - if ( !(GetNumerator()&&GetDenominator()) ) BuildHistos(); - GetNumerator()->Reset(); - GetDenominator()->Reset(); - - GetNumerator()->SetDirectory(0x0); - GetDenominator()->SetDirectory(0x0); - AliDebug(1,"Done"); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTCorrelFunction) -//____________________________________________ -////////////////////////////////////////////// -// -// class AliHBTCorrelFunction -// -// Base class for correlation fuctions, that is which returns ratio. -// Stores pointer the created ratio histogram and deletes it when function is deleted -// created in order to evoid memory leak -// -//////////////////////////////////////////////////////// -AliHBTCorrelFunction& AliHBTCorrelFunction::operator=(const AliHBTCorrelFunction& in) -{ - //assigment operator - if (&in == this) return *this; - delete fRatio; - fRatio=(in.fRatio)?(TH1*)in.fRatio->Clone():0x0; - fRatio->SetDirectory(0x0); - return *this; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTOnePairFctn ) - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTTwoPairFctn) - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTFunction1D ) - -const Int_t AliHBTFunction1D::fgkDefaultNBins = 100; -const Float_t AliHBTFunction1D::fgkDefaultMin = 0.0; -const Float_t AliHBTFunction1D::fgkDefaultMax = 0.15; -const UInt_t AliHBTFunction1D::fgkDefaultNBinsToScale = 30; - - -AliHBTFunction1D::AliHBTFunction1D(): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScale(fgkDefaultNBinsToScale) -{//default constructor -} -/******************************************************************/ - -AliHBTFunction1D::AliHBTFunction1D(Int_t nbins, Float_t maxXval, Float_t minXval): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScale(fgkDefaultNBinsToScale) -{ - //Constructor of Two Part One Dimentional Function - // nbins: number of bins in histograms - default 100 - // maxXval and minXval: range of histgram(s) default 0 - 0.15 (GeV) - BuildHistos(nbins,maxXval,minXval); -} -/******************************************************************/ -AliHBTFunction1D::AliHBTFunction1D(const Char_t *name, const Char_t *title): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScale(fgkDefaultNBinsToScale) -{//constructor -} -/******************************************************************/ -AliHBTFunction1D::AliHBTFunction1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScale(fgkDefaultNBinsToScale) -{ -//constructor - BuildHistos(nbins,maxXval,minXval); -} -/******************************************************************/ - -AliHBTFunction1D::AliHBTFunction1D(const AliHBTFunction1D& source): - AliHBTFunction(source), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScale(0x0) -{ -// Copy constructor needed by the coding conventions byt not used - Fatal("AliHBTFunction1D(const AliHBTFunction1D&)","Cpy ctor not usable."); -} -/******************************************************************/ - -AliHBTFunction1D& AliHBTFunction1D::operator= (const AliHBTFunction1D & /*source*/) -{ -// Assignment needed by the coding conventions byt not used - Fatal("Assignment operator","not implemented"); - return * this; - } -/******************************************************************/ - -AliHBTFunction1D::~AliHBTFunction1D() -{ -//destructor - delete fNumerator; - delete fDenominator; -} -/******************************************************************/ -void AliHBTFunction1D::BuildHistos() -{ -//builds histograms with default settings - BuildHistos(fgkDefaultNBins,fgkDefaultMax,fgkDefaultMin); -} - -/******************************************************************/ - -void AliHBTFunction1D::BuildHistos(Int_t nbins, Float_t max, Float_t min) -{ -//builds numarator and denominator hitograms - TString numstr = fName + " Numerator"; //title and name of the - //numerator histogram - TString denstr = fName + " Denominator";//title and name of the - //denominator histogram - fNumerator = new TH1D(numstr.Data(),numstr.Data(),nbins,min,max); - fDenominator = new TH1D(denstr.Data(),denstr.Data(),nbins,min,max); - - fNumerator->Sumw2(); - fDenominator->Sumw2(); -} -/******************************************************************/ - -Double_t AliHBTFunction1D::Scale() -{ - //Calculates the factor that should be used to scale - //quatience of fNumerator and fDenominator to 1 at tail - return Scale(fNumerator,fDenominator); -} -/******************************************************************/ - -Double_t AliHBTFunction1D::Scale(TH1D* num,TH1D* den) -{ - //Calculates the factor that should be used to scale - //quatience of num and den to 1 at tail - - AliDebug(1,"Entered"); - if(!num) - { - AliError("No numerator"); - return 0.0; - } - if(!den) - { - AliError("No denominator"); - return 0.0; - } - - if(fNBinsToScale < 1) - { - AliError("Number of bins for scaling is smaller than 1"); - return 0.0; - } - UInt_t nbins = num->GetNbinsX(); - if (fNBinsToScale > nbins) - { - AliError("Number of bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - AliDebug(1,"No errors detected"); - - Double_t densum = 0.0; - Double_t numsum = 0.0; - - Int_t offset = nbins - fNBinsToScale - 1; - - for (UInt_t i = offset; i< nbins; i++) - { - if ( num->GetBinContent(i) > 0.0 ) - { - densum += den->GetBinContent(i); - numsum += num->GetBinContent(i); - } - } - - AliDebug(1,Form("numsum=%f densum=%f fNBinsToScaleX=%d",numsum,densum,fNBinsToScale)); - - if (numsum == 0) return 0.0; - Double_t ret = densum/numsum; - - AliDebug(1,Form("returning %f",ret)); - return ret; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTFunction2D // -// // -// Base Calss for 2-dimensinal Functions // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp( AliHBTFunction2D ) - -const Int_t AliHBTFunction2D::fgkDefaultNBinsX = 200;//default number of Bins in X axis in histograms -const Float_t AliHBTFunction2D::fgkDefaultMinX = 0.0;//Default min value of X axis in histograms -const Float_t AliHBTFunction2D::fgkDefaultMaxX = 1.5;//Default max value of X axis inhistograms - -const Int_t AliHBTFunction2D::fgkDefaultNBinsY = 200;//default number of Bins in histograms -const Float_t AliHBTFunction2D::fgkDefaultMinY = -0.15;//Default min value of histograms -const Float_t AliHBTFunction2D::fgkDefaultMaxY = 0.15;//Default max value of histograms - -const UInt_t AliHBTFunction2D::fgkDefaultNBinsToScaleX = 30;//Default number of X bins used for scaling to tale -const UInt_t AliHBTFunction2D::fgkDefaultNBinsToScaleY = 30;//Default number of bins used for scaling to tale - -/******************************************************************/ -AliHBTFunction2D::AliHBTFunction2D(): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY) -{//default constructor -} -/******************************************************************/ -AliHBTFunction2D::AliHBTFunction2D(const Char_t *name, const Char_t *title): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY) -{//constructor -} -/******************************************************************/ - -AliHBTFunction2D::AliHBTFunction2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY) -{ - BuildHistos(nXbins,maxXval,minXval,nYbins,maxYval,minYval); -} -/******************************************************************/ - -AliHBTFunction2D::AliHBTFunction2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY) -{ - BuildHistos(nXbins,maxXval,minXval,nYbins,maxYval,minYval); -} -/******************************************************************/ -AliHBTFunction2D::AliHBTFunction2D(const AliHBTFunction2D & source): - AliHBTFunction(source), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(0x0), - fNBinsToScaleY(0x0) -{ -// Copy constructor needed by the coding conventions byt not used - Fatal("AliHBTFunction2D(const AliHBTFunction2D&)","Cpy ctor not usable."); -} -/******************************************************************/ - -AliHBTFunction2D& AliHBTFunction2D::operator= (const AliHBTFunction2D& /*source*/) { -// Assignment needed by the coding conventions byt not used - Fatal("Assignment operator","not implemented"); - return * this; -} -/******************************************************************/ - -AliHBTFunction2D::~AliHBTFunction2D() -{ -//dtor - delete fNumerator; - delete fDenominator; -} -/******************************************************************/ - -void AliHBTFunction2D::BuildHistos() -{ -//Creates default histograms - BuildHistos(fgkDefaultNBinsX,fgkDefaultMaxX,fgkDefaultMinX, - fgkDefaultNBinsY,fgkDefaultMaxY,fgkDefaultMinY); -} -/******************************************************************/ - -void AliHBTFunction2D::BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin) -{ -//Builds numerator and denominator histograms (2d-case) - TString numstr = fName + " Numerator"; //title and name of the - //numerator histogram - TString denstr = fName + " Denominator";//title and name of the - //denominator histogram - - fNumerator = new TH2D(numstr.Data(),numstr.Data(), - nxbins,xmin,xmax,nybins,ymin,ymax); - - fDenominator = new TH2D(denstr.Data(),denstr.Data(), - nxbins,xmin,xmax,nybins,ymin,ymax); - - fNumerator->Sumw2(); - fDenominator->Sumw2(); -} -/******************************************************************/ - -void AliHBTFunction2D::SetNumberOfBinsToScale(UInt_t xn, UInt_t yn) -{ -//defines area used for scaling factor calculation - fNBinsToScaleX = xn; - fNBinsToScaleY = yn; -} -/******************************************************************/ - -Double_t AliHBTFunction2D::Scale() -{ -// Calculates the factor that should be used to scale -// quatience of fNumerator and fDenominator to 1 at -// given region - AliDebug(1,"Entered"); - if(!fNumerator) - { - AliError("No numerator"); - return 0.0; - } - if(!fDenominator) - { - AliError("No denominator"); - return 0.0; - } - - if( (fNBinsToScaleX < 1) || (fNBinsToScaleY < 1) ) - { - AliError("Number of bins for scaling is smaller thnan 1"); - return 0.0; - } - UInt_t nbinsX = fNumerator->GetNbinsX(); - if (fNBinsToScaleX > nbinsX) - { - AliError("Number of X bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - - UInt_t nbinsY = fNumerator->GetNbinsX(); - if (fNBinsToScaleY > nbinsY) - { - AliError("Number of Y bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - - AliDebug(1,"No errors detected"); - - Int_t offsetX = nbinsX - fNBinsToScaleX - 1; //bin that we start loop over bins in axis X - Int_t offsetY = nbinsY - fNBinsToScaleY - 1; //bin that we start loop over bins in axis X - - Double_t densum = 0.0; - Double_t numsum = 0.0; - - for (UInt_t j = offsetY; j< nbinsY; j++) - for (UInt_t i = offsetX; i< nbinsX; i++) - { - if ( fNumerator->GetBinContent(i,j) > 0.0 ) - { - densum += fDenominator->GetBinContent(i,j); - numsum += fNumerator->GetBinContent(i,j); - } - } - - AliDebug(1,Form("numsum=%f densum=%f fNBinsToScaleX=%d fNBinsToScaleY=%d", - numsum,densum,fNBinsToScaleX,fNBinsToScaleY)); - - if (numsum == 0) return 0.0; - Double_t ret = densum/numsum; - - AliDebug(1,Form("returning %f",ret)); - return ret; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTFunction3D // -// // -// Base Calss for 3-dimensinal Functions // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp( AliHBTFunction3D) - -const Int_t AliHBTFunction3D::fgkDefaultNBinsX = 200;//default number of Bins in X axis in histograms -const Float_t AliHBTFunction3D::fgkDefaultMinX = 0.0;//Default min value of X axis in histograms -const Float_t AliHBTFunction3D::fgkDefaultMaxX = 1.5;//Default max value of X axis inhistograms - -const Int_t AliHBTFunction3D::fgkDefaultNBinsY = 200;//default number of Bins in histograms -const Float_t AliHBTFunction3D::fgkDefaultMinY = -0.15;//Default min value of histograms -const Float_t AliHBTFunction3D::fgkDefaultMaxY = 0.15;//Default max value of histograms - -const Int_t AliHBTFunction3D::fgkDefaultNBinsZ = 200;//default number of Bins in histograms -const Float_t AliHBTFunction3D::fgkDefaultMinZ = -0.15;//Default min value of histograms -const Float_t AliHBTFunction3D::fgkDefaultMaxZ = 0.15;//Default max value of histograms - -const UInt_t AliHBTFunction3D::fgkDefaultNBinsToScaleX = 30;//Default number of X bins used for scaling to tale -const UInt_t AliHBTFunction3D::fgkDefaultNBinsToScaleY = 30;//Default number of bins used for scaling to tale -const UInt_t AliHBTFunction3D::fgkDefaultNBinsToScaleZ = 30;//Default number of bins used for scaling to tale - -AliHBTFunction3D::AliHBTFunction3D(): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY), - fNBinsToScaleZ(fgkDefaultNBinsToScaleZ) -{ - //constructor -} -/******************************************************************/ - -AliHBTFunction3D::AliHBTFunction3D(const Char_t *name, const Char_t *title): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY), - fNBinsToScaleZ(fgkDefaultNBinsToScaleZ) -{ - //constructor -} -/******************************************************************/ - -AliHBTFunction3D::AliHBTFunction3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY), - fNBinsToScaleZ(fgkDefaultNBinsToScaleZ) -{ - //constructor - BuildHistos( nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval); -} -/******************************************************************/ - -AliHBTFunction3D::AliHBTFunction3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTFunction(name,title), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(fgkDefaultNBinsToScaleX), - fNBinsToScaleY(fgkDefaultNBinsToScaleY), - fNBinsToScaleZ(fgkDefaultNBinsToScaleZ) -{ - //constructor - BuildHistos( nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval); -} -/******************************************************************/ - -AliHBTFunction3D::AliHBTFunction3D(const AliHBTFunction3D& source): - AliHBTFunction(source), - fNumerator(0x0), - fDenominator(0x0), - fNBinsToScaleX(0x0), - fNBinsToScaleY(0x0), - fNBinsToScaleZ(0x0) -{ -// Copy constructor needed by the coding conventions byt not used - Fatal("AliHBTFunction3D(const AliHBTFunction3D&)","Cpy ctor not usable."); -} -/******************************************************************/ - -AliHBTFunction3D& AliHBTFunction3D::operator= (const AliHBTFunction3D & /*source*/) -{ -// Assignment needed by the coding conventions byt not used - Fatal("Assignment operator","not implemented"); - return * this; - } -/******************************************************************/ - - -AliHBTFunction3D::~AliHBTFunction3D() -{ - delete fNumerator; - delete fDenominator; -} -/******************************************************************/ - -void AliHBTFunction3D::BuildHistos() -{ -//Creates default histograms - BuildHistos(fgkDefaultNBinsX,fgkDefaultMaxX,fgkDefaultMinX, - fgkDefaultNBinsY,fgkDefaultMaxY,fgkDefaultMinY, - fgkDefaultNBinsZ,fgkDefaultMaxZ,fgkDefaultMinZ); -} -/******************************************************************/ - -void AliHBTFunction3D::BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin, - Int_t nzbins, Float_t zmax, Float_t zmin) -{ - //Builds numerator and denominator histograms (3d-case) - - AliDebug(1,"Entered"); - - if (fNumerator ) - { - delete fNumerator; - fNumerator = 0x0; - } - - if (fDenominator ) - { - delete fDenominator; - fDenominator = 0x0; - } - - TString numstr = fName + " Numerator"; //title and name of the - //numerator histogram - TString denstr = fName + " Denominator";//title and name of the - //denominator histogram - - fNumerator = new TH3F(numstr.Data(),numstr.Data(), - nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - - fDenominator = new TH3F(denstr.Data(),denstr.Data(), - nxbins,xmin,xmax,nybins,ymin,ymax,nzbins,zmin,zmax); - - fNumerator->Sumw2(); - fDenominator->Sumw2(); -} - -/******************************************************************/ - -Double_t AliHBTFunction3D::Scale() -{ - // Calculates the factor that should be used to scale - // quatience of fNumerator and fDenominator to 1 at - // given volume - AliDebug(1,"Entered"); - if(!fNumerator) - { - AliError("No numerator"); - return 0.0; - } - if(!fDenominator) - { - AliError("No denominator"); - return 0.0; - } - - if( (fNBinsToScaleX < 1) || (fNBinsToScaleY < 1) || (fNBinsToScaleZ < 1)) - { - AliError("Number of bins for scaling is smaller thnan 1"); - return 0.0; - } - UInt_t nbinsX = fNumerator->GetNbinsX(); - if (fNBinsToScaleX > nbinsX) - { - AliError("Number of X bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - - UInt_t nbinsY = fNumerator->GetNbinsX(); - if (fNBinsToScaleY > nbinsY) - { - AliError("Number of Y bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - - UInt_t nbinsZ = fNumerator->GetNbinsZ(); - if (fNBinsToScaleZ > nbinsZ) - { - AliError("Number of Z bins for scaling is bigger thnan number of bins in histograms"); - return 0.0; - } - - AliDebug(1,"No errors detected"); - - Int_t offsetX = nbinsX - fNBinsToScaleX - 1; //bin that we start loop over bins in axis X - Int_t offsetY = nbinsY - fNBinsToScaleY - 1; //bin that we start loop over bins in axis Y - Int_t offsetZ = nbinsZ - fNBinsToScaleZ - 1; //bin that we start loop over bins in axis Z - - Double_t densum = 0.0; - Double_t numsum = 0.0; - - for (UInt_t k = offsetZ; kGetBinContent(i,j,k) > 0.0 ) - { - - densum += fDenominator->GetBinContent(i,j,k); - numsum += fNumerator->GetBinContent(i,j,k); - } - } - - AliDebug(1,Form("numsum=%f densum=%f fNBinsToScaleX=%d fNBinsToScaleY=%d fNBinsToScaleZ=%d", - numsum,densum,fNBinsToScaleX,fNBinsToScaleY,fNBinsToScaleZ)); - - if (numsum == 0) return 0.0; - Double_t ret = densum/numsum; - - AliDebug(1,Form("returning %f",ret)); - return ret; -} -/******************************************************************/ - -void AliHBTFunction3D::SetNumberOfBinsToScale(UInt_t xn, UInt_t yn,UInt_t zn) -{ -//sets up the volume to be used for scaling to tail - fNBinsToScaleX = xn; - fNBinsToScaleY = yn; - fNBinsToScaleZ = zn; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn1D // -// // -// Base Calss for 1-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp( AliHBTOnePairFctn1D ) -/******************************************************************/ - -AliHBTOnePairFctn1D::AliHBTOnePairFctn1D(Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTFunction1D(nbins,maxXval,minXval) -{ - //constructor -} -/******************************************************************/ - -AliHBTOnePairFctn1D::AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title): - AliHBTFunction1D(name,title) -{ - -} -/******************************************************************/ - -AliHBTOnePairFctn1D::AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTFunction1D(name,title,nbins,maxXval,minXval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTOnePairFctn1D::ProcessSameEventParticles(AliHBTPair* pair) -{ - //Fills the numerator using pair from the same event - pair = CheckPair(pair); - if(pair) fNumerator->Fill(GetValue(pair)); -} -/******************************************************************/ -void AliHBTOnePairFctn1D::ProcessDiffEventParticles(AliHBTPair* pair) - { - //Fills the denumerator using mixed pairs - pair = CheckPair(pair); - if(pair) fDenominator->Fill(GetValue(pair)); - } - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn2D // -// // -// Base Calss for 2-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp( AliHBTOnePairFctn2D ) -/******************************************************************/ - -AliHBTOnePairFctn2D::AliHBTOnePairFctn2D(const Char_t *name, const Char_t *title): - AliHBTFunction2D(name,title) -{ - //constructor -} -/******************************************************************/ - -AliHBTOnePairFctn2D::AliHBTOnePairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTFunction2D(nXbins, maxXval, minXval, nYbins, maxYval, minYval) -{ - //constructor -} -/******************************************************************/ - -AliHBTOnePairFctn2D::AliHBTOnePairFctn2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTFunction2D(name,title, nXbins, maxXval, minXval, nYbins, maxYval, minYval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTOnePairFctn2D::ProcessSameEventParticles(AliHBTPair* pair) -{ - // Fills the numerator using pairs from the same event - pair = CheckPair(pair); - if(pair) - { - Double_t x,y; - GetValues(pair,x,y); - fNumerator->Fill(x,y); - } -} -/******************************************************************/ - -void AliHBTOnePairFctn2D::ProcessDiffEventParticles(AliHBTPair* pair) -{ - // Fills the denumerator using mixed pairs - pair = CheckPair(pair); - if(pair) - { - Double_t x,y; - GetValues(pair,x,y); - fDenominator->Fill(x,y); - } -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn3D // -// // -// Base Calss for 3-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// -ClassImp( AliHBTOnePairFctn3D) - -/******************************************************************/ - -AliHBTOnePairFctn3D::AliHBTOnePairFctn3D(const Char_t *name, const Char_t *title): - AliHBTFunction3D(name,title) -{ - //constructor -} -/******************************************************************/ - -AliHBTOnePairFctn3D::AliHBTOnePairFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTFunction3D(nXbins, maxXval, minXval, nYbins, maxYval, minYval, nZbins, maxZval, minZval) -{ - //constructor -} -/******************************************************************/ - -AliHBTOnePairFctn3D::AliHBTOnePairFctn3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTFunction3D(name,title,nXbins, maxXval, minXval, nYbins, maxYval, minYval, nZbins, maxZval, minZval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTOnePairFctn3D::ProcessSameEventParticles(AliHBTPair* pair) -{ -//Reacts on pair coming from same event (real pairs) -//and fills numerator histogram - pair = CheckPair(pair); - if( pair ) - { - Double_t x,y,z; - GetValues(pair,x,y,z); - fNumerator->Fill(x,y,z); - } -} -/******************************************************************/ - -void AliHBTOnePairFctn3D::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//Reacts on pair coming from different events (mixed pairs) -//and fills denominator histogram - pair = CheckPair(pair); - if( pair ) - { - Double_t x,y,z; - GetValues(pair,x,y,z); - fDenominator->Fill(x,y,z); - } -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn1D // -// // -// Base Calss for 1-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// -ClassImp(AliHBTTwoPairFctn1D) -/******************************************************************/ - -AliHBTTwoPairFctn1D::AliHBTTwoPairFctn1D(Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTFunction1D(nbins,maxXval,minXval) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn1D::AliHBTTwoPairFctn1D(const Char_t *name, const Char_t *title): - AliHBTFunction1D(name,title) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn1D::AliHBTTwoPairFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTFunction1D(name,title,nbins,maxXval,minXval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTTwoPairFctn1D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - // Fills the numerator using pairs from the same event - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x = GetValue(trackpair,partpair); - fNumerator->Fill(x); -} -/******************************************************************/ - -void AliHBTTwoPairFctn1D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - // Fills the denumerator usin mixed pairs - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x = GetValue(trackpair,partpair); - fDenominator->Fill(x); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn2D // -// // -// Base Calss for 2-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp(AliHBTTwoPairFctn2D) - -/******************************************************************/ - -AliHBTTwoPairFctn2D::AliHBTTwoPairFctn2D(const Char_t *name, const Char_t *title): - AliHBTFunction2D(name,title) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn2D::AliHBTTwoPairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTFunction2D(nXbins, maxXval, minXval, nYbins, maxYval, minYval) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn2D::AliHBTTwoPairFctn2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTFunction2D(name,title,nXbins, maxXval, minXval, nYbins, maxYval, minYval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTTwoPairFctn2D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//processes pair of particles coming from a same events (real pair) - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x,y; - GetValues(trackpair,partpair,x,y); - fNumerator->Fill(x,y); -} -/******************************************************************/ - -void AliHBTTwoPairFctn2D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//processes pair of particles coming from a different events (mixed pair) - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x,y; - GetValues(trackpair,partpair,x,y); - fDenominator->Fill(x,y); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn3D // -// // -// Base Calss for 3-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -ClassImp(AliHBTTwoPairFctn3D) - -/******************************************************************/ - -AliHBTTwoPairFctn3D::AliHBTTwoPairFctn3D(const Char_t *name, const Char_t *title): - AliHBTFunction3D(name,title) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn3D::AliHBTTwoPairFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTFunction3D(nXbins, maxXval, minXval, nYbins, maxYval, minYval, nZbins, maxZval, minZval) -{ - //constructor -} -/******************************************************************/ - -AliHBTTwoPairFctn3D::AliHBTTwoPairFctn3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTFunction3D(name,title,nXbins, maxXval, minXval, nYbins, maxYval, minYval, nZbins, maxZval, minZval) -{ - //constructor -} -/******************************************************************/ - -void AliHBTTwoPairFctn3D::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - // Fills th numerator using pairs from the same event - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x,y,z; - GetValues(trackpair,partpair,x,y,z); - fNumerator->Fill(x,y,z); - -} -/******************************************************************/ - -void AliHBTTwoPairFctn3D::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - // Fills the denumerator using mixed pairs - trackpair = CheckPair(trackpair); - if( trackpair == 0x0) return; - - Double_t x,y,z; - GetValues(trackpair,partpair,x,y,z); - fDenominator->Fill(x,y,z); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - diff --git a/HBTAN/AliHBTFunction.h b/HBTAN/AliHBTFunction.h deleted file mode 100644 index 43ae1ca172b..00000000000 --- a/HBTAN/AliHBTFunction.h +++ /dev/null @@ -1,642 +0,0 @@ -#ifndef ALIHBTFUNCTION_H -#define ALIHBTFUNCTION_H - -/* Id: $ */ - -/////////////////////////////////////////////////////// -// // -// AliHBTFunction // -// // -// Abstract Base Calss for all the function classes // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -#include -#include -#include - -#include "AliAODPairCut.h" -#include "AliHBTPair.h" - - -class AliHBTAnalysis; -class AliVAODParticleCut; - -class AliHBTFunction: public TNamed -{ - public: - AliHBTFunction(); - AliHBTFunction(const char* name, const char* title); - AliHBTFunction(const AliHBTFunction & source); - - virtual ~AliHBTFunction(); - - AliHBTFunction & operator= (const AliHBTFunction & source); - - virtual TH1* GetNumerator() const = 0; - virtual TH1* GetDenominator() const = 0; - virtual TH1* GetResult() = 0; - - virtual Int_t WriteFunction(); - virtual void InitFunction(); - - TH1* GetRatio(Double_t normfactor = 1.0); - void Rename(const Char_t * name); //renames the function and histograms ==title is the same that name - void Rename(const Char_t * name, const Char_t * title); //renames and retitle the function and histograms - - void SetPairCut(AliAODPairCut* cut); - void UseAbsoluteValues(Bool_t flag){fAbs = flag;} - - virtual AliHBTPair* CheckPair(AliHBTPair* pair); - void SetWriteNumAndDen(Bool_t flag = kFALSE){fWriteNumAndDen = flag;} - protected: - virtual void BuildHistos() = 0;//builds default histograms - AliAODPairCut* fPairCut; //pair cut - Bool_t fWriteNumAndDen; //flag indicating whether numerator and denominator should be writted together with a result - Bool_t fAbs;//flag indicating if absolute values of qout, qside and qlong should be histogrammed - - ClassDef(AliHBTFunction,3) -}; -/******************************************************************/ -inline AliHBTPair* AliHBTFunction::CheckPair(AliHBTPair* pair) -{ - //check if pair and both particles meets the cut criteria - if(fPairCut->Rejected(pair)) return 0x0; //if the pair is BAD - -// It is not allowed to change the order here beacause analysis enforce the order - -// {//it is BAD -// pair = pair->GetSwappedPair(); -// if(pair) -// if(fPairCut->Rejected(pair)) //so try reverse combination -// { -// return 0x0;//it is BAD as well - so return -// } -// } - - return pair; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -class AliHBTCorrelFunction -{ - public: - AliHBTCorrelFunction():fRatio(0x0){} - AliHBTCorrelFunction(const AliHBTCorrelFunction& in):fRatio((in.fRatio)?(TH1*)in.fRatio->Clone():0x0){} - virtual ~AliHBTCorrelFunction(){delete fRatio;} - - AliHBTCorrelFunction& operator=(const AliHBTCorrelFunction& in); - - protected: - TH1* fRatio;//!pointer to the ratio(result) - - ClassDef(AliHBTCorrelFunction,1) -}; - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn // -// // -// Abstract Base Calss for Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTOnePairFctn -{ - public: - AliHBTOnePairFctn(){} - virtual ~AliHBTOnePairFctn(){} - - virtual void ProcessSameEventParticles(AliHBTPair* pair) = 0; - virtual void ProcessDiffEventParticles(AliHBTPair* pair) = 0; - - virtual void Init() = 0; - virtual Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0) = 0; - virtual const char* Name() = 0; - - ClassDef(AliHBTOnePairFctn,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn // -// // -// Abstract Base Calss for Functions that need // -// two pairs to fill function, // -// one reconstructed track and corresponding // -// simulated pair // -// Basically resolution functions // -// Lednicky's algorithm uses that as well // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTTwoPairFctn -{ - public: - AliHBTTwoPairFctn(){}; - virtual ~AliHBTTwoPairFctn(){}; - - virtual void - ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) = 0; - virtual void - ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) = 0; - - virtual void Init() = 0; - virtual Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0) = 0; - virtual const char* Name() = 0; - - ClassDef(AliHBTTwoPairFctn,2) - -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTFunction1D // -// // -// Base Calss for 1-dimensinal Functions // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - - -class AliHBTFunction1D: public AliHBTFunction -{ - public: - AliHBTFunction1D();//default conmstructor - AliHBTFunction1D(Int_t nbins, Float_t maxXval, Float_t minXval); - AliHBTFunction1D(const Char_t *name, const Char_t *title); - AliHBTFunction1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval); - - AliHBTFunction1D(const AliHBTFunction1D & source); - AliHBTFunction1D & operator= (const AliHBTFunction1D& /*source*/); - - virtual ~AliHBTFunction1D(); - - TH1* GetNumerator() const {return fNumerator;}//returns numerator histogram - TH1* GetDenominator() const {return fDenominator;}//returns denominator histogram - - Double_t Scale(); - void SetNumberOfBinsToScale(Int_t n = fgkDefaultNBinsToScale){fNBinsToScale = n;} - - protected: - //returns value to be histogrammed - virtual void BuildHistos(Int_t nbins, Float_t max, Float_t min); - virtual void BuildHistos(); - Double_t Scale(TH1D* num,TH1D* den); - - TH1D* fNumerator; // Numerator histogram - TH1D* fDenominator; // Denumerator histogram - UInt_t fNBinsToScale; // Number of bins to scale - - private: - //this must be declared before constructors because they are used as a default arguments - static const Int_t fgkDefaultNBins;//default number of Bins in histograms - static const Float_t fgkDefaultMin;//Default min value of histograms - static const Float_t fgkDefaultMax;//Default max value of histograms - static const UInt_t fgkDefaultNBinsToScale;//Default number of bins used for scaling to tale - - ClassDef(AliHBTFunction1D,2) -}; - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTFunction2D // -// // -// Base Calss for 2-dimensinal Functions // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTFunction2D: public AliHBTFunction -{ - public: - AliHBTFunction2D(); - - AliHBTFunction2D(const Char_t *name, const Char_t *title); - - AliHBTFunction2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - AliHBTFunction2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - AliHBTFunction2D(const AliHBTFunction2D & source); - - AliHBTFunction2D & operator= (const AliHBTFunction2D & /*source*/); - - virtual ~AliHBTFunction2D(); - - TH1* GetNumerator() const {return fNumerator;} - TH1* GetDenominator() const {return fDenominator;} - - void SetNumberOfBinsToScale(UInt_t xn = fgkDefaultNBinsToScaleX, - UInt_t yn = fgkDefaultNBinsToScaleY); - - Double_t Scale(); - protected: - virtual void BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin); - virtual void BuildHistos(); - - TH2D* fNumerator; // Numerator histogram - TH2D* fDenominator; // Denominator histogram - - //definition of area used for scaling -> Scale is calculated this - //way that after division tale is on 1 - UInt_t fNBinsToScaleX;//number of bins on X axis - UInt_t fNBinsToScaleY;//number of bins on Y axis - - private: - //this must be declared before constructors because they are used as a default arguments - static const Int_t fgkDefaultNBinsX;//default number of Bins in X axis in histograms - static const Float_t fgkDefaultMinX;//Default min value of X axis in histograms - static const Float_t fgkDefaultMaxX;//Default max value of X axis inhistograms - static const Int_t fgkDefaultNBinsY;//default number of Bins in histograms - static const Float_t fgkDefaultMinY;//Default min value of histograms - static const Float_t fgkDefaultMaxY;//Default max value of histograms - - static const UInt_t fgkDefaultNBinsToScaleX;//Default number of X bins used for scaling to tale - static const UInt_t fgkDefaultNBinsToScaleY;//Default number of bins used for scaling to tale - - ClassDef(AliHBTFunction2D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTFunction3D // -// // -// Base Calss for 3-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTFunction3D: public AliHBTFunction -{ - public: - AliHBTFunction3D(); - - AliHBTFunction3D(const Char_t *name, const Char_t *title); - - AliHBTFunction3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - AliHBTFunction3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - AliHBTFunction3D(const AliHBTFunction3D & source); - AliHBTFunction3D & operator= (const AliHBTFunction3D & /*source*/); - - virtual ~AliHBTFunction3D();//destructor - - TH1* GetNumerator() const {return fNumerator;} - TH1* GetDenominator() const {return fDenominator;} - - - void SetNumberOfBinsToScale(UInt_t xn = fgkDefaultNBinsToScaleX, - UInt_t yn = fgkDefaultNBinsToScaleY, - UInt_t zn = fgkDefaultNBinsToScaleZ); - - Double_t Scale(); - - protected: - virtual void BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, - Int_t nybins, Float_t ymax, Float_t ymin, - Int_t nzbins, Float_t zmax, Float_t zmin); - virtual void BuildHistos(); - - TH3F* fNumerator; // Numerator histogram - TH3F* fDenominator; // Denominator histogram - - //definition of area used for scaling -> Scale is calculated this - //way that after division tale is on 1 - UInt_t fNBinsToScaleX;//number of bins on X axis - UInt_t fNBinsToScaleY;//number of bins on Y axis - UInt_t fNBinsToScaleZ;//number of bins on Z axis - - private: - //this must be declared before constructors because they are used as a default arguments - static const Int_t fgkDefaultNBinsX;//default number of Bins in X axis in histograms - static const Float_t fgkDefaultMinX;//Default min value of X axis in histograms - static const Float_t fgkDefaultMaxX;//Default max value of X axis inhistograms - static const Int_t fgkDefaultNBinsY;//default number of Bins in Y axis in histograms - static const Float_t fgkDefaultMinY;//Default min value of Y axis in histograms - static const Float_t fgkDefaultMaxY;//Default max value of Y axis inhistograms - static const Int_t fgkDefaultNBinsZ;//default number of Bins in Z axis in histograms - static const Float_t fgkDefaultMinZ;//Default min value of Z axis in histograms - static const Float_t fgkDefaultMaxZ;//Default max value of Z axis inhistograms - - static const UInt_t fgkDefaultNBinsToScaleX;//Default number of X bins used for scaling to tale - static const UInt_t fgkDefaultNBinsToScaleY;//Default number of Y bins used for scaling to tale - static const UInt_t fgkDefaultNBinsToScaleZ;//Default number of Z bins used for scaling to tale - - ClassDef(AliHBTFunction3D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn1D // -// // -// Base Calss for 1-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTOnePairFctn1D: public AliHBTOnePairFctn, public AliHBTFunction1D -{ - public: - AliHBTOnePairFctn1D(){}//default conmstructor - AliHBTOnePairFctn1D(Int_t nbins, Float_t maxXval, Float_t minXval); - AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title); - AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval); - virtual ~AliHBTOnePairFctn1D(){} - - void ProcessSameEventParticles(AliHBTPair* pair); - void ProcessDiffEventParticles(AliHBTPair* pair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - - protected: - //retruns velue to be histogrammed - virtual Double_t GetValue(AliHBTPair* pair) const = 0; - ClassDef(AliHBTOnePairFctn1D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn2D // -// // -// Base Calss for 2-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTOnePairFctn2D: public AliHBTOnePairFctn, public AliHBTFunction2D -{ - public: - AliHBTOnePairFctn2D(){} - - AliHBTOnePairFctn2D(const Char_t *name, const Char_t *title); - - AliHBTOnePairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - AliHBTOnePairFctn2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - virtual ~AliHBTOnePairFctn2D(){} - - void ProcessSameEventParticles(AliHBTPair* pair); - void ProcessDiffEventParticles(AliHBTPair* pair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - protected: - virtual void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y) const = 0; - ClassDef(AliHBTOnePairFctn2D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTOnePairFctn3D // -// // -// Base Calss for 3-dimensinal Functions that need // -// one pair to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTOnePairFctn3D: public AliHBTOnePairFctn, public AliHBTFunction3D -{ - public: - AliHBTOnePairFctn3D(){} - - AliHBTOnePairFctn3D(const Char_t *name, const Char_t *title); - - AliHBTOnePairFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - AliHBTOnePairFctn3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - virtual ~AliHBTOnePairFctn3D(){}//destructor - - void ProcessSameEventParticles(AliHBTPair* pair); - void ProcessDiffEventParticles(AliHBTPair* pair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - protected: - virtual void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const = 0; - ClassDef(AliHBTOnePairFctn3D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn1D // -// // -// Base Calss for 1-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTTwoPairFctn1D: public AliHBTTwoPairFctn, public AliHBTFunction1D -{ - public: - AliHBTTwoPairFctn1D(){}//default conmstructor - AliHBTTwoPairFctn1D(Int_t nbins, Float_t maxXval, Float_t minXval); - AliHBTTwoPairFctn1D(const Char_t *name, const Char_t *title); - AliHBTTwoPairFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins, Float_t maxXval, Float_t minXval); - virtual ~AliHBTTwoPairFctn1D(){} - - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - - protected: - virtual Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const = 0; - - ClassDef(AliHBTTwoPairFctn1D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn2D // -// // -// Base Calss for 2-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTTwoPairFctn2D: public AliHBTTwoPairFctn, public AliHBTFunction2D -{ - public: - AliHBTTwoPairFctn2D(){} - - AliHBTTwoPairFctn2D(const Char_t *name, const Char_t *title); - - AliHBTTwoPairFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - AliHBTTwoPairFctn2D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval); - - virtual ~AliHBTTwoPairFctn2D(){} - - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - - protected: - virtual void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const = 0; - - ClassDef(AliHBTTwoPairFctn2D,2) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -//____________________ -/////////////////////////////////////////////////////// -// // -// AliHBTTwoPairFctn3D // -// // -// Base Calss for 3-dimensinal Functions that need // -// two pair (simulated and reconstructed) // -// to fill function // -// // -// Piotr.Skowronski@cern.ch // -// http://aliweb.cern.ch/people/skowron/analyzer // -// // -/////////////////////////////////////////////////////// - -class AliHBTTwoPairFctn3D: public AliHBTTwoPairFctn, public AliHBTFunction3D -{ - public: - AliHBTTwoPairFctn3D(){} - - AliHBTTwoPairFctn3D(const Char_t *name, const Char_t *title); - - AliHBTTwoPairFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - AliHBTTwoPairFctn3D(const Char_t *name, const Char_t *title, - Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval); - - virtual ~AliHBTTwoPairFctn3D(){}//destructor - - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - Int_t Write(const char* /*x1*/ = 0,Int_t /*x2*/ = 0, Int_t /*x3*/ = 0){return WriteFunction();} - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - void Init(){InitFunction();} - const char* Name(){return GetName();} - - protected: - virtual void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y, Double_t& z) const = 0; - - ClassDef(AliHBTTwoPairFctn3D,2) -}; - -#endif diff --git a/HBTAN/AliHBTLLWeights.cxx b/HBTAN/AliHBTLLWeights.cxx deleted file mode 100644 index 484355726ea..00000000000 --- a/HBTAN/AliHBTLLWeights.cxx +++ /dev/null @@ -1,831 +0,0 @@ -#include "AliHBTLLWeights.h" -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliHBTLLWeights -// -// This class introduces the weight's calculation -// according to the Lednicky's algorithm. -// -// -// fsiw.f, fsiini.f -// -// Description from fortran code by author R. Lednicky -// -// Calculates final state interaction (FSI) weights -// WEIF = weight due to particle - (effective) nucleus FSI (p-N) -// WEI = weight due to p-p-N FSI -// WEIN = weight due to p-p FSI; note that WEIN=WEI if I3C=0; -// note that if I3C=1 the calculation of -// WEIN can be skipped by putting J=0 -//....................................................................... -// Correlation Functions: -// CF(p-p-N) = sum(WEI)/sum(WEIF) -// CF(p-p) = sum(WEIN)/sum(1); here the nucleus is completely -// inactive -// CF(p-p-"N") = sum(WEIN*WEIF')/sum(WEIF'), where WEIN and WEIF' -// are not correlated (calculated at different emission -// points, e.g., for different events); -// thus here the nucleus affects one-particle -// spectra but not the correlation -//....................................................................... -// User must supply data file on unit NUNIT (e.g. =11) specifying -// LL : particle pair -// NS : approximation used to calculate Bethe-Salpeter amplitude -// ITEST: test switch -// If ITEST=1 then also following parameters are required -// ICH : 1(0) Coulomb interaction between the two particles ON (OFF) -// IQS : 1(0) quantum statistics for the two particles ON (OFF) -// ISI : 1(0) strong interaction between the two particles ON (OFF) -// I3C : 1(0) Coulomb interaction with residual nucleus ON (OFF) -// This data file can contain other information useful for the user. -// It is read by subroutines READINT4 and READREA8(4) (or READ_FILE). -// ------------------------------------------------------------------- -//- LL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -//- part. 1: n p n alfa pi+ pi0 pi+ n p pi+ pi+ pi+ pi- K+ K+ K+ K- -//- part. 2: n p p alfa pi- pi0 pi+ d d K- K+ p p K- K+ p p -// NS=1 y/n: + + + + + - - - - - - - - - - - - -// ------------------------------------------------------------------- -//- LL 18 19 20 21 22 23 24 25 26 27 28 -//- part. 1: d d t t K0 K0 d p p p n -//- part. 2: d alfa t alfa K0 K0b t t alfa lambda lambda -// NS=1 y/n: - - - - - - - - - + + -// ------------------------------------------------------------------- -// NS=1 Square well potential, -// NS=3 not used -// NS=4 scattered wave approximated by the spherical wave, -// NS=2 same as NS=4 but the approx. of equal emission times in PRF -// not required (t=0 approx. used in all other cases). -// Note: if NS=2,4, the B-S amplitude diverges at zero distance r* in -// the two-particle c.m.s.; user can specify a cutoff AA in -// SUBROUTINE FSIINI, for example: -// IF(NS.EQ.2.OR.NS.EQ.4)AA=5.D0 !! in 1/GeV --> AA=1. fm -// ------------------------------------------------------------------ -// ITEST=1 any values of parameters ICH, IQS, ISI, I3C are allowed -// and should be given in data file -// ITEST=0 physical values of these parameters are put automatically -// in FSIINI (their values are not required in data file) -//===================================================================== -// At the beginning of calculation user should call FSIINI, -// which reads LL, NS, ITEST (and eventually ICH, IQS, ISI, I3C) -// and ializes various parameters. -// In particular the constants in -// COMMON/FSI_CONS/PI,PI2,SPI,DR,W -// may be useful for the user: -// W=1/.1973D0 ! from fm to 1/GeV -// PI=4*DATAN(1.D0) -// PI2=2*PI -// SPI=TMath::Sqrt(PI) -// DR=180.D0/PI ! from radian to degree -// _______________________________________________________ -// !! |Important note: all real quantities are assumed REAL*8 | !! -// ------------------------------------------------------- -// For each event user should fill in the following information -// in COMMONs (all COMMONs in FSI calculation start with FSI_): -// ................................................................... -// COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 -// Only -// AMN = mass of the effective nucleus [GeV/c**2] -// CN = charge of the effective nucleus [elem. charge units] -// are required -// ................................................................... -// COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in the rest frame -// 1 P2X,P2Y,P2Z,E2,P2 !of effective nucleus (NRF) -// Only the components -// PiX,PiY,PiZ [GeV/c] -// in NRF are required. -// To make the corresponding Lorentz transformation user can use the -// subroutines LTRAN and LTRANB -// ................................................................... -// COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emission -// 1 X2,Y2,Z2,T2,R2 ! points in NRF -// The componets -// Xi,Yi,Zi [fm] -// and emission times -// Ti [fm/c] -// should be given in NRF with the origin assumed at the center -// of the effective nucleus. If the effect of residual nucleus is -// not calculated within FSIW, the NRF can be any fixed frame. -// -------------------------------------------------------------------- -// Before calling FSIW the user must call -// CALL LTRAN12 -// Besides Lorentz transformation to pair rest frame: -// (p1-p2)/2 --> k* it also transforms 4-coordinates of -// emission points from fm to 1/GeV and calculates Ei,Pi and Ri. -// Note that |k*|=AK in COMMON/FSI_PRF/ -// -------------------------------------------------------------------- -// After making some additional filtering using k* (say k* < k*max) -// or direction of vector k*, -// user can finally call FSIW to calculate the FSI weights -// to be used to construct the correlation function -//====================================================================== - - -/*******************************************************************/ -/****** ROUTINES USED FOR COMMUNUCATION ********/ -/******************** WITH FORTRAN ********************/ -/*******************************************************************/ -#ifndef WIN32 -# define led_bldata led_bldata_ -# define fsiini fsiini_ -# define ltran12 ltran12_ -# define boosttoprf boosttoprf_ -# define fsiw fsiw_ -# define setpdist setpdist_ -# define type_of_call -#else -# define led_bldata LED_BLDATA -# define fsiini FSIINI -# define ltran12 LTRAN12 -# define boosttoprf BOOSTTOPRF -# define fsiw FSIW -# define setpdist SETPDIST -# define type_of_call _stdcall -#endif -/****************************************************************/ -extern "C" void type_of_call led_bldata(); -extern "C" void type_of_call fsiini(); -extern "C" void type_of_call ltran12(); -extern "C" void type_of_call boosttoprf(); -extern "C" void type_of_call fsiw(); -extern "C" void type_of_call setpdist(Double_t& r); -/**************************************************************/ - -#include "AliHBTPair.h" -#include "AliVAODParticle.h" -#include "WLedCOMMONS.h" -#include -#include -#include -#include -#include - - -ClassImp(AliHBTLLWeights) - -AliHBTLLWeights* AliHBTLLWeights::fgLLWeights = 0x0; -const Double_t AliHBTLLWeights::fgkWcons = 1./0.1973; - -AliHBTLLWeights::AliHBTLLWeights(): - fTest(kTRUE), - fColoumbSwitch(kTRUE), - fQuantStatSwitch(kTRUE), - fStrongInterSwitch(kTRUE), - fColWithResidNuclSwitch(kFALSE), - fNuclMass(0.0), - fNuclCharge(0.0), - fRandomPosition(kNone), - fRadius(0.0), - fOneMinusLambda(0.0), - fApproximationModel(0), - fPID1(0), - fPID2(0), - fSigma(0.0) -{ -// Default Constructor - if (fgLLWeights) - Fatal("AliHBTLLWeights","LLWeights already instatiated. Use AliHBTLLWeights::Instance()"); -} -/**************************************************************/ - -AliHBTLLWeights::AliHBTLLWeights(const AliHBTLLWeights &/*source*/): - AliHBTWeights(), - fTest(kTRUE), - fColoumbSwitch(kTRUE), - fQuantStatSwitch(kTRUE), - fStrongInterSwitch(kTRUE), - fColWithResidNuclSwitch(kFALSE), - fNuclMass(0.0), - fNuclCharge(0.0), - fRandomPosition(kNone), - fRadius(0.0), - fOneMinusLambda(0.0), - fApproximationModel(0), - fPID1(0), - fPID2(0), - fSigma(0.0) -{ - //Copy ctor needed by the coding conventions but not used - Fatal("AliHBTLLWeights","copy ctor not implemented"); -} -/************************************************************/ - -AliHBTLLWeights& AliHBTLLWeights::operator=(const AliHBTLLWeights& /*source*/) -{ - //Assignment operator needed by the coding conventions but not used - Fatal("AliHBTLLWeights","assignment operator not implemented"); - return * this; -} -/************************************************************/ - -AliHBTLLWeights* AliHBTLLWeights::Instance() -{ -// returns instance of class - if (fgLLWeights) - { - return fgLLWeights; - } - else - { - fgLLWeights = new AliHBTLLWeights(); - return fgLLWeights; - } -} -/************************************************************/ - -void AliHBTLLWeights::Set() -{ - //sets this as weighitng class - Info("Set","Setting Lednicky-Lyuboshitz as Weighing Class"); - - if ( fgWeights == 0x0 ) - { - fgWeights = AliHBTLLWeights::Instance(); - return; - } - if ( fgWeights == AliHBTLLWeights::Instance() ) return; - delete fgWeights; - fgWeights = AliHBTLLWeights::Instance(); -} -/************************************************************/ - -Double_t AliHBTLLWeights::GetWeight(AliHBTPair* partpair) -{ -// calculates weight for a pair - static const Double_t kcmtofm = 1.e13; - static const Double_t kcmtoOneOverGeV = kcmtofm*fgkWcons; - - AliVAODParticle *part1 = partpair->Particle1(); - AliVAODParticle *part2 = partpair->Particle2(); - - if ( (part1 == 0x0) || (part2 == 0x0)) - { - Error("GetWeight","Null particle pointer"); - return 0.0; - } - - if ( fPID1 != part1->GetPdgCode() ) return 1.0; - if ( fPID2 != part2->GetPdgCode() ) return 1.0; - -//takes a lot of time - if ( (part1->Px() == part2->Px()) && - (part1->Py() == part2->Py()) && - (part1->Pz() == part2->Pz()) ) - { - return 0.0; - } - - if ((!fRandomPosition) && - (part1->Vx() == part2->Vx()) && - (part1->Vy() == part2->Vy()) && - (part1->Vz() == part2->Vz()) ) - { - return 0.0; - } - - if(fOneMinusLambda)//implemetation of non-zero intetcept parameter - { - if( gRandom->Rndm() < fOneMinusLambda ) return 1.0; - } - - - //this must be after ltran12 because it would overwrite what we set below - switch (fRandomPosition) - { - case kGaussianQInv: - { - // Set Momenta in the common block - FSI_MOM.P1X = part1->Px(); - FSI_MOM.P1Y = part1->Py(); - FSI_MOM.P1Z = part1->Pz(); - - FSI_MOM.P2X = part2->Px(); - FSI_MOM.P2Y = part2->Py(); - FSI_MOM.P2Z = part2->Pz(); - - //boost it to PRF - ltran12(); - boosttoprf(); - - //Set particle positions now so they are Gaussian in PRF - RandomPairDistances(); - - FSI_PRF.RPS= FSI_COOR.X2*FSI_COOR.X2 + FSI_COOR.Y2*FSI_COOR.Y2 +FSI_COOR.Z2*FSI_COOR.Z2; - FSI_PRF.RP=TMath::Sqrt(FSI_PRF.RPS); - - break; - } - case kGaussianOSL: - { - //boost pair to LCMS and set such a momenta in the common block - Int_t retv = SetMomentaInLCMS(part1,part2); - if (retv) return 1; - //random particle positions/distance so they are Gaussian in LCMS - RandomPairDistances(); - - //Boost to PRF - ltran12(); - boosttoprf(); - - break; - } - case kNone: - default: - //set momenta and paricle positions as they are - FSI_MOM.P1X = part1->Px(); - FSI_MOM.P1Y = part1->Py(); - FSI_MOM.P1Z = part1->Pz(); - - FSI_MOM.P2X = part2->Px(); - FSI_MOM.P2Y = part2->Py(); - FSI_MOM.P2Z = part2->Pz(); - - FSI_COOR.X1 = part1->Vx()*kcmtoOneOverGeV; - FSI_COOR.Y1 = part1->Vy()*kcmtoOneOverGeV; - FSI_COOR.Z1 = part1->Vz()*kcmtoOneOverGeV; - FSI_COOR.T1 = part1->T()*kcmtoOneOverGeV; - - FSI_COOR.X2 = part2->Vx()*kcmtoOneOverGeV; - FSI_COOR.Y2 = part2->Vy()*kcmtoOneOverGeV; - FSI_COOR.Z2 = part2->Vz()*kcmtoOneOverGeV; - FSI_COOR.T2 = part2->T()*kcmtoOneOverGeV; - - ltran12(); - boosttoprf(); - - break; - } - - fsiw(); - return LEDWEIGHT.WEIN; -} -/************************************************************/ - -void AliHBTLLWeights::Init() -{ -//initial parameters of model - - FSI_NS.NS = fApproximationModel; - - LEDWEIGHT.ITEST = fTest; - if(fTest) - { - FSI_NS.ICH = fColoumbSwitch; - FSI_NS.ISI = fStrongInterSwitch; - FSI_NS.IQS = fQuantStatSwitch; - FSI_NS.I3C = fColWithResidNuclSwitch; - LEDWEIGHT.IRANPOS = fRandomPosition; - } - - if ( (fPID1 == 0) || (fPID2 == 0) ) - { - Fatal("Init","Particles types are not set"); - return;//pro forma - } - - - FSI_NS.LL = GetPairCode(fPID1,fPID2); - - if (FSI_NS.LL == 0) - { - Fatal("Init","Particles types are not supported"); - return;//pro forma - } - - Info("Init","Setting PIDs %d %d. LL Code is %d",fPID1,fPID2,FSI_NS.LL); - - - TParticlePDG* tpart1 = TDatabasePDG::Instance()->GetParticle(fPID1); - if (tpart1 == 0x0) - { - Fatal("init","We can not find particle with ID=%d in PDG DataBase",fPID1); - return; - } - - FSI_POC.AM1=tpart1->Mass(); - FSI_POC.C1=tpart1->Charge(); - - TParticlePDG* tpart2 = TDatabasePDG::Instance()->GetParticle(fPID2); -//lv - if (tpart2 == 0x0) - { - Fatal("init","We can not find particle with ID=%d in our DataBase",fPID2); - return; - } - - FSI_POC.AM2=tpart2->Mass(); - FSI_POC.C1=tpart2->Charge(); - - led_bldata(); - fsiini(); - - -//constants for radii simulation - - if(fRandomPosition) - { - fSigma =TMath::Sqrt(2.)*fRadius; - } -} -/************************************************************/ - -Int_t AliHBTLLWeights::GetPairCode(const AliHBTPair* partpair) -{ -//returns Code corresponding to that pair - return GetPairCode(partpair->Particle1()->GetPdgCode(),partpair->Particle2()->GetPdgCode()); -} -/************************************************************/ - -Int_t AliHBTLLWeights::GetPairCode(Int_t pid1,Int_t pid2) -{ -// returns code corresponding to the pair of PIDs -// pairCode 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 -// hpid: n p n alfa pi+ pi0 pi+ n p pi+ pi+ pi+ pi- K+ K+ K+ K- d d t t K0 K0 d p p p n -// lpid: n p p alfa pi- pi0 pi+ d d K- K+ p p K- K+ p p d alfa t alfa K0 K0b t t alfa lambda lambda -// NS=1 y/n: + + + + + - - - - - - - - - - - - - - - - - - - - - - - - -//alphas, deuterons and tyts are NOT supported here - - Int_t chargefactor = 1; - Int_t hpid; //pid in higher row - Int_t lpid; //pid in lower row - Int_t code; //pairCode - - Bool_t swap; - -//determine the order of selcetion in switch - if (TMath::Abs(pid1) < TMath::Abs(pid2) ) - { - if (pid1<0) chargefactor=-1; - hpid=pid2*chargefactor; - lpid=pid1*chargefactor; - swap = kFALSE; - } - else - { - if (pid2<0) chargefactor=-1; - hpid=pid1*chargefactor; - lpid=pid2*chargefactor; - swap = kTRUE; - } - -//mlv - hpid=pid1; - lpid=pid2; - - -//Determine the pair code - switch (hpid) //switch on first particle id - { - case kNeutron: - switch (lpid) - { - case kNeutron: - code = 1; //neutron neutron - break; - - case kProton: - code = 3; //neutron proton - break; - - case kLambda0: - code = 28; //neutron lambda - break; - - default: - return 0; //given pair not supported - break; - } - break; - - case kProton: - switch (lpid) - { - case kProton: - code = 2; //proton proton - break; - - case kLambda0: - code = 27;//proton lambda - break; - - default: - return 0; //given pair not supported - break; - - } - break; - - case kPiPlus: - - switch (lpid) - { - case kPiPlus: - code = 7; //piplus piplus - break; - - case kPiMinus: - code = 5; //piplus piminus - break; - - case kKMinus: - code = 10; //piplus Kminus - break; - - case kKPlus: - code = 11; //piplus Kplus - break; - - case kProton: - code = 12; //piplus proton - chargefactor*=-1; - break; - - default: - return 0; //given pair not supported - break; - } - break; - case kPi0: - switch (lpid) - { - case kPi0: - code = 6; - break; - - default: - return 0; //given pair not supported - break; - } - break; - - case kKPlus: - switch (lpid) - { - case kKMinus: - code = 14; //Kplus Kminus - break; - - case kKPlus: - code = 15; //Kplus Kplus - break; - - case kProton: - code = 16; //Kplus proton - break; - - default: - return 0; //given pair not supported - break; - } - break; - - case kKMinus: - switch (lpid) - { - case kProton: - code = 17; //Kminus proton - chargefactor*=1; - break; - - default: - return 0; //given pair not supported - break; - } - break; - - case kK0: - switch (lpid) - { - case kK0: - code = 2; //Kzero Kzero - break; - - case kK0Bar: - code = 17; //Kzero KzeroBar - break; - - default: - return 0; //given pair not supported - break; - } - break; - - default: return 0; - } - return code; -} -/************************************************************/ - -void AliHBTLLWeights::SetTest(Bool_t rtest) -{ - //Sets fTest member - fTest = rtest; -} -/************************************************************/ - -void AliHBTLLWeights::SetColoumb(Bool_t col) -{ - // (ICH in fortran code) Coulomb interaction between the two particles ON (OFF) - fColoumbSwitch = col; -} -/************************************************************/ - -void AliHBTLLWeights::SetQuantumStatistics(Bool_t qss) -{ - //IQS: quantum statistics for the two particles ON (OFF) - //if non-identical particles automatically off - fQuantStatSwitch = qss; -} -/************************************************************/ - -void AliHBTLLWeights::SetStrongInterSwitch(Bool_t sis) -{ - //ISI: strong interaction between the two particles ON (OFF) - fStrongInterSwitch = sis; -} -/************************************************************/ - -void AliHBTLLWeights::SetColWithResidNuclSwitch(Bool_t crn) -{ - //I3C: Coulomb interaction with residual nucleus ON (OFF) - fColWithResidNuclSwitch = crn; -} -/************************************************************/ - -void AliHBTLLWeights::SetApproxModel(Int_t ap) -{ - //sets Model of Approximation (NS in Fortran code) - fApproximationModel=ap; -} -/************************************************************/ - -void AliHBTLLWeights::SetRandomPosition(ERandomizationWay rw) -{ -// rw can be: kGaussianQInv - so 1D Qinv correlation function has a Gaussian shape -// (and also Qlong and Qside, but not Qout) -// kGaussianOSL - so 3D Qout-Qside-Qlong correlation function has a Gaussian shape -// kNone - no randomization performed (DEFAULT) - fRandomPosition = rw; -} -/************************************************************/ - -void AliHBTLLWeights::SetR1dw(Double_t R) -{ - //spherical source model radii - fRadius=R; -} -/************************************************************/ - -void AliHBTLLWeights::SetParticlesTypes(Int_t pid1, Int_t pid2) -{ - //set AliRoot particles types - fPID1 = pid1; - fPID2 = pid2; -} -/************************************************************/ - -void AliHBTLLWeights::SetNucleusCharge(Double_t ch) -{ - // not used now (see comments in fortran code) - fNuclCharge=ch; -} -/************************************************************/ - -void AliHBTLLWeights::SetNucleusMass(Double_t mass) -{ - // (see comments in fortran code) - fNuclMass=mass; -} -/************************************************************/ - -Int_t AliHBTLLWeights::SetMomentaInLCMS(AliVAODParticle* part1, AliVAODParticle* part2) -{ -//sets paricle momenta in the common block in LCMS frame -//---> Particle energies --------- - - Double_t p1x = part1->Px(); - Double_t p1y = part1->Py(); - Double_t p1z = part1->Pz(); - - Double_t p2x = part2->Px(); - Double_t p2y = part2->Py(); - Double_t p2z = part2->Pz(); - - Double_t am1 = part1->Mass(); - Double_t am2 = part2->Mass(); - - Double_t p1s=p1x*p1x+p1y*p1y+p1z*p1z; - Double_t p2s=p2x*p2x+p2y*p2y+p2z*p2z; - Double_t e1=TMath::Sqrt(am1*am1+p1s); - Double_t e2=TMath::Sqrt(am2*am2+p2s); -//---> pair parameters ----------- - Double_t e12=e1+e2; // energy - Double_t p12x=p1x+p2x; // px - Double_t p12y=p1y+p2y; // py - Double_t p12z=p1z+p2z; // pz - Double_t p12s=p12x*p12x+p12y*p12y+p12z*p12z; - Double_t p12 =TMath::Sqrt(p12s);// momentum - Double_t v12 =p12/e12; // velocity - - Double_t cth =p12z/p12; // cos(theta) -// Double_t sth =TMath::Sqrt(1. - cth*cth); //sin - Double_t v12z=v12*cth; // longit. v - Double_t gamz=1./TMath::Sqrt(1.-v12z*v12z); -//-- v12t=v12*sth // transv. v in cms (not needed) - - - Double_t p12ts=p12x*p12x+p12y*p12y; - Double_t p12t=TMath::Sqrt(p12ts); //pt -//===> azimuthal rotation (pt||x) ============ - if(p12t != 0.0) - { - Double_t cphi=p12x/p12t; // cos(phi) - Double_t sphi=p12y/p12t; // sin(phi) - Rotate(p1x,p1y,sphi,cphi,p1x,p1y); - Rotate(p2x,p2y,sphi,cphi,p2x,p2y); -// Rotate(x1,y1,sphi,cphi,x1,y1); -// Rotate(x2,y2,sphi,cphi,x2,y2); - } - else // rotation impossible - { - return 1; - } - -//===> co-moving ref. frame ============ - - Double_t nothing; - Boost(p1z,e1,v12z,gamz,p1z,nothing); - Boost(p2z,e2,v12z,gamz,p2z,nothing); - -// p1s=p1x*p1x+p1y*p1y+p1z*p1z; -// p2s=p2x*p2x+p2y*p2y+p2z*p2z; -// e1=TMath::Sqrt(am1*am1+p1s); -// e2=TMath::Sqrt(am2*am2+p2s); -// Boost(z1,t1,v12z,gamz,z1,t1); -// Boost(z2,t2,v12z,gamz,z2,t2); - - - FSI_MOM.P1X = p1x; - FSI_MOM.P1Y = p1y; - FSI_MOM.P1Z = p1z; - - FSI_MOM.P2X = p2x; - FSI_MOM.P2Y = p2y; - FSI_MOM.P2Z = p2z; - -// Info("Simulate"," %f %f %f ",p1x + p2x, p1y + p2y, p1z + p2z); - return 0; -} - -/**********************************************************/ - -void AliHBTLLWeights::RandomPairDistances() -{ - //randomizes pair distances - Double_t rxcm = fSigma*gRandom->Gaus(); - Double_t rycm = fSigma*gRandom->Gaus(); - Double_t rzcm = fSigma*gRandom->Gaus(); - - - FSI_COOR.X1 = 0; - FSI_COOR.Y1 = 0; - FSI_COOR.Z1 = 0; - FSI_COOR.T1 = 0; - - FSI_COOR.X2 = rxcm*fgkWcons; - FSI_COOR.Y2 = rycm*fgkWcons; - FSI_COOR.Z2 = rzcm*fgkWcons; - FSI_COOR.T2 = 0; - -} - - -void AliHBTLLWeights::Rotate(Double_t x, Double_t y, Double_t sphi, Double_t cphi, Double_t& xr, Double_t& yr) -{ -//rotates - yr=y*cphi-x*sphi; - xr=x*cphi+y*sphi; -} - -void AliHBTLLWeights::Boost(Double_t z, Double_t t, Double_t beta, Double_t gamma, Double_t& zt, Double_t& yt) -{ -//boosts - zt=gamma*(z-beta*t); - yt=gamma*(t-beta*z); -} diff --git a/HBTAN/AliHBTLLWeights.h b/HBTAN/AliHBTLLWeights.h deleted file mode 100644 index 47561f75a9e..00000000000 --- a/HBTAN/AliHBTLLWeights.h +++ /dev/null @@ -1,105 +0,0 @@ -/* $Id$ */ - -//_________________________________________________________________ -/////////////////////////////////////////////////////////////////////// -// -// class AliHBTLLWeights -// -// This class introduces the weight's calculation -// according to the Lednicky's algorithm. -// The detailed description of the algorithm can be found -// in comments to fortran code: -// fsiw.f, fsiini.f -// -// Source simulation: Particle position/distance randomization -// This class has functionality of randomizing particle positions / pair distances -// so obtained correlation function follows a given shape, -// depending on a value of fRandomPosition member -// By default this feature is switched off: fRandomPosition == AliHBTLLWeights::kNone -// It can be: kGaussianQInv - so 1D Qinv correlation function has a Gaussian shape -// (and also Qlong and Qside, but not Qout) -// kGaussianOSL - so 3D Qout-Qside-Qlong correlation function has a Gaussian shape -// -// Ludmila Malinina, Piotr Krzysztof Skowronski -// -/////////////////////////////////////////////////////////////////////// - -#ifndef ALIHBTLLWEIGHTS_H -#define ALIHBTLLWEIGHTS_H - -#include "AliHBTWeights.h" - -class AliHBTPair; -class AliVAODParticle; -class AliHBTLLWeights: public AliHBTWeights - { - public: - AliHBTLLWeights(); - virtual ~AliHBTLLWeights(){;} - static AliHBTLLWeights* Instance(); - - void Set(); - - Double_t GetWeight(AliHBTPair* partpair); //get weight calculated by Lednicky's algorithm - - void Init(); //put the initial values in fortran commons fsiini, led_bldata - void SetTest(Bool_t rtest = kTRUE);//Sets fTest member - - void SetColoumb(Bool_t col = kTRUE);//: (ICH in fortran code) Coulomb interaction between the two particles ON (OFF) - void SetQuantumStatistics(Bool_t qss = kTRUE);//IQS: quantum statistics for the two particles ON (OFF) //if non-identical particles automatically off - void SetStrongInterSwitch(Bool_t sis = kTRUE);//ISI: strong interaction between the two particles ON (OFF) - void SetColWithResidNuclSwitch(Bool_t crn = kTRUE);//I3C: Coulomb interaction with residual nucleus ON (OFF) - void SetLambda(Double_t la){fOneMinusLambda=1.-la;} //lambda=haoticity - void SetApproxModel(Int_t ap);//sets Model of Approximation (NS in Fortran code) - void SetParticlesTypes(Int_t pid1, Int_t pid2); //set AliRoot particles types - void SetNucleusCharge(Double_t ch); // not used now (see comments in fortran code) - void SetNucleusMass(Double_t mass); // (see comments in fortran code) - - enum ERandomizationWay {kNone = 0, kGaussianQInv, kGaussianOSL}; - - void SetRandomPosition(ERandomizationWay rw = kNone); //Choose if, and if yes, how to randomize distance between particles - void SetR1dw(Double_t R); //spherical source model radii - - protected: - - Bool_t fTest; //flag indicating if parameters listed below are to be calculated automatically (0) - //or - Bool_t fColoumbSwitch; //switches on/off Coulumb effect - Bool_t fQuantStatSwitch; //switches on/off Quantum Statistics effect - Bool_t fStrongInterSwitch;//Switches strong interactions TRUE=ON - Bool_t fColWithResidNuclSwitch;//Switches couloumb interaction - //with residual nucleus TRUE=ON - Double_t fNuclMass; //mass of nucleus - Double_t fNuclCharge; //charge of nucleus - - ERandomizationWay fRandomPosition;//flag indicating if positions of particles shuold be randomized according to parameters below - Double_t fRadius; //radius used for randomizing particle vertex position - - Double_t fOneMinusLambda; //1 - intercept parameter - - Int_t fApproximationModel; //approximation used to calculate Bethe-Salpeter amplitude see SetApproxModel for more comments - - Int_t fPID1; //Pdg Code of the first particle in the pair - Int_t fPID2; //Pdg Code of the second particle in the pair - Double_t fSigma; //constants for spherical source model in cm - static const Double_t fgkWcons; //constant for fm->GeV conversion 1/0.1973 - - static AliHBTLLWeights *fgLLWeights;// pointer to wrapper of Fortran Lednicky code - - static Int_t GetPairCode(Int_t pid1,Int_t pid2); - static Int_t GetPairCode(const AliHBTPair* partpair);//calculate automatically internal code - - private: - AliHBTLLWeights(const AliHBTLLWeights &/*source*/); - AliHBTLLWeights & operator=(const AliHBTLLWeights& /*source*/); - - Int_t SetMomentaInLCMS(AliVAODParticle* part1, AliVAODParticle* part2); - void RandomPairDistances(); - - - void Rotate(Double_t x, Double_t y, Double_t sphi, Double_t cphi, Double_t& xr, Double_t& yr); - void Boost (Double_t z, Double_t t, Double_t beta, Double_t gamma, Double_t& zt, Double_t& yt); - ClassDef(AliHBTLLWeights,2) - }; - -#endif diff --git a/HBTAN/AliHBTMonDistributionFctns.cxx b/HBTAN/AliHBTMonDistributionFctns.cxx deleted file mode 100644 index c23938ec3b2..00000000000 --- a/HBTAN/AliHBTMonDistributionFctns.cxx +++ /dev/null @@ -1,248 +0,0 @@ -#include "AliHBTMonDistributionFctns.h" -//______________________________________________________________ -//////////////////////////////////////////////////////////////// -// -// class AliHBTMonPxDistributionFctn; -// class AliHBTMonPxDistributionVsPtFctn; -// class AliHBTMonPyDistributionFctn; -// class AliHBTMonPyDistributionVsPtFctn; -// class AliHBTMonPzDistributionFctn; -// class AliHBTMonPzDistributionVsPtFctn; -// class AliHBTMonPDistributionFctn; -// class AliHBTMonPDistributionVsPtFctn; -// class AliHBTMonPtDistributionFctn; -// class AliHBTMonVxDistributionFctn; -// class AliHBTMonVyDistributionFctn; -// class AliHBTMonVzDistributionFctn; -// class AliHBTMonRDistributionFctn; -// class AliHBTMonVyDistributionVsVxFctn; -// class AliHBTMonRtDistributionVsVzFctn; -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create distribution functions of particle momentum -// -///////////////////////////////////////////////////////////////// -/******************************************************************/ - -ClassImp(AliHBTMonPxDistributionFctn) - -AliHBTMonPxDistributionFctn::AliHBTMonPxDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Px","Px"); -} - -Double_t AliHBTMonPxDistributionFctn::GetValue(AliVAODParticle * particle) const -{ - //returns value for that function - return particle->Px(); -} - -/******************************************************************/ - -ClassImp(AliHBTMonPyDistributionFctn) - -AliHBTMonPyDistributionFctn::AliHBTMonPyDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Py","Py"); -} - -/******************************************************************/ - -ClassImp(AliHBTMonPzDistributionFctn) - -AliHBTMonPzDistributionFctn::AliHBTMonPzDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Pz","Pz"); -} - -/******************************************************************/ - -ClassImp(AliHBTMonPDistributionFctn) - -AliHBTMonPDistributionFctn::AliHBTMonPDistributionFctn - (Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("P","P"); -} - - -/******************************************************************/ - -ClassImp(AliHBTMonPtDistributionFctn) - -AliHBTMonPtDistributionFctn::AliHBTMonPtDistributionFctn - (Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Pt","Pt"); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonPxDistributionVsPtFctn ) - -AliHBTMonPxDistributionVsPtFctn::AliHBTMonPxDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PxDistVsPt","Px vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPyDistributionVsPtFctn ) - -AliHBTMonPyDistributionVsPtFctn::AliHBTMonPyDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PyDistVsPt","Py vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPzDistributionVsPtFctn ) - -AliHBTMonPzDistributionVsPtFctn::AliHBTMonPzDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PzDistVsPt","Pz vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPDistributionVsPtFctn ) - -AliHBTMonPDistributionVsPtFctn::AliHBTMonPDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PDistVsPt","P vs. Pt"); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTMonPhiDistributionFctn) - -AliHBTMonPhiDistributionFctn::AliHBTMonPhiDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Phi","Phi"); -} -/******************************************************************/ -ClassImp(AliHBTMonThetaDistributionFctn) - -AliHBTMonThetaDistributionFctn::AliHBTMonThetaDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Theta","Theta"); -} -/******************************************************************/ -ClassImp( AliHBTMonPhiDistributionVsPtFctn ) - -AliHBTMonPhiDistributionVsPtFctn::AliHBTMonPhiDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PhiDistVsPt","Phi vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonThetaDistributionVsPtFctn ) - -AliHBTMonThetaDistributionVsPtFctn::AliHBTMonThetaDistributionVsPtFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("ThetaDistVsPt","Theta vs. Pt"); -} -/******************************************************************/ - -ClassImp(AliHBTMonVxDistributionFctn) - -AliHBTMonVxDistributionFctn:: -AliHBTMonVxDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Vx","X of Vertex"); -} -/******************************************************************/ - -ClassImp(AliHBTMonVyDistributionFctn) - -AliHBTMonVyDistributionFctn:: -AliHBTMonVyDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - Rename("Vy","Y of Vertex"); -} -/******************************************************************/ - -ClassImp(AliHBTMonVzDistributionFctn) - -AliHBTMonVzDistributionFctn:: -AliHBTMonVzDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("Vz","Z of Vertex"); -} -/******************************************************************/ -ClassImp(AliHBTMonRDistributionFctn) - -AliHBTMonRDistributionFctn:: -AliHBTMonRDistributionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonOneParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("VertexDistanceFromCenter","Distance of Particle Vertex From Center"); -} -/******************************************************************/ - -ClassImp(AliHBTMonVyDistributionVsVxFctn) -AliHBTMonVyDistributionVsVxFctn::AliHBTMonVyDistributionVsVxFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("VyDistVsVx","Vrtex Y position versus X vertex position"); -} -/******************************************************************/ - -ClassImp(AliHBTMonRtDistributionVsVzFctn) -AliHBTMonRtDistributionVsVzFctn::AliHBTMonRtDistributionVsVzFctn - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonOneParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("RDistVsVz","Distance of vertex position from center in trensverse plane versus Z vertex position"); -} - -/******************************************************************/ -/******************************************************************/ - - - - diff --git a/HBTAN/AliHBTMonDistributionFctns.h b/HBTAN/AliHBTMonDistributionFctns.h deleted file mode 100644 index 01e2c188ab5..00000000000 --- a/HBTAN/AliHBTMonDistributionFctns.h +++ /dev/null @@ -1,311 +0,0 @@ -#ifndef ALIHBTMONDISTRIBUTIONFCTNS_H -#define ALIHBTMONDISTRIBUTIONFCTNS_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -//______________________________________________________________ -//////////////////////////////////////////////////////////////// -// -// class AliHBTMonPxDistributionFctn; -// class AliHBTMonPxDistributionVsPtFctn; -// class AliHBTMonPyDistributionFctn; -// class AliHBTMonPyDistributionVsPtFctn; -// class AliHBTMonPzDistributionFctn; -// class AliHBTMonPzDistributionVsPtFctn; -// class AliHBTMonPDistributionFctn; -// class AliHBTMonPDistributionVsPtFctn; -// class AliHBTMonPtDistributionFctn; -// class AliHBTMonVxDistributionFctn; -// class AliHBTMonVyDistributionFctn; -// class AliHBTMonVzDistributionFctn; -// class AliHBTMonRDistributionFctn; -// class AliHBTMonVyDistributionVsVxFctn; -// class AliHBTMonRtDistributionVsVzFctn; -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create distribution functions of particle momentum -// -///////////////////////////////////////////////////////////////// - -class AliHBTMonPxDistributionFctn; -class AliHBTMonPxDistributionVsPtFctn; -class AliHBTMonPyDistributionFctn; -class AliHBTMonPyDistributionVsPtFctn; -class AliHBTMonPzDistributionFctn; -class AliHBTMonPzDistributionVsPtFctn; -class AliHBTMonPDistributionFctn; -class AliHBTMonPDistributionVsPtFctn; -class AliHBTMonPtDistributionFctn; - -class AliHBTMonVxDistributionFctn; -class AliHBTMonVyDistributionFctn; -class AliHBTMonVzDistributionFctn; -class AliHBTMonRDistributionFctn; - -class AliHBTMonVyDistributionVsVxFctn; -class AliHBTMonRtDistributionVsVzFctn; - -#include - -#include "AliHBTMonitorFunction.h" -/***********************************************************************/ -/***********************************************************************/ -/*************************************************************************************/ - -class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4); - virtual ~AliHBTMonPxDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const; - ClassDef(AliHBTMonPxDistributionFctn,1) -}; -/*************************************************************************************/ - -class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4); - virtual ~AliHBTMonPyDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Py();} - ClassDef(AliHBTMonPyDistributionFctn,1) -}; -/*************************************************************************************/ - -class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4); - virtual ~AliHBTMonPzDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Pz();} - ClassDef(AliHBTMonPzDistributionFctn,1) - -}; -/*************************************************************************************/ - -class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0); - virtual ~AliHBTMonPDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->P();} - ClassDef(AliHBTMonPDistributionFctn,1) - -}; -/*************************************************************************************/ - -class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0); - virtual ~AliHBTMonPtDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Pt();} - ClassDef(AliHBTMonPtDistributionFctn,1) -}; - -/***********************************************************************/ -class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D - { - public: - AliHBTMonPxDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4); - virtual ~AliHBTMonPxDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Px(); - } - ClassDef(AliHBTMonPxDistributionVsPtFctn,1) - }; - -/***********************************************************************/ -class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D - { - public: - AliHBTMonPyDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4); - virtual ~AliHBTMonPyDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Py(); - } - ClassDef(AliHBTMonPyDistributionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D - { - public: - AliHBTMonPzDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4); - virtual ~AliHBTMonPzDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Pz(); - } - ClassDef(AliHBTMonPzDistributionVsPtFctn,1) - }; - -/***********************************************************************/ -class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D - { - public: - AliHBTMonPDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4); - virtual ~AliHBTMonPDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->P(); - } - ClassDef(AliHBTMonPDistributionVsPtFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0); - virtual ~AliHBTMonPhiDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Phi();} - ClassDef(AliHBTMonPhiDistributionFctn,1) -}; - -/***********************************************************************/ -class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0); - virtual ~AliHBTMonThetaDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Theta();} - ClassDef(AliHBTMonThetaDistributionFctn,1) - -}; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D - { - public: - AliHBTMonPhiDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0); - virtual ~AliHBTMonPhiDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Phi(); - } - ClassDef(AliHBTMonPhiDistributionVsPtFctn,1) - }; - -/***********************************************************************/ -class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D -{ - public: - AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0); - virtual ~AliHBTMonThetaDistributionVsPtFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Theta(); - } - ClassDef(AliHBTMonThetaDistributionVsPtFctn,1) - }; - -/***********************************************************************/ -class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500); - virtual ~AliHBTMonVxDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const{ return particle->Vx();} - ClassDef(AliHBTMonVxDistributionFctn,1) -}; -/***********************************************************************/ -class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500); - virtual ~AliHBTMonVyDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Vy();} - ClassDef(AliHBTMonVyDistributionFctn,1) -}; -/***********************************************************************/ -class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300); - virtual ~AliHBTMonVzDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * particle) const { return particle->Vz();} - ClassDef(AliHBTMonVzDistributionFctn,1) -}; -/***********************************************************************/ -class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D -{ - public: - AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500); - virtual ~AliHBTMonRDistributionFctn(){}; - protected: - Double_t GetValue(AliVAODParticle * p) const { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());} - ClassDef(AliHBTMonRDistributionFctn,1) -}; - -/***********************************************************************/ -class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D -{ - public: - AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0, - Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0); - virtual ~AliHBTMonVyDistributionVsVxFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Vx(); - y = partparticle->Vy(); - } - ClassDef(AliHBTMonVyDistributionVsVxFctn,1) - }; - - -class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D -{ - public: - AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0, - Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0); - virtual ~AliHBTMonRtDistributionVsVzFctn(){} - - void GetValues(AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Vz(); - y = TMath::Hypot(partparticle->Vx(),partparticle->Vy()); - } - ClassDef(AliHBTMonRtDistributionVsVzFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ - -#endif diff --git a/HBTAN/AliHBTMonResolutionFctns.cxx b/HBTAN/AliHBTMonResolutionFctns.cxx deleted file mode 100644 index 46a3076f8ec..00000000000 --- a/HBTAN/AliHBTMonResolutionFctns.cxx +++ /dev/null @@ -1,211 +0,0 @@ -#include "AliHBTMonResolutionFctns.h" -//_______________________________________________________________________________ -///////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTMonPxResolutionFctn; -// class AliHBTMonPyResolutionFctn; -// class AliHBTMonPzResolutionFctn; -// class AliHBTMonPResolutionFctn; -// class AliHBTMonPtResolutionFctn; -// class AliHBTMonPhiResolutionFctn; -// class AliHBTMonThetaResolutionFctn; -// class AliHBTMonPxResolutionVsPtFctn; -// class AliHBTMonPyResolutionVsPtFctn; -// class AliHBTMonPzResolutionVsPtFctn; -// class AliHBTMonPResolutionVsPtFctn; -// class AliHBTMonPtResolutionVsPtFctn; -// class AliHBTMonPhiResolutionVsPtFctn; -// class AliHBTMonThetaResolutionVsPtFctn; -// -// Caution: On 2D plots on X axis in simulated values -// That is contrary to two-particle resolutions where it is reconstructed one -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create resolution functions of particle momentum -// -////////////////////////////////////////////////////////////////////////////////// - -ClassImp(AliHBTMonPxResolutionFctn) - -AliHBTMonPxResolutionFctn:: -AliHBTMonPxResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PxResolution","PxResolution"); -} -/******************************************************************/ - -ClassImp(AliHBTMonPyResolutionFctn) - -AliHBTMonPyResolutionFctn:: -AliHBTMonPyResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PyResolution","PyResolution"); -} -/******************************************************************/ - -ClassImp(AliHBTMonPzResolutionFctn) - -AliHBTMonPzResolutionFctn:: -AliHBTMonPzResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PzResolution","PzResolution"); -} -/******************************************************************/ - -ClassImp(AliHBTMonPResolutionFctn) - -AliHBTMonPResolutionFctn:: -AliHBTMonPResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PResolution","PResolution"); -} -/******************************************************************/ - -ClassImp(AliHBTMonPtResolutionFctn) - -AliHBTMonPtResolutionFctn:: -AliHBTMonPtResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PtResolution","PtResolution"); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonPxResolutionVsPtFctn ) - -AliHBTMonPxResolutionVsPtFctn:: -AliHBTMonPxResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PxResolVsPt","Px resolution vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPyResolutionVsPtFctn ) - -AliHBTMonPyResolutionVsPtFctn:: -AliHBTMonPyResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PyResolVsPt","Py resolution vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPzResolutionVsPtFctn ) - -AliHBTMonPzResolutionVsPtFctn:: -AliHBTMonPzResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PzResolVsPt","Pz resolution vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPResolutionVsPtFctn ) - -AliHBTMonPResolutionVsPtFctn:: -AliHBTMonPResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PResolVsPt","P resolution vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonPtResolutionVsPtFctn ) - -AliHBTMonPtResolutionVsPtFctn:: -AliHBTMonPtResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PtResolVsPt","Pt resolution vs. Pt"); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTMonPhiResolutionFctn) - -AliHBTMonPhiResolutionFctn:: -AliHBTMonPhiResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("PhiResolution","PhiResolution"); -} -/******************************************************************/ -ClassImp(AliHBTMonThetaResolutionFctn) - -AliHBTMonThetaResolutionFctn:: -AliHBTMonThetaResolutionFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval) -{ - //constructor - Rename("ThetaResolution","ThetaResolution"); -} -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonPhiResolutionVsPtFctn ) - -AliHBTMonPhiResolutionVsPtFctn:: -AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PhiResolVsPt","Phi resolution vs. Pt"); -} -/******************************************************************/ -ClassImp( AliHBTMonThetaResolutionVsPtFctn ) - -AliHBTMonThetaResolutionVsPtFctn:: -AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("ThetaResolVsPt","Theta resolution vs. Pt"); -} -/******************************************************************/ - - -ClassImp( AliHBTMonPhiResolutionVsPhiFctn ) - -AliHBTMonPhiResolutionVsPhiFctn:: -AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("PhiResolVsPhi","Phi resolution vs. Phi"); -} -/******************************************************************/ -ClassImp( AliHBTMonThetaResolutionVsThetaFctn ) - -AliHBTMonThetaResolutionVsThetaFctn:: -AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTMonTwoParticleFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //constructor - Rename("ThetaResolVsTheta","Theta resolution vs. Theta"); -} -/******************************************************************/ - - diff --git a/HBTAN/AliHBTMonResolutionFctns.h b/HBTAN/AliHBTMonResolutionFctns.h deleted file mode 100644 index 99fd8d2fc07..00000000000 --- a/HBTAN/AliHBTMonResolutionFctns.h +++ /dev/null @@ -1,286 +0,0 @@ -#ifndef ALIHBTMONRESOLUTIONFCTNS_H -#define ALIHBTMONRESOLUTIONFCTNS_H -//_______________________________________________________________________________ -///////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTMonPxResolutionFctn; -// class AliHBTMonPyResolutionFctn; -// class AliHBTMonPzResolutionFctn; -// class AliHBTMonPResolutionFctn; -// class AliHBTMonPtResolutionFctn; -// class AliHBTMonPhiResolutionFctn; -// class AliHBTMonThetaResolutionFctn; -// class AliHBTMonPxResolutionVsPtFctn; -// class AliHBTMonPyResolutionVsPtFctn; -// class AliHBTMonPzResolutionVsPtFctn; -// class AliHBTMonPResolutionVsPtFctn; -// class AliHBTMonPtResolutionVsPtFctn; -// class AliHBTMonPhiResolutionVsPtFctn; -// class AliHBTMonThetaResolutionVsPtFctn; -// -// Caution: On 2D plots on X axis in simulated values -// That is contrary to two-particle resolutions where it is reconstructed one -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create resolution functions of particle momentum -// -////////////////////////////////////////////////////////////////////////////////// - -class AliHBTMonPxResolutionFctn; -class AliHBTMonPyResolutionFctn; -class AliHBTMonPzResolutionFctn; -class AliHBTMonPResolutionFctn; -class AliHBTMonPtResolutionFctn; -class AliHBTMonPhiResolutionFctn; -class AliHBTMonThetaResolutionFctn; - -class AliHBTMonPxResolutionVsPtFctn; -class AliHBTMonPyResolutionVsPtFctn; -class AliHBTMonPzResolutionVsPtFctn; -class AliHBTMonPResolutionVsPtFctn; -class AliHBTMonPtResolutionVsPtFctn; -class AliHBTMonPhiResolutionVsPtFctn; -class AliHBTMonThetaResolutionVsPtFctn; - - -#include "AliHBTMonitorFunction.h" -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -class AliHBTMonPxResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPxResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPxResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Px()-trackparticle->Px()) ; - } - ClassDef(AliHBTMonPxResolutionFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPyResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPyResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPyResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Py()-trackparticle->Py()) ; - } - ClassDef(AliHBTMonPyResolutionFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPzResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPzResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPzResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Pz()-trackparticle->Pz()) ; - } - ClassDef(AliHBTMonPzResolutionFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->P()-trackparticle->P()) ; - } - ClassDef(AliHBTMonPResolutionFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPtResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPtResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPtResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Pt()-trackparticle->Pt()) ; - } - ClassDef(AliHBTMonPtResolutionFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -class AliHBTMonPxResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPxResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPxResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Px()-trackparticle->Px(); - } - ClassDef(AliHBTMonPxResolutionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPyResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPyResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPyResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Py()-trackparticle->Py(); - } - ClassDef(AliHBTMonPyResolutionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPzResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPzResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPzResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Pz()-trackparticle->Pz(); - } - ClassDef(AliHBTMonPzResolutionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->P()-trackparticle->P(); - } - protected: - private: - ClassDef(AliHBTMonPResolutionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPtResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPtResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPtResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Pt()-trackparticle->Pt(); - } - ClassDef(AliHBTMonPtResolutionVsPtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -class AliHBTMonPhiResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonPhiResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonPhiResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Phi()-trackparticle->Phi()) ; - } - ClassDef(AliHBTMonPhiResolutionFctn,1) - }; -/***********************************************************************/ -class AliHBTMonThetaResolutionFctn: public AliHBTMonTwoParticleFctn1D - { - public: - AliHBTMonThetaResolutionFctn(Int_t nbins = 200, Double_t maxXval = 0.05, Double_t minXval = -0.05); - virtual ~AliHBTMonThetaResolutionFctn(){} - - Double_t GetValue(AliVAODParticle * trackparticle,AliVAODParticle * partparticle) const - { - return (partparticle->Theta()-trackparticle->Theta()) ; - } - ClassDef(AliHBTMonThetaResolutionFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTMonPhiResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPhiResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPhiResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Phi()-trackparticle->Phi(); - } - ClassDef(AliHBTMonPhiResolutionVsPtFctn,1) - }; -/***********************************************************************/ -class AliHBTMonPhiResolutionVsPhiFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonPhiResolutionVsPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonPhiResolutionVsPhiFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Phi(); - y = partparticle->Phi()-trackparticle->Phi(); - } - ClassDef(AliHBTMonPhiResolutionVsPhiFctn,1) - }; -/***********************************************************************/ -class AliHBTMonThetaResolutionVsPtFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonThetaResolutionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonThetaResolutionVsPtFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - x = partparticle->Pt(); - y = partparticle->Theta()-trackparticle->Theta(); - } - ClassDef(AliHBTMonThetaResolutionVsPtFctn,1) - }; - -/***********************************************************************/ -class AliHBTMonThetaResolutionVsThetaFctn: public AliHBTMonTwoParticleFctn2D - { - public: - AliHBTMonThetaResolutionVsThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(), - Int_t nYbins = 200, Double_t maxYval = 0.05, Double_t minYval =-0.05); - virtual ~AliHBTMonThetaResolutionVsThetaFctn(){} - void GetValues(AliVAODParticle* trackparticle, AliVAODParticle* partparticle, Double_t& x, Double_t& y) const - { - y = partparticle->Theta()-trackparticle->Theta(); - x = partparticle->Theta(); - } - ClassDef(AliHBTMonThetaResolutionVsThetaFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ -/***********************************************************************/ - -#endif diff --git a/HBTAN/AliHBTMonSplitting.cxx b/HBTAN/AliHBTMonSplitting.cxx deleted file mode 100644 index f287a14c121..00000000000 --- a/HBTAN/AliHBTMonSplitting.cxx +++ /dev/null @@ -1,57 +0,0 @@ -#include "AliHBTMonSplitting.h" - -ClassImp(AliHBTMonSplittingQosl) - -AliHBTMonSplittingQosl::AliHBTMonSplittingQosl(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - Rename("splitosl","Q_{out}-Q_{side}-Q_{long} Splitting Monitoring Function"); -} - -void AliHBTMonSplittingQosl::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - AliVAODParticle* p1 = partpair->Particle1(); - AliVAODParticle* p2 = partpair->Particle2(); - - if (p1->Px() != p2->Px()) return; - if (p1->Py() != p2->Py()) return; - if (p1->Pz() != p2->Pz()) return; - - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - fNumerator->Fill(out,side,lon);//here we fill in q's corresponding to track pair - //weight calculated for the simulated one -} - -ClassImp(AliHBTMonSplittingDptDthetaDphi) - -AliHBTMonSplittingDptDthetaDphi::AliHBTMonSplittingDptDthetaDphi(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - Rename("splitdpdthedphi","\\Deltap_{t}-\\Delta\\theta-\\Delta\\phi Splitting Monitoring Function"); -} - -void AliHBTMonSplittingDptDthetaDphi::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - AliVAODParticle* p1 = partpair->Particle1(); - AliVAODParticle* p2 = partpair->Particle2(); - - if (p1->Px() != p2->Px()) return; - if (p1->Py() != p2->Py()) return; - if (p1->Pz() != p2->Pz()) return; - - Double_t dpt = trackpair->GetDeltaPt(); - Double_t dphi = trackpair->GetDeltaPhi(); - Double_t dtheta = trackpair->GetDeltaTheta(); - - fNumerator->Fill(dpt, dphi, dtheta);//here we fill in q's corresponding to track pair - //weight calculated for the simulated one -} diff --git a/HBTAN/AliHBTMonSplitting.h b/HBTAN/AliHBTMonSplitting.h deleted file mode 100644 index 1fb19aded92..00000000000 --- a/HBTAN/AliHBTMonSplitting.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef ALIHBTMONSPLITTING_H -#define ALIHBTMONSPLITTING_H - -#include "AliHBTFunction.h" - -class AliHBTMonSplittingQosl: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction -{ -//histograms qout-qside-qlong of splitted tracks - found more than ones - - public: - AliHBTMonSplittingQosl(Int_t nXbins = 50, Double_t maxXval = 0.05, Double_t minXval = -0.05, - Int_t nYbins = 50, Double_t maxYval = 0.05, Double_t minYval = -0.05, - Int_t nZbins = 50, Double_t maxZval = 0.05, Double_t minZval = -0.05 ); - virtual ~AliHBTMonSplittingQosl(){} - - TH1* GetResult() {return fNumerator;} - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/) {} - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, - Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ } - - ClassDef(AliHBTMonSplittingQosl,1) -}; - - -class AliHBTMonSplittingDptDthetaDphi: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction -{ -//histograms qout-qside-qlong of splitted tracks - found more than ones - - public: - AliHBTMonSplittingDptDthetaDphi(Int_t nXbins = 50, Double_t maxXval = 0.05, Double_t minXval = -0.05, - Int_t nYbins = 50, Double_t maxYval = 0.05, Double_t minYval = -0.05, - Int_t nZbins = 50, Double_t maxZval = 0.05, Double_t minZval = -0.05 ); - virtual ~AliHBTMonSplittingDptDthetaDphi(){} - - TH1* GetResult() {return fNumerator;} - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/) {} - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, - Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ } - - ClassDef(AliHBTMonSplittingDptDthetaDphi,1) -}; - - - -#endif diff --git a/HBTAN/AliHBTMonitorFunction.cxx b/HBTAN/AliHBTMonitorFunction.cxx deleted file mode 100644 index 8ec967038d4..00000000000 --- a/HBTAN/AliHBTMonitorFunction.cxx +++ /dev/null @@ -1,427 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -#include "AliLog.h" -#include "AliHBTMonitorFunction.h" - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// -// class AliHBTMonitorFunction -// -// class AliHBTMonOneParticleFctn -// class AliHBTMonTwoParticleFctn -// -// class AliHBTMonOneParticleFctn1D -// class AliHBTMonOneParticleFctn2D -// class AliHBTMonOneParticleFctn3D -// -// class AliHBTMonTwoParticleFctn1D -// class AliHBTMonTwoParticleFctn2D -// class AliHBTMonTwoParticleFctn3D -// -// Base Classes for monitoring functions -// author: chajecki@if.pw.edu.pl -// -/******************************************************************/ -/* -Base classes for monitor functions - - monitor function - / \ - / \ - / \ - / \ - / \ - / \ - / \ - one particle two particle - / | \ / | \ - / | \ / | \ - 1D 2D 3D 1D 2D 3D - -Zbigniew.Chajecki@cern.ch - -*/ -/////////////////////////////////////////////////////////////////////// - - -ClassImp( AliHBTMonitorFunction ) - -AliHBTMonitorFunction::AliHBTMonitorFunction(): - fParticleCut(new AliAODParticleEmptyCut()) -{ - //ctor -} -/******************************************************************/ -AliHBTMonitorFunction::AliHBTMonitorFunction(const char* name,const char* title): - TNamed(name,title), - fParticleCut(new AliAODParticleEmptyCut()) -{ - //ctor -} -/******************************************************************/ -AliHBTMonitorFunction::AliHBTMonitorFunction(const AliHBTMonitorFunction& /*in*/): - TNamed(), - fParticleCut(new AliAODParticleEmptyCut()) -{ - //cpy ctor - // We cannot copy because it is a mess with names (histogram and functions) - MayNotUse("AliHBTMonitorFunction(const AliHBTMonitorFunction&"); -} -/******************************************************************/ -AliHBTMonitorFunction& AliHBTMonitorFunction::operator=(const AliHBTMonitorFunction& /*in*/) -{ - //assigment operator - // We cannot copy because it is a mess with names (histogram and functions) - MayNotUse("operator="); - return *this; -} -/******************************************************************/ - -AliHBTMonitorFunction::~AliHBTMonitorFunction() - { - //dtor - delete fParticleCut; - } -/******************************************************************/ - -Int_t AliHBTMonitorFunction::Write(const char*,Int_t, Int_t) - { - //Writes an function to disk - if (GetResult()) GetResult()->Write(); - return 0; - } -/******************************************************************/ - -void AliHBTMonitorFunction::Init() - { - //Writes an function to disk - AliDebug(1,"Entering"); - - if (GetResult() == 0x0) - { - Warning("Init","Function has NULL result histogram!"); - return; - } - GetResult()->Reset(); - GetResult()->SetDirectory(0x0); - AliDebug(1,"Done"); - } -/******************************************************************/ - -void AliHBTMonitorFunction::SetParticleCut(AliAODParticleCut* cut) -{ -//Sets new Particle Cut. Old one is deleted -//Note that it is created new object instead of simple pointer set -//I do not want to have pointer -//to object created somewhere else -//because in that case I could not believe that -//it would always exist (sb could delete it) -//so we have always own copy - - if(!cut) - { - Error("AliHBTMonitorFunction::SetParticleCut","argument is NULL"); - return; - } - delete fParticleCut; - fParticleCut = (AliAODParticleCut*)cut->Clone(); - -} -/******************************************************************/ - -void AliHBTMonitorFunction::Rename(const Char_t * name) - { - //renames the function and histograms - SetName(name); - SetTitle(name); - - TString numstr = fName + " Result"; //title and name of the - //result histogram - GetResult()->SetName(numstr.Data()); - GetResult()->SetTitle(numstr.Data()); - } -/******************************************************************/ - -void AliHBTMonitorFunction::Rename(const Char_t * name, const Char_t * title) - { - //renames and retitle the function and histograms - - SetName(name); - SetTitle(title); - - TString numstrn = fName + " Result"; //name of the - //result histogram - - TString numstrt = fTitle + " Result"; //title of the - //result histogram - - - GetResult()->SetName(numstrn.Data()); - GetResult()->SetTitle(numstrt.Data()); - - } - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonOneParticleFctn ) //z.ch. -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonTwoParticleFctn ) //z.ch. -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonOneParticleFctn1D ) -AliHBTMonOneParticleFctn1D::AliHBTMonOneParticleFctn1D(): - fResult(0x0) - { - //ctor - } -/******************************************************************/ - -AliHBTMonOneParticleFctn1D::AliHBTMonOneParticleFctn1D(Int_t nbins, Double_t maxXval, Double_t minXval) : - fResult(0) - { - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - fResult = new TH1D(numstr.Data(),numstr.Data(),nbins,minXval,maxXval); - fResult->Sumw2(); - } - -AliHBTMonOneParticleFctn1D::AliHBTMonOneParticleFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins, Double_t maxXval, Double_t minXval) : - AliHBTMonOneParticleFctn(name,title), - fResult(0) - -{ - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH1D(numstr.Data(),numstr.Data(),nbins,minXval,maxXval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); - -} -/******************************************************************/ -AliHBTMonOneParticleFctn1D::~AliHBTMonOneParticleFctn1D() -{ - //dtor - delete fResult; -} -/******************************************************************/ - -void AliHBTMonOneParticleFctn1D::Process(AliVAODParticle* particle) -{ - //Fills the result - particle = CheckParticle(particle); - if(particle) fResult->Fill(GetValue(particle)); -} -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTMonOneParticleFctn2D ) - -AliHBTMonOneParticleFctn2D::AliHBTMonOneParticleFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval , - Int_t nYbins, Double_t maxYval, Double_t minYval) : - fResult(0) -{ - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH2D(numstr.Data(),numstr.Data(), - nXbins,minXval,maxXval, - nYbins,minYval,maxYval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); -} -/******************************************************************/ - -AliHBTMonOneParticleFctn2D::~AliHBTMonOneParticleFctn2D() -{ - //dtor - delete fResult; -} -void AliHBTMonOneParticleFctn2D::Process(AliVAODParticle* particle) -{ - //fills the function for one particle - particle = CheckParticle(particle); - if(particle) - { - Double_t x,y; - GetValues(particle,x,y); - fResult->Fill(x,y); - } -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTMonOneParticleFctn3D) - -AliHBTMonOneParticleFctn3D:: -AliHBTMonOneParticleFctn3D(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval) : - fResult(0) -{ - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH3D(numstr.Data(),numstr.Data(), - nXbins,minXval,maxXval, - nYbins,minYval,maxYval, - nZbins,minZval,maxZval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); - -} -/******************************************************************/ - -AliHBTMonOneParticleFctn3D::~AliHBTMonOneParticleFctn3D() -{ - //dtor - delete fResult; -} -/******************************************************************/ - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonTwoParticleFctn1D) - -AliHBTMonTwoParticleFctn1D:: -AliHBTMonTwoParticleFctn1D(Int_t nbins, Double_t maxval, Double_t minval) : - fResult(0) - { - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH1D(numstr.Data(),numstr.Data(), - nbins,minval,maxval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); - } - -AliHBTMonTwoParticleFctn1D:: -AliHBTMonTwoParticleFctn1D(const Char_t* name, const Char_t* title, - Int_t nbins, Double_t maxval, Double_t minval) - :AliHBTMonTwoParticleFctn(name,title), - fResult(0) - { - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH1D(numstr.Data(),numstr.Data(), - nbins,minval,maxval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); - } - - -/******************************************************************/ -AliHBTMonTwoParticleFctn1D::~AliHBTMonTwoParticleFctn1D() -{ - //dtor - delete fResult; -} -/******************************************************************/ -void AliHBTMonTwoParticleFctn1D:: -Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle) -{ - //fills the function for one particle - partparticle = CheckParticle(partparticle); - trackparticle = CheckParticle(trackparticle); - if( partparticle && trackparticle) - { - Double_t x = GetValue(trackparticle,partparticle); - fResult->Fill(x); - } -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTMonTwoParticleFctn2D) - - -AliHBTMonTwoParticleFctn2D:: -AliHBTMonTwoParticleFctn2D(Int_t nXbins, Double_t maxXval, Double_t minXval , - Int_t nYbins, Double_t maxYval, Double_t minYval) : - fResult(0) -{ - //ctor - TString numstr = fName + " Result"; //title and name of the - //result histogram - - fResult = new TH2D(numstr.Data(),numstr.Data(), - nXbins,minXval,maxXval, - nYbins,minYval,maxYval); - fResult->Sumw2(); - fResult->SetDirectory(0x0); -} -/******************************************************************/ -AliHBTMonTwoParticleFctn2D::~AliHBTMonTwoParticleFctn2D() -{ - //dtor - delete fResult; -} -/******************************************************************/ -void AliHBTMonTwoParticleFctn2D:: -Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle) -{ - //fills the function for one particle - partparticle = CheckParticle(partparticle); - trackparticle = CheckParticle(trackparticle); - if( partparticle && trackparticle) - { - Double_t x,y; - GetValues(trackparticle,partparticle,x,y); - fResult->Fill(x,y); - } -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTMonTwoParticleFctn3D) - -void AliHBTMonTwoParticleFctn3D:: -Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle) -{ - //fills the function for one particle - partparticle = CheckParticle(partparticle); - trackparticle = CheckParticle(trackparticle); - if( partparticle && trackparticle) - { - Double_t x,y,z; - GetValues(trackparticle,partparticle,x,y,z); - fResult->Fill(x,y,z); - } -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - diff --git a/HBTAN/AliHBTMonitorFunction.h b/HBTAN/AliHBTMonitorFunction.h deleted file mode 100644 index 3e86665a6ac..00000000000 --- a/HBTAN/AliHBTMonitorFunction.h +++ /dev/null @@ -1,293 +0,0 @@ -#ifndef ALIHBTMONITORFUNCTION_H -#define ALIHBTMONITORFUNCTION_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// -// class AliHBTMonitorFunction -// -// class AliHBTMonOneParticleFctn -// class AliHBTMonTwoParticleFctn -// -// class AliHBTMonOneParticleFctn1D -// class AliHBTMonOneParticleFctn2D -// class AliHBTMonOneParticleFctn3D -// -// class AliHBTMonTwoParticleFctn1D -// class AliHBTMonTwoParticleFctn2D -// class AliHBTMonTwoParticleFctn3D -// -// Base Classes for monitoring functions -// author: chajecki@if.pw.edu.pl -// -/******************************************************************/ -/* -Base classes for monitor functions - - monitor function - / \ - / \ - / \ - / \ - / \ - / \ - / \ - one particle two particle - / | \ / | \ - / | \ / | \ - 1D 2D 3D 1D 2D 3D - -Zbigniew.Chajecki@cern.ch - -*/ -/////////////////////////////////////////////////////////////////////// - -#include "AliAODParticleCut.h" - -#include -#include -#include - -class AliVAODParticle; - -class AliHBTMonitorFunction: public TNamed -//Abstract base class for HBT functions -{ - public: - AliHBTMonitorFunction(); - AliHBTMonitorFunction(const char* name,const char* title); - AliHBTMonitorFunction(const AliHBTMonitorFunction& /*in*/); - virtual ~AliHBTMonitorFunction(); - - AliHBTMonitorFunction& operator=(const AliHBTMonitorFunction& /*in*/); - - - virtual TH1* GetResult() = 0; - - Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0); - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return TObject::Write(x1,x2,x3);} - virtual void Init(); - virtual const char* Name(){return GetName();} - void Rename(const Char_t * name); - void Rename(const Char_t * name, const Char_t * title); - - void SetParticleCut(AliAODParticleCut* cut); - - virtual AliVAODParticle* CheckParticle(AliVAODParticle* particle) const; - - protected: - AliAODParticleCut* fParticleCut;//Particle cut - - private: - ClassDef(AliHBTMonitorFunction,1) -}; -/******************************************************************/ -/******************************************************************/ -inline AliVAODParticle* AliHBTMonitorFunction::CheckParticle(AliVAODParticle* particle) const -{ - //check if particle meets the cut criteria - if(fParticleCut->Rejected(particle)) //if the particle is BAD - { - return 0x0;//it is BAD as well - so return - } - return particle; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -class AliHBTMonOneParticleFctn: public AliHBTMonitorFunction -{ - public: - AliHBTMonOneParticleFctn(){} - AliHBTMonOneParticleFctn(const Char_t *name, const Char_t *title):AliHBTMonitorFunction(name,title){} - AliHBTMonOneParticleFctn(const AliHBTMonOneParticleFctn& in):AliHBTMonitorFunction(in){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonOneParticleFctn(){} - - AliHBTMonOneParticleFctn& operator=(const AliHBTMonOneParticleFctn& /*in*/){MayNotUse("operator=");return *this;} - - virtual void Process(AliVAODParticle* particle) = 0; - - protected: - private: - ClassDef(AliHBTMonOneParticleFctn,1) - -}; -/******************************************************************/ -class AliHBTMonOneParticleFctn1D: public AliHBTMonOneParticleFctn -{ - public: - AliHBTMonOneParticleFctn1D(); - AliHBTMonOneParticleFctn1D(Int_t nbins, Double_t maxXval, Double_t minXval); - AliHBTMonOneParticleFctn1D(const Char_t *name, const Char_t *title, - Int_t nbins = 100, Double_t maxXval = 1.4, Double_t minXval = 0.0); - AliHBTMonOneParticleFctn1D(const AliHBTMonOneParticleFctn1D& in): - AliHBTMonOneParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - - virtual ~AliHBTMonOneParticleFctn1D(); - - AliHBTMonOneParticleFctn1D& operator=(const AliHBTMonOneParticleFctn1D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - void Process(AliVAODParticle* particle); - - protected: - virtual Double_t GetValue(AliVAODParticle* particle) const = 0; - TH1D* fResult;//histogram to be filled - private: - ClassDef(AliHBTMonOneParticleFctn1D,2) -}; -/******************************************************************/ - -class AliHBTMonOneParticleFctn2D: public AliHBTMonOneParticleFctn -{ - public: - AliHBTMonOneParticleFctn2D(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0, - Int_t nYbins = 200, Double_t maxYval = 1.5, Double_t minYval =-0.1); - AliHBTMonOneParticleFctn2D(const AliHBTMonOneParticleFctn2D& in): - AliHBTMonOneParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonOneParticleFctn2D(); - - AliHBTMonOneParticleFctn2D& operator=(const AliHBTMonOneParticleFctn2D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - void Process(AliVAODParticle* particle); - - protected: - virtual void GetValues(AliVAODParticle* particle, Double_t&, Double_t&) const = 0; - - TH2D* fResult;//histogram to be filled - - private: - ClassDef(AliHBTMonOneParticleFctn2D,1) -}; -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -class AliHBTMonOneParticleFctn3D: public AliHBTMonOneParticleFctn -{ - public: - AliHBTMonOneParticleFctn3D(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0, - Int_t nYbins = 200, Double_t maxYval = .15, Double_t minYval =-0.15, - Int_t nZbins = 200, Double_t maxZval = .15, Double_t minZval =-0.15); - AliHBTMonOneParticleFctn3D(const AliHBTMonOneParticleFctn3D& in): - AliHBTMonOneParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - - virtual ~AliHBTMonOneParticleFctn3D(); - - AliHBTMonOneParticleFctn3D& operator=(const AliHBTMonOneParticleFctn3D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - protected: - TH3D* fResult;//histogram to be filled - - private: - ClassDef(AliHBTMonOneParticleFctn3D,1) -}; -/******************************************************************/ -/******************************************************************/ -class AliHBTMonTwoParticleFctn: public AliHBTMonitorFunction -{ - public: - AliHBTMonTwoParticleFctn(){}; - AliHBTMonTwoParticleFctn(const Char_t *name, const Char_t *title):AliHBTMonitorFunction(name,title){} - AliHBTMonTwoParticleFctn(const AliHBTMonTwoParticleFctn& in):AliHBTMonitorFunction(in){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonTwoParticleFctn(){}; - AliHBTMonTwoParticleFctn& operator=(const AliHBTMonTwoParticleFctn& /*in*/){MayNotUse("operator=");return *this;} - - virtual void - Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle) = 0; - - protected: - private: - ClassDef(AliHBTMonTwoParticleFctn,1) - -}; -/******************************************************************/ - -class AliHBTMonTwoParticleFctn1D: public AliHBTMonTwoParticleFctn -{ - public: - AliHBTMonTwoParticleFctn1D(Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0); - AliHBTMonTwoParticleFctn1D(const char* name,const char* title, - Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0); - AliHBTMonTwoParticleFctn1D(const AliHBTMonTwoParticleFctn1D& in): - AliHBTMonTwoParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonTwoParticleFctn1D(); - - AliHBTMonTwoParticleFctn1D& operator=(const AliHBTMonTwoParticleFctn1D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - void Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle); - - protected: - virtual Double_t GetValue(AliVAODParticle* trackparticle, AliVAODParticle* partparticle) const = 0; - - TH1D* fResult;//histogram to be filled - - private: - ClassDef(AliHBTMonTwoParticleFctn1D,1) -}; -/******************************************************************/ -class AliHBTMonTwoParticleFctn2D: public AliHBTMonTwoParticleFctn -{ - public: - AliHBTMonTwoParticleFctn2D(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0, - Int_t nYbins = 200, Double_t maxYval = .15, Double_t minYval =-0.15); - AliHBTMonTwoParticleFctn2D(const AliHBTMonTwoParticleFctn2D& in): - AliHBTMonTwoParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonTwoParticleFctn2D(); - - AliHBTMonTwoParticleFctn2D& operator=(const AliHBTMonTwoParticleFctn2D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - void Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle); - - protected: - virtual void GetValues(AliVAODParticle*,AliVAODParticle*, Double_t&, Double_t&) const = 0; - - TH2D* fResult;//histogram to be filled - - private: - ClassDef(AliHBTMonTwoParticleFctn2D,1) -}; - - -/******************************************************************/ -class AliHBTMonTwoParticleFctn3D: public AliHBTMonTwoParticleFctn -{ - public: - AliHBTMonTwoParticleFctn3D(Int_t /*nXbins = 200*/, Double_t /*maxXval = 1.5*/, Double_t /*minXval = 0.0*/, - Int_t /*nYbins = 200*/, Double_t /*maxYval = .15*/, Double_t /*minYval =-0.15*/, - Int_t /*nZbins = 200*/, Double_t /*maxZval = .15*/, Double_t /*minZval =-0.15*/) : - fResult(0) {} - AliHBTMonTwoParticleFctn3D(const AliHBTMonTwoParticleFctn3D& in): - AliHBTMonTwoParticleFctn(in),fResult(0x0){MayNotUse("Cpy Ctor");} - virtual ~AliHBTMonTwoParticleFctn3D(){} - - AliHBTMonTwoParticleFctn3D& operator=(const AliHBTMonTwoParticleFctn3D& /*in*/){MayNotUse("operator=");return *this;} - TH1* GetResult(){return this->fResult;} - - void Process(AliVAODParticle* trackparticle, AliVAODParticle* partparticle); - - protected: - virtual void GetValues(AliVAODParticle*,AliVAODParticle*, Double_t&, Double_t&,Double_t&) const = 0; - - TH3D* fResult; //histogram to be filled - - private: - ClassDef(AliHBTMonTwoParticleFctn3D,1) -}; - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -#endif diff --git a/HBTAN/AliHBTPIDPurityFctns.cxx b/HBTAN/AliHBTPIDPurityFctns.cxx deleted file mode 100644 index 6cf6b00f6c0..00000000000 --- a/HBTAN/AliHBTPIDPurityFctns.cxx +++ /dev/null @@ -1,929 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -#include "AliHBTPIDPurityFctns.h" -#include "AliLog.h" - -//_______________________________________________________________________________ -///////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTMonPhiResolutionVsPtFctn; -// class AliHBTMonThetaResolutionVsPtFctn; -// -// file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h -// -// Classes for calculating PID purity, efficiency and other things connected with PID -// xxx -// xxx -// -// added by Piotr.Skowronski@cern.ch -// -////////////////////////////////////////////////////////////////////////////////// - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTMonPIDPurityVsPtFctn) - -AliHBTMonPIDPurityVsPtFctn::AliHBTMonPIDPurityVsPtFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval), - fGood(0x0), - fAll(0x0) -{ - //ctor - Rename("pidpurityvspt","PIDPurityVsPt"); - -} -/******************************************************************/ - -AliHBTMonPIDPurityVsPtFctn::AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn& /*in*/): - AliHBTMonTwoParticleFctn1D(), - AliHBTCorrelFunction(), - fGood(0x0), - fAll(0x0) -{ - //cpy constructor - Error("AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn&", - "Functions can not be copied because of histogram names clashes"); -} - -/******************************************************************/ - -AliHBTMonPIDPurityVsPtFctn::~AliHBTMonPIDPurityVsPtFctn() -{ - //dtor - delete fGood; - delete fAll; -} -/******************************************************************/ - -AliHBTMonPIDPurityVsPtFctn& AliHBTMonPIDPurityVsPtFctn::operator= - (const AliHBTMonPIDPurityVsPtFctn& /*in*/) -{ -//assigment operator - Error("operator=","Functions can not be copied because of histogram names clashes"); - return *this; -} -/******************************************************************/ - -Int_t AliHBTMonPIDPurityVsPtFctn::Write(const char*,Int_t, Int_t) -{ -//Writes a fucntion results - AliHBTMonitorFunction::Write(); - fGood->Write(); - fAll->Write(); - return 0; -} -/******************************************************************/ - -void AliHBTMonPIDPurityVsPtFctn::Init() -{ -//Initializes fuction - AliDebug(1,"Entering"); - - if (fResult == 0x0) - { - AliWarning("Function has NULL result histogram!"); - return; - } - - if (fGood == 0x0) - { - TString numstr = fName + " Good"; //title and name of the - //result histogram - TAxis* xax = fResult->GetXaxis(); - fGood = new TH1D(numstr,numstr,xax->GetNbins(),xax->GetXmin(),xax->GetXmax()); - } - - if (fAll == 0x0) - { - TString numstr = fName + " All"; //title and name of the - //result histogram - TAxis* xax = fResult->GetXaxis(); - fAll = new TH1D(numstr,numstr,xax->GetNbins(),xax->GetXmin(),xax->GetXmax()); - } - - fResult->Reset(); - fResult->SetDirectory(0x0); - fResult->Sumw2(); - fGood->Reset(); - fGood->SetDirectory(0x0); - fGood->Sumw2(); - fAll->Reset(); - fAll->SetDirectory(0x0); - fAll->Sumw2(); - - AliDebug(1,"Done"); -} - -/******************************************************************/ - -void AliHBTMonPIDPurityVsPtFctn::Rename(const Char_t * name) -{ - //Rename fuctions and all histograms belonging to it - SetName(name); - SetTitle(name); - - if (fResult) - { - TString numstr = fName + " Result"; //title and name of the result histogram - fResult->SetName(numstr); - fResult->SetTitle(numstr); - } - - if (fGood) - { - TString numstr = fName + " Good"; - fGood->SetName(numstr); - fGood->SetTitle(numstr); - } - - if (fAll) - { - TString numstr = fName + " All"; - fAll->SetName(numstr); - fAll->SetTitle(numstr); - } -} -/******************************************************************/ - -void AliHBTMonPIDPurityVsPtFctn::Rename(const Char_t * name, const Char_t * title) -{ - //renames and retitle the function and histograms - - SetName(name); - SetTitle(title); - - if (fResult) - { - TString numstrn = fName + " Result"; //name of the result histogram - TString numstrt = fTitle + " Result"; //title of the result histogram - fResult->SetName(numstrn); - fResult->SetTitle(numstrt); - } - if (fGood) - { - TString numstrn = fName + " Good"; //name of the Good histogram - TString numstrt = fTitle + " Good"; //title of the Good histogram - fGood->SetName(numstrn); - fGood->SetTitle(numstrt); - } - - if (fAll) - { - TString numstrn = fName + " All"; //name of the All histogram - TString numstrt = fTitle + " All"; //title of the All histogram - fAll->SetName(numstrn); - fAll->SetTitle(numstrt); - } - -} -/******************************************************************/ - -TH1* AliHBTMonPIDPurityVsPtFctn::GetResult() -{ - //Returns the result of the fuction - //that is histogram with effciency and contamination - - fResult->Divide(fGood,fAll); - return fResult; -} -/******************************************************************/ - -void AliHBTMonPIDPurityVsPtFctn::Process(AliVAODParticle * track,AliVAODParticle * part) -{ - //process the particle/track - Double_t pt = part->Pt(); - fAll->Fill(pt); - if (track->GetPdgCode() == part->GetPdgCode()) - { - fGood->Fill(pt); - } -// else -// { -// Info("Process","Catched pid impurity ..."); -// } -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTMonPIDContaminationVsPtFctn) - -AliHBTMonPIDContaminationVsPtFctn::AliHBTMonPIDContaminationVsPtFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTMonTwoParticleFctn1D(nbins,maxXval,minXval), - fWrong(0x0), - fAll(0x0) -{ - //ctor - Rename("pidcontaminationvspt","PIDContaminationVsPt"); -} -/******************************************************************/ - -AliHBTMonPIDContaminationVsPtFctn::AliHBTMonPIDContaminationVsPtFctn - (const AliHBTMonPIDContaminationVsPtFctn& /*in*/): - AliHBTMonTwoParticleFctn1D(), - AliHBTCorrelFunction(), - fWrong(0x0), - fAll(0x0) -{ - //cpy constructor - Error("AliHBTMonPIDContaminationVsPtFctn(const AliHBTMonPIDContaminationVsPtFctn&", - "Functions can not be copied because of histogram names clashes"); -} - -/******************************************************************/ - -AliHBTMonPIDContaminationVsPtFctn::~AliHBTMonPIDContaminationVsPtFctn() -{ - //dtor - delete fWrong; - delete fAll; -} -/******************************************************************/ - -AliHBTMonPIDContaminationVsPtFctn& AliHBTMonPIDContaminationVsPtFctn::operator= - (const AliHBTMonPIDContaminationVsPtFctn& /*in*/) -{ -//assigment operator - Error("operator=","Functions can not be copied because of histogram names clashes"); - return *this; -} -/******************************************************************/ - -Int_t AliHBTMonPIDContaminationVsPtFctn::Write(const char*,Int_t, Int_t) -{ - //Writes the function results - AliHBTMonitorFunction::Write(); - fWrong->Write(); - fAll->Write(); - return 0; -} -/******************************************************************/ - -void AliHBTMonPIDContaminationVsPtFctn::Init() -{ -//Initializes fuction - AliDebug(1,"Entering"); - - if (fResult == 0x0) - { - AliWarning("Function has NULL result histogram!"); - return; - } - - if (fWrong == 0x0) - { - TString numstr = fName + " Wrong"; //title and name of the - //result histogram - TAxis* xax = fResult->GetXaxis(); - fWrong = new TH1D(numstr,numstr,xax->GetNbins(),xax->GetXmin(),xax->GetXmax()); - } - - if (fAll == 0x0) - { - TString numstr = fName + " All"; //title and name of the - //result histogram - TAxis* xax = fResult->GetXaxis(); - fAll = new TH1D(numstr,numstr,xax->GetNbins(),xax->GetXmin(),xax->GetXmax()); - } - fResult->Reset(); - fResult->SetDirectory(0x0); - fResult->Sumw2(); - fWrong->Reset(); - fWrong->SetDirectory(0x0); - fWrong->Sumw2(); - fAll->Reset(); - fAll->SetDirectory(0x0); - fAll->Sumw2(); - - AliDebug(1,"Done"); -} - -/******************************************************************/ - -void AliHBTMonPIDContaminationVsPtFctn::Rename(const Char_t * name) -{ - //Rename fuctions and all histograms belonging to it - SetName(name); - SetTitle(name); - - if (fResult) - { - TString numstr = fName + " Result"; //title and name of the result histogram - fResult->SetName(numstr); - fResult->SetTitle(numstr); - } - if (fWrong) - { - TString numstr = fName + " Wrong"; - fWrong->SetName(numstr); - fWrong->SetTitle(numstr); - } - - if (fAll) - { - TString numstrn = fName + " All"; //name of the All histogram - TString numstrt = fTitle + " All"; //title of the All histogram - fAll->SetName(numstrn); - fAll->SetTitle(numstrt); - } -} -/******************************************************************/ - -void AliHBTMonPIDContaminationVsPtFctn::Rename(const Char_t * name, const Char_t * title) -{ - //renames and retitle the function and histograms - - SetName(name); - SetTitle(title); - - if (fResult) - { - TString numstrn = fName + " Result"; //name of the result histogram - TString numstrt = fTitle + " Result"; //title of the result histogram - fResult->SetName(numstrn); - fResult->SetTitle(numstrt); - } - if (fWrong) - { - TString numstrn = fName + " Wrong"; //name of the Wrong histogram - TString numstrt = fTitle + " Wrong"; //title of the Wrong histogram - fWrong->SetName(numstrn); - fWrong->SetTitle(numstrt); - } - - if (fAll) - { - TString numstr = fName + " All"; - fAll->SetName(numstr); - fAll->SetTitle(numstr); - } - -} -/******************************************************************/ - -TH1* AliHBTMonPIDContaminationVsPtFctn::GetResult() -{ - //Returns the result of the fuction - //that is histogram with effciency and contamination - - fResult->Divide(fWrong,fAll); - return fResult; -} -/******************************************************************/ - -void AliHBTMonPIDContaminationVsPtFctn::Process(AliVAODParticle * track, AliVAODParticle * part) -{ - //process the particle/track - Double_t pt = part->Pt(); - fAll->Fill(pt); - - if (track->GetPdgCode() != part->GetPdgCode()) - { -// Info("Process","Catched contamination"); -// track->Print();part->Print(); - fWrong->Fill(pt); - } -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTQInvCorrelFctnPerfectPID) - -AliHBTQInvCorrelFctnPerfectPID::AliHBTQInvCorrelFctnPerfectPID(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qinvcfprfctpid","Q_{inv} Correlation Function Perfect PID"); -} -/*************************************************************/ - -void AliHBTQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - fNumerator->Fill(trackpair->GetQInv()); -} - -/*************************************************************/ -void AliHBTQInvCorrelFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - fDenominator->Fill(trackpair->GetQInv()); -} -/*************************************************************/ - -TH1* AliHBTQInvCorrelFctnPerfectPID::GetResult() -{ - //returns the scaled ratio - - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTWeightQInvCorrelFctnPerfectPID) - -AliHBTWeightQInvCorrelFctnPerfectPID::AliHBTWeightQInvCorrelFctnPerfectPID(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqinvcfprfctpid","Q_{inv} Weight Correlation Function Perfect PID"); -} -/*************************************************************/ - -void AliHBTWeightQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - fNumerator->Fill(trackpair->GetQInv(),partpair->GetWeight()); -} - -/*************************************************************/ -void AliHBTWeightQInvCorrelFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - fDenominator->Fill(trackpair->GetQInv()); -} -/*************************************************************/ - -TH1* AliHBTWeightQInvCorrelFctnPerfectPID::GetResult() -{ - //returns the scaled ratio - - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTWeightQOutSQideQLongFctnPerfectPID) - -AliHBTWeightQOutSQideQLongFctnPerfectPID::AliHBTWeightQOutSQideQLongFctnPerfectPID - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqoslprfctpid","Q_{out}-Q_{side}-Q_{long} Weight Fctn with perfect PID"); -} -/*************************************************************/ - -void AliHBTWeightQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - - Double_t weight = partpair->GetWeight(); - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - fNumerator->Fill(out,side,lon,weight); -} -/*************************************************************/ - -void AliHBTWeightQOutSQideQLongFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - fDenominator->Fill(out,side,lon); -} -/******************************************************************/ - -TH1* AliHBTWeightQOutSQideQLongFctnPerfectPID::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTQOutSQideQLongFctnPerfectPID) - -AliHBTQOutSQideQLongFctnPerfectPID::AliHBTQOutSQideQLongFctnPerfectPID - (Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoslprfctpid","Q_{out}-Q_{side}-Q_{long} Fctn with perfect PID"); -} -/*************************************************************/ - -void AliHBTQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - fNumerator->Fill(out,side,lon); -} -/*************************************************************/ - -void AliHBTQOutSQideQLongFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - fDenominator->Fill(out,side,lon); -} -/******************************************************************/ - -TH1* AliHBTQOutSQideQLongFctnPerfectPID::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - - - -ClassImp(AliHBTPairPIDProbVsQInvFctn) - -AliHBTPairPIDProbVsQInvFctn::AliHBTPairPIDProbVsQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qinvpidpur","Q_{inv} Function"); -} -/******************************************************************/ - -TH1* AliHBTPairPIDProbVsQInvFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/******************************************************************/ - -void AliHBTPairPIDProbVsQInvFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ - //Fills the numerator using pair from the same event - pair = CheckPair(pair); - if(pair) fNumerator->Fill(pair->GetQInv(),pair->GetPIDProb()); -} -/******************************************************************/ - -void AliHBTPairPIDProbVsQInvFctn::ProcessDiffEventParticles(AliHBTPair* pair) - { - //Fills the denumerator using mixed pairs - pair = CheckPair(pair); - if(pair) fDenominator->Fill(pair->GetQInv(),pair->GetPIDProb()); - } - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTPairPIDProbVsQOutSQideQLongFctn) - -AliHBTPairPIDProbVsQOutSQideQLongFctn::AliHBTPairPIDProbVsQOutSQideQLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("qoslpidpur","Pair PID Probablilty .vs. Q_{out}-Q_{side}-Q_{long} Fctn"); -} -/*************************************************************/ - -void AliHBTPairPIDProbVsQOutSQideQLongFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ -//Fills numerator - pair = CheckPair(pair); - if (pair == 0x0) return; - Double_t weight = pair->GetPIDProb(); - Double_t out = pair->GetQOutLCMS(); - Double_t side = pair->GetQSideLCMS(); - Double_t lon = pair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - - fNumerator->Fill(out,side,lon,weight); -} -/*************************************************************/ - -void AliHBTPairPIDProbVsQOutSQideQLongFctn::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//Fills numerator - pair = CheckPair(pair); - if (pair == 0x0) return; - Double_t weight = pair->GetPIDProb(); - Double_t out = pair->GetQOutLCMS(); - Double_t side = pair->GetQSideLCMS(); - Double_t lon = pair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - - fDenominator->Fill(out,side,lon,weight); -} -/*************************************************************/ - -TH1* AliHBTPairPIDProbVsQOutSQideQLongFctn::GetResult() -{ - //returns the scaled ratio - - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID) - -AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ -//ctor -//Set Axis Title - fWriteNumAndDen = kTRUE; - Rename("tteffptthetaphipfctPID","P_{t} \\theta \\phi Two Track Efficiency Function"); - if(fNumerator) - { - fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fNumerator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fNumerator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - - if(fDenominator) - { - fDenominator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fDenominator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fDenominator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } -} -/******************************************************************/ - -void AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - Double_t x = TMath::Abs(trackpair->GetDeltaPt()); - Double_t y = TMath::Abs(trackpair->GetDeltaTheta()); - Double_t z = TMath::Abs(trackpair->GetDeltaPhi()); - fNumerator->Fill(x,y,z); -} -/******************************************************************/ - -void AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return; - if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return; - - trackpair = CheckPair(trackpair); - if (trackpair == 0x0) return; -// partpair = CheckPair(partpair); - if (partpair == 0x0) return; - - Double_t x = TMath::Abs(trackpair->GetDeltaPt()); - Double_t y = TMath::Abs(trackpair->GetDeltaTheta()); - Double_t z = TMath::Abs(trackpair->GetDeltaPhi()); - fDenominator->Fill(x,y,z); -} -/******************************************************************/ - -TH1* AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::GetResult() -{ -//returns ratio of numerator and denominator - delete fRatio; - fRatio = GetRatio(Scale()); - if(fRatio) - { - fRatio->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fRatio->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fRatio->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - return fRatio; -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTPairPIDProbVsPtThetaPhiFctn) - -AliHBTPairPIDProbVsPtThetaPhiFctn::AliHBTPairPIDProbVsPtThetaPhiFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("ptthetaphipidpur","Pair PID Probablilty .vs. \\Delta P_{t}-\\Delta \\theta-\\Delta \\phi Fctn"); - if(fNumerator) - { - fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fNumerator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fNumerator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - - if(fDenominator) - { - fDenominator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fDenominator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fDenominator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - -} -/*************************************************************/ - -void AliHBTPairPIDProbVsPtThetaPhiFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ -//Fills numerator - pair = CheckPair(pair); - if (pair == 0x0) return; - Double_t weight = pair->GetPIDProb(); - Double_t pt = TMath::Abs(pair->GetDeltaPt()); - Double_t theta = TMath::Abs(pair->GetDeltaTheta()); - Double_t phi = TMath::Abs(pair->GetDeltaPhi()); - fNumerator->Fill(pt,theta,phi,weight); -} -/*************************************************************/ - -void AliHBTPairPIDProbVsPtThetaPhiFctn::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//Fills numerator - pair = CheckPair(pair); - if (pair == 0x0) return; - Double_t weight = pair->GetPIDProb(); - Double_t pt = TMath::Abs(pair->GetDeltaPt()); - Double_t phi = TMath::Abs(pair->GetDeltaTheta()); - Double_t theta = TMath::Abs(pair->GetDeltaPhi()); - fDenominator->Fill(pt,theta,phi,weight); -} -/*************************************************************/ - -TH1* AliHBTPairPIDProbVsPtThetaPhiFctn::GetResult() -{ - //returns the scaled ratio - - delete fRatio; - fRatio = GetRatio(Scale()); - if(fRatio) - { - fRatio->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fRatio->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fRatio->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - return fRatio; -} - diff --git a/HBTAN/AliHBTPIDPurityFctns.h b/HBTAN/AliHBTPIDPurityFctns.h deleted file mode 100644 index ac52404f9e8..00000000000 --- a/HBTAN/AliHBTPIDPurityFctns.h +++ /dev/null @@ -1,229 +0,0 @@ -#ifndef ALIHBTPIDPURITYFCTNS_H -#define ALIHBTPIDPURITYFCTNS_H -//_______________________________________________________________________________ -///////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTMonPIDPurityVsPtFctn; -// class AliHBTMonThetaResolutionVsPtFctn; -// -// file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h -// -// Classes for calculating PID purity, efficiency and other things connected with PID -// xxxxxxxxxx -// xxxxxxxxxx -// xxxxxxxxxx -// xxxxxxxxxx -// xxxxxxxxxx -// -// added by Piotr.Skowronski@cern.ch -// -////////////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" -#include "AliHBTMonitorFunction.h" - -class AliHBTMonPIDPurityVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTMonPIDPurityVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0); - AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn& /*in*/); - virtual ~AliHBTMonPIDPurityVsPtFctn(); - - AliHBTMonPIDPurityVsPtFctn& operator=(const AliHBTMonPIDPurityVsPtFctn& /*in*/); - - void Init(); - Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0); - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTMonTwoParticleFctn1D::Write(x1,x2,x3);} - void Rename(const Char_t * name); - void Rename(const Char_t * name, const Char_t * title); - TH1* GetResult(); - Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; } - void Process(AliVAODParticle * track,AliVAODParticle * part); - protected: - TH1D* fGood;//histogram filled with correctly identified particles - TH1D* fAll;//histogram filled with all particles - ClassDef(AliHBTMonPIDPurityVsPtFctn,1) -}; -/***********************************************************************/ - -class AliHBTMonPIDContaminationVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTMonPIDContaminationVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0); - AliHBTMonPIDContaminationVsPtFctn(const AliHBTMonPIDContaminationVsPtFctn& /*in*/); - virtual ~AliHBTMonPIDContaminationVsPtFctn(); - - AliHBTMonPIDContaminationVsPtFctn& operator=(const AliHBTMonPIDContaminationVsPtFctn& /*in*/); - - void Init(); - Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0); - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTMonTwoParticleFctn1D::Write(x1,x2,x3);} - void Rename(const Char_t * name); - void Rename(const Char_t * name, const Char_t * title); - TH1* GetResult(); - Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; } - void Process(AliVAODParticle * track,AliVAODParticle * part); - protected: - TH1D* fWrong;//histogram filled with wrongly identified particles - TH1D* fAll;//histogram filled with all particles - ClassDef(AliHBTMonPIDContaminationVsPtFctn,1) -}; -/*************************************************************************************/ - -class AliHBTQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ -//Q Invaraint Correlation Function -//1D two particle function -//Fills the function only for correctly reconstructed PID -//Together with - public: - AliHBTQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTQInvCorrelFctnPerfectPID(){}; - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();} - private: - ClassDef(AliHBTQInvCorrelFctnPerfectPID,1) -}; - -/*************************************************************************************/ - -class AliHBTWeightQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ -//Weight Q Invaraint Correlation Function -//1D two particle function -//Fills the function only for correctly reconstructed PID -//Together with regular - public: - AliHBTWeightQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightQInvCorrelFctnPerfectPID(){}; - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();} - private: - ClassDef(AliHBTWeightQInvCorrelFctnPerfectPID,1) -}; -/*************************************************************************************/ -class AliHBTWeightQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTWeightQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTWeightQOutSQideQLongFctnPerfectPID(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} - - ClassDef(AliHBTWeightQOutSQideQLongFctnPerfectPID,1) -}; - -/*************************************************************************************/ -class AliHBTQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTQOutSQideQLongFctnPerfectPID(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} - - ClassDef(AliHBTQOutSQideQLongFctnPerfectPID,1) -}; - - -/*************************************************************************************/ - -class AliHBTPairPIDProbVsQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ -//Q Invaraint Correlation Function -//1D two particle function - public: - AliHBTPairPIDProbVsQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTPairPIDProbVsQInvFctn(){}; - void ProcessSameEventParticles(AliHBTPair* pair); - void ProcessDiffEventParticles(AliHBTPair* pair); - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();} - private: - ClassDef(AliHBTPairPIDProbVsQInvFctn,1) -}; -/*************************************************************************************/ - -class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTPairPIDProbVsQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTPairPIDProbVsQOutSQideQLongFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* part); - void ProcessDiffEventParticles(AliHBTPair* pair); - - protected: - void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} - - ClassDef(AliHBTPairPIDProbVsQOutSQideQLongFctn,1) -}; -/******************************************************************/ - -class AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction - { - public: - AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0, - Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0, - Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0); - virtual ~AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(){} - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - TH1* GetResult(); - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} - private: - ClassDef(AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID,1) - }; -/*************************************************************************************/ - -class AliHBTPairPIDProbVsPtThetaPhiFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTPairPIDProbVsPtThetaPhiFctn(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0, - Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0, - Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0); - virtual ~AliHBTPairPIDProbVsPtThetaPhiFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* part); - void ProcessDiffEventParticles(AliHBTPair* pair); - - protected: - void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {} - - ClassDef(AliHBTPairPIDProbVsPtThetaPhiFctn,1) -}; - - - -#endif diff --git a/HBTAN/AliHBTPair.cxx b/HBTAN/AliHBTPair.cxx deleted file mode 100644 index 9ba86ca5082..00000000000 --- a/HBTAN/AliHBTPair.cxx +++ /dev/null @@ -1,66 +0,0 @@ -#include "AliHBTPair.h" -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliHBTPair -// -// class implements pair of particles and taking care of caluclation (almost) -// all of pair properties (Qinv, InvMass,...) -// -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// - -#include "AliVAODParticle.h" -#include "AliHBTWeights.h" - -ClassImp(AliHBTPair) - -/************************************************************************/ -AliHBTPair::AliHBTPair(Bool_t rev): - AliAODPair(rev), - fWeight(0.0), - fWeightNotCalc(kTRUE) - { -//Constructor - - } -/************************************************************************/ - -AliHBTPair::AliHBTPair(AliVAODParticle* part1, AliVAODParticle* part2, Bool_t rev): - AliAODPair(part1,part2,rev), - fWeight(0.0), - fWeightNotCalc(kTRUE) - { -//constructor - - } -/************************************************************************/ -AliHBTPair::AliHBTPair(const AliHBTPair& in): - AliAODPair(in), - fWeight(in.fWeight), - fWeightNotCalc(in.fWeightNotCalc) -{ - //cpy constructor -} -/************************************************************************/ - -AliHBTPair& AliHBTPair::operator=(const AliHBTPair& in) -{ - //Assigment operator - in.Copy(*this); - return *this; -} -/************************************************************************/ - -Double_t AliHBTPair::GetWeight() -{ - //returns and buffers weight for this pair - if (fWeightNotCalc) - { - fWeight = AliHBTWeights::Weight(this); - fWeightNotCalc = kFALSE; - } - return fWeight; -} -/************************************************************************/ diff --git a/HBTAN/AliHBTPair.h b/HBTAN/AliHBTPair.h deleted file mode 100644 index 5961da77c0d..00000000000 --- a/HBTAN/AliHBTPair.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef ALIHBTPAIR_H -#define ALIHBTPAIR_H -//_________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////// -// -// class AliHBTPair -// -// class implements pair of particles and taking care of caluclation (almost) -// all of pair properties (Qinv, InvMass,...) -// more info: http://aliweb.cern.ch/people/skowron/analyzer/index.html -// -//////////////////////////////////////////////////////////////////////////// - -#include - -class AliVAODParticle; - -class AliHBTPair: public AliAODPair -{ - public: - AliHBTPair(Bool_t rev = kFALSE); //contructor - AliHBTPair(AliVAODParticle* part1, AliVAODParticle* part2, Bool_t rev = kFALSE); //contructor - AliHBTPair(const AliHBTPair& in); - - virtual ~AliHBTPair(){} - - AliHBTPair& operator=(const AliHBTPair& in); - - void Changed(); - Double_t GetWeight(); - - protected: - - Double_t fWeight;//Value of the weight - Bool_t fWeightNotCalc;//flag indicating if fWeight is calculated for current pair - - private: - ClassDef(AliHBTPair,2) -}; - -inline -void AliHBTPair::Changed() -{ - // Resel all calculations (flags) - - AliAODPair::Changed(); - fWeightNotCalc = kTRUE; -} -#endif diff --git a/HBTAN/AliHBTPositionRandomizer.cxx b/HBTAN/AliHBTPositionRandomizer.cxx deleted file mode 100644 index ecf28895675..00000000000 --- a/HBTAN/AliHBTPositionRandomizer.cxx +++ /dev/null @@ -1,374 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//___________________________________________________ -//////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTPositionRandomizer -// -// These class randomizes particle vertex positions -// Piotr.Skowronski@cern.ch -// -//////////////////////////////////////////////////////////////////////////////// - -#include -#include - -#include "AliAOD.h" -#include "AliHBTPositionRandomizer.h" -#include "AliLog.h" -#include "AliVAODParticle.h" - - -ClassImp(AliHBTPositionRandomizer) - -const Int_t AliHBTPositionRandomizer::fgkNumberOfPids = 10; - -/*********************************************************************/ - -AliHBTPositionRandomizer::AliHBTPositionRandomizer(): - fReader(0x0), - fDefaultRandomizer(0x0), - fRandomizers(0x0), - fNPid(0), - fPids(0x0), - fAddToExistingPos(kFALSE), - fOnlyParticlesFromVertex(kFALSE), - fRandomizeTracks(kFALSE), - fVX(0.0), - fVY(0.0), - fVZ(0.0) -{ -//constructor -} -/*********************************************************************/ - -AliHBTPositionRandomizer::AliHBTPositionRandomizer(AliReader* reader): - fReader(reader), - fDefaultRandomizer(0x0), - fRandomizers(new TObjArray(fgkNumberOfPids)), - fNPid(1), - fPids(new Int_t[fgkNumberOfPids]), - fAddToExistingPos(kFALSE), - fOnlyParticlesFromVertex(kFALSE), - fRandomizeTracks(kFALSE), - fVX(0.0), - fVY(0.0), - fVZ(0.0) -{ -//constructor - fRandomizers->AddAt(new AliHBTRndmGaussBall(8.0,0.0,0.0),0); -} -/*********************************************************************/ - -AliHBTPositionRandomizer::AliHBTPositionRandomizer(const AliHBTPositionRandomizer& in): - AliReader(in), - fReader(), - fDefaultRandomizer(0x0), - fRandomizers(0x0), - fNPid(0), - fPids(0x0), - fAddToExistingPos(kFALSE), - fOnlyParticlesFromVertex(kFALSE), - fRandomizeTracks(kFALSE), - fVX(0.0), - fVY(0.0), - fVZ(0.0) -{ - //cpy constructor - in.Copy(*this); -} -/*********************************************************************/ -AliHBTPositionRandomizer::~AliHBTPositionRandomizer() -{ - //dtor - delete fReader; - delete fRandomizers; - delete [] fPids; -} -/*********************************************************************/ -AliHBTPositionRandomizer& AliHBTPositionRandomizer::operator=(const AliHBTPositionRandomizer& in) -{ - //assigment operator - in.Copy(*this); - return *this; -} -/*********************************************************************/ - -AliAOD* AliHBTPositionRandomizer::GetEventSim() const -{ - // gets from fReader and randomizes current particle event - if (fReader == 0x0) - { - Error("GetEventSim","Reader is null"); - return 0x0; - } - AliAOD *e = fReader->GetEventSim(); - if (e) - if (e->IsRandomized() == kFALSE) - Randomize(e); - return e; -} -/*********************************************************************/ - -AliAOD* AliHBTPositionRandomizer::GetEventRec() const -{ - // gets from fReader and randomizes current track event - if (fReader == 0x0) - { - Error("GetEventRec","Reader is null"); - return 0x0; - } - AliAOD *e = fReader->GetEventRec(); - if (fRandomizeTracks && e) if (e->IsRandomized() == kFALSE) Randomize(e); - return e; -} -/*********************************************************************/ - -AliAOD* AliHBTPositionRandomizer::GetEventSim(Int_t n) -{ -//returns event n - if (fReader == 0x0) return 0x0; - AliAOD *e = fReader->GetEventSim(n); - if (e->IsRandomized() == kFALSE) Randomize(e); - return e; -} - -/*********************************************************************/ -void AliHBTPositionRandomizer::Randomize(AliAOD* event) const -{ -// randomizes postions of all particles in the event - static const Double_t kfmtocm = 1.e-13; - AliDebug(5," "); - if (event == 0x0) return; - - for (Int_t i = 0; i < event->GetNumberOfParticles(); i++) - { - AliVAODParticle* p = event->GetParticle(i); - Double_t x,y,z,t=0.0; - AliHBTRndm* r = GetRandomizer(p->GetPdgCode()); - r->Randomize(x,y,z,t,p); - - Double_t nx = x*kfmtocm; - Double_t ny = y*kfmtocm; - Double_t nz = z*kfmtocm; - Double_t nt = t*kfmtocm; - - if (fAddToExistingPos) - { - nx += p->Vx(); - ny += p->Vy(); - nz += p->Vz(); - nt += p->T(); - } - p->SetProductionVertex(nx,ny,nz,nt); - } - event->SetRandomized(); -} -/*********************************************************************/ - -AliHBTRndm* AliHBTPositionRandomizer::GetRandomizer(Int_t pdg) const -{ - //returns randomizer for a given pdg - Int_t idx = GetRandomizerIndex(pdg);//in most of cases - if (idx < 0) idx = 0;//if not found return a default one - return (AliHBTRndm*)fRandomizers->At(idx); -} -/*********************************************************************/ -Int_t AliHBTPositionRandomizer::GetRandomizerIndex(Int_t pdg) const -{ - //returns randomizer index for a given pdg - - if (pdg == 0) return 0; - - for (Int_t i=1; i < fNPid; i++) - { - if (fPids[i] == pdg) - return i; - } - - return -1; -} -/*********************************************************************/ - -void AliHBTPositionRandomizer::SetRandomizer(Int_t pid, AliHBTRndm* rndm) -{ - //sets the randomizer for a given particle type - if (rndm == 0x0) - { - Error("SetRandomizer","Randomizer is null"); - return; - } - - Int_t idx = GetRandomizerIndex(pid); - if (idx >= 0) - { - delete fRandomizers->At(idx); - fRandomizers->AddAt(rndm,idx); - } - - if (fNPid == fgkNumberOfPids) - { - Error("SetRandomizer","There is no more space in the array"); - return; - } - - fPids[fNPid] = pid; - fRandomizers->AddAt(rndm,fNPid); - fNPid++; -} -/*********************************************************************/ - -void AliHBTPositionRandomizer::SetGaussianBall(Int_t pid, Double_t r, Double_t meantime, Double_t sigmatime) -{ - //Sets Gaussian Ball Model - SetGaussianBall(pid,r,r,r,meantime,sigmatime); -} -/*********************************************************************/ - -void AliHBTPositionRandomizer::SetGaussianBall(Int_t pid, Double_t rx, Double_t ry, Double_t rz, Double_t meantime, Double_t sigmatime) -{ - //Sets Gaussian Ball Model - AliHBTRndm* rndm = new AliHBTRndmGaussBall(rx,ry,rz,meantime,sigmatime); - SetRandomizer(pid,rndm); -} -/*********************************************************************/ - -void AliHBTPositionRandomizer::SetCyllinderSurface(Int_t pid, Double_t r, Double_t l) -{ - //Sets Cylinder Surface Model - AliHBTRndm* rndm = new AliHBTRndmCyllSurf(r,l); - SetRandomizer(pid,rndm); -} -/*********************************************************************/ - -void AliHBTPositionRandomizer::SetEventVertex(Double_t x, Double_t y,Double_t z) -{ -//sets event vertex position - fVX = x; - fVY = y; - fVZ = z; -} - - -void AliHBTPositionRandomizer::SetEllipse(Int_t pid, Double_t rx, Double_t ryz) -{ -//sets the ellipse randomization for the given pid - AliHBTRndm* rndm = new AliHBTRndmEllipse(rx,ryz); - SetRandomizer(pid,rndm); -} - -/*********************************************************************/ -//_____________________________________________________________________ -/////////////////////////////////////////////////////////////////////// -// // -// class AliHBTRndmGaussBall // -// // -/////////////////////////////////////////////////////////////////////// - -AliHBTRndmGaussBall::AliHBTRndmGaussBall(): - fRx(0.0), - fRy(0.0), - fRz(0.0), - fTmean(0.0), - fTsigma(0.0) -{ - //constructor -} -/*********************************************************************/ - -AliHBTRndmGaussBall::AliHBTRndmGaussBall(Float_t r, Double_t meantime, Double_t sigmatime): - fRx(r), - fRy(r), - fRz(r), - fTmean(meantime), - fTsigma(sigmatime) -{ - //constructor -} -/*********************************************************************/ - -AliHBTRndmGaussBall::AliHBTRndmGaussBall(Float_t rx, Float_t ry, Float_t rz, Double_t meantime, Double_t sigmatime): - fRx(rx), - fRy(ry), - fRz(rz), - fTmean(meantime), - fTsigma(sigmatime) -{ - //constructor -} -/*********************************************************************/ - - -AliHBTRndmEllipse::AliHBTRndmEllipse(Float_t rmin, Float_t rmax): - fRmin(rmin), - fRmax(rmax) -{ - //constructor -} - -/*********************************************************************/ - -void AliHBTRndmGaussBall::Randomize(Double_t& x,Double_t& y,Double_t&z,Double_t&t, AliVAODParticle*/*particle*/) const -{ -//randomizez gauss for each coordinate separately - x = gRandom->Gaus(0.0,fRx); - y = gRandom->Gaus(0.0,fRy); - z = gRandom->Gaus(0.0,fRz); - - if (fTsigma == 0.0) - { - t = fTmean; - return; - } - - t = gRandom->Gaus(fTmean,fTsigma); - -} -/*********************************************************************/ -//_____________________________________________________________________ -/////////////////////////////////////////////////////////////////////// -// // -// class AliHBTRndmGaussBall // -// // -/////////////////////////////////////////////////////////////////////// - -void AliHBTRndmCyllSurf::Randomize(Double_t& x,Double_t& y,Double_t&z,Double_t&/*t*/, AliVAODParticle* particle) const -{ -//Randomizes x,y,z - Double_t r = fR + gRandom->Gaus(0.0, 1.0); - Double_t sf = r/particle->Pt();//scaling factor for position transformation -> - //we move direction of string momentum but legth defined by r - x = sf*particle->Px(); - y = sf*particle->Py(); - z = gRandom->Uniform(-fL,fL); -} - -/*********************************************************************/ -/*********************************************************************/ - -void AliHBTRndmEllipse::Randomize(Double_t& x, Double_t& y, Double_t& z,Double_t&/*t*/, AliVAODParticle*p) const -{ - // p=0; //workaround - fix this damn little thingy - double R; - double phi=p->Phi(); - - R=fRmin+(fRmax-fRmin)*TMath::Sin(phi); - x=R*TMath::Sin(phi); - y=R*TMath::Cos(phi); - z=z; -} diff --git a/HBTAN/AliHBTPositionRandomizer.h b/HBTAN/AliHBTPositionRandomizer.h deleted file mode 100644 index d245347072e..00000000000 --- a/HBTAN/AliHBTPositionRandomizer.h +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef ALIHBTPOSITIONRANDOMIZER_H -#define ALIHBTPOSITIONRANDOMIZER_H -//___________________________________________________ -//////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTPositionRandomizer -// -// These class randomizes particle vertex positions -// Piotr.Skowronski@cern.ch -// -//////////////////////////////////////////////////////////////////////////////// - -#include "AliReader.h" -class AliHBTRndm; -class TH1I; - -class AliHBTPositionRandomizer: public AliReader -{ - public: - enum EModelTypes{kGausBall,kCylinder,kCylinderSurf,kEllipse}; - AliHBTPositionRandomizer(); - AliHBTPositionRandomizer(AliReader* reader); - AliHBTPositionRandomizer(const AliHBTPositionRandomizer& in); - - virtual ~AliHBTPositionRandomizer(); - - AliHBTPositionRandomizer& operator=(const AliHBTPositionRandomizer& in); - - Int_t Next(){return (fReader)?fReader->Next():1;} - void Rewind(){if(fReader) fReader->Rewind();} - - Bool_t ReadsRec() const {return (fReader)?fReader->ReadsRec():kFALSE;} - Bool_t ReadsSim() const {return (fReader)?fReader->ReadsSim():kFALSE;} - - AliAOD* GetEventSim() const ; - AliAOD* GetEventRec() const ; - - AliAOD* GetEventSim(Int_t n); - AliAOD* GetEventRec(Int_t n){return (fReader)?fReader->GetEventRec(n):0x0;} - - Int_t GetNumberOfSimEvents(){return (fReader)?fReader->GetNumberOfSimEvents():0;} - Int_t GetNumberOfRecEvents(){return (fReader)?fReader->GetNumberOfRecEvents():0;} - virtual TH1I* GetTrackCounter() const {return (fReader)?fReader->GetTrackCounter():0x0;} - virtual void WriteTrackCounter() const {if(fReader) fReader->WriteTrackCounter();} - - void Randomize(AliAOD* event) const; - void SetEventVertex(Double_t x, Double_t y,Double_t z); - - void SetRandomizer(Int_t pid,AliHBTRndm* rndm); - - void SetGaussianBall(Int_t pid, Double_t r, Double_t meantime, Double_t sigmatime); - void SetGaussianBall(Int_t pid, Double_t rx, Double_t ry, Double_t rz, Double_t meantime, Double_t sigmatime); - void SetCyllinderSurface(Int_t pid, Double_t r, Double_t l); - void SetEllipse(Int_t pid, Double_t rmin, Double_t rmax); - - void AddToPosition(Bool_t flag){fAddToExistingPos = flag;} - void RandomizeTracks(Bool_t flag){fRandomizeTracks = flag;} - - AliHBTRndm* GetRandomizer(Int_t pdg) const; - Int_t GetRandomizerIndex(Int_t pdg) const; - - protected: - void Randomize(Double_t& x,Double_t& y,Double_t&z,AliVAODParticle*p); - Int_t ReadNext(){return (fReader)?fReader->Next():1;} - - private: - AliReader* fReader; // Pointer to reader - AliHBTRndm* fDefaultRandomizer; // Pointer to class that performs randomization according to some model - default one - TObjArray* fRandomizers;//array with randomizers - each particle type can have different randomization parameters/model - Int_t fNPid;//number of randomizers defined in fPid and fRandomizers - Int_t* fPids;//[fgkNumberOfPids] - - Bool_t fAddToExistingPos; //Determines if randomized position should be added to previous one, or overwrite old one - Bool_t fOnlyParticlesFromVertex; //Determines if randomization should be performed for particles from vertex - - Bool_t fRandomizeTracks; //Determines if tracks should also be randimized - - Double_t fVX; //vertex position - Double_t fVY; //vertex position - Double_t fVZ; //vertex position - - static const Int_t fgkNumberOfPids;//size of fPid array - - ClassDef(AliHBTPositionRandomizer,1) -}; - -/*********************************************************************/ -/*********************************************************************/ -/*********************************************************************/ - -class AliHBTRndm: public TObject -{ - public: - AliHBTRndm(){} - virtual ~AliHBTRndm(){} - virtual void Randomize(Double_t& x, Double_t& y, Double_t& z, Double_t& t, AliVAODParticle*p) const = 0; - ClassDef(AliHBTRndm,1) -}; - -/*********************************************************************/ -/*********************************************************************/ -/*********************************************************************/ - -class AliHBTRndmGaussBall: public AliHBTRndm -{ - public: - AliHBTRndmGaussBall(); - AliHBTRndmGaussBall(Float_t r, Double_t meantime, Double_t sigmatime); - AliHBTRndmGaussBall(Float_t rx, Float_t ry, Float_t rz, Double_t meantime, Double_t sigmatime); - virtual ~AliHBTRndmGaussBall(){} - void Randomize(Double_t& x,Double_t& y,Double_t&z, Double_t& t, AliVAODParticle*/*particle*/) const; - private: - Float_t fRx; //Dispertion in x - Float_t fRy; //Dispertion in y - Float_t fRz; //Dispertion in z - Float_t fTmean; //Mean emision time in t - Float_t fTsigma; //Dispertion in t - ClassDef(AliHBTRndmGaussBall,1) -}; - -/*********************************************************************/ -/*********************************************************************/ -/*********************************************************************/ - -class AliHBTRndmCyllSurf: public AliHBTRndm -{ - public: - AliHBTRndmCyllSurf():fR(0.0), fL(0){} - AliHBTRndmCyllSurf(Float_t r, Float_t l):fR(r),fL(l){} - virtual ~AliHBTRndmCyllSurf(){} - - void Randomize(Double_t& x,Double_t& y,Double_t&z, Double_t& /*t*/t, AliVAODParticle* particle) const; - private: - Float_t fR; //Redius of cylinder - Float_t fL; //Length of cylinder - - ClassDef(AliHBTRndmCyllSurf,1) -}; - -/*********************************************************************/ -/*********************************************************************/ -/*********************************************************************/ - -class AliHBTRndmEllipse: public AliHBTRndm -{ - public: - AliHBTRndmEllipse():fRmin(0.),fRmax(0.){}; - AliHBTRndmEllipse(Float_t rmin, Float_t rmax); - virtual ~AliHBTRndmEllipse(){} - - void Randomize(Double_t& x,Double_t& y, Double_t& z, Double_t& , AliVAODParticle* particle) const; - private: - Float_t fRmin; //Radius in x direction - Float_t fRmax; //Radius in y direction - - ClassDef(AliHBTRndmEllipse,2) -}; - - - -#endif - diff --git a/HBTAN/AliHBTQDistributionVsKtFctns.cxx b/HBTAN/AliHBTQDistributionVsKtFctns.cxx deleted file mode 100644 index c44d2c973bc..00000000000 --- a/HBTAN/AliHBTQDistributionVsKtFctns.cxx +++ /dev/null @@ -1,115 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// // -// class AliHBTQInvDistributionVsKtFctn // -// class AliHBTQOutDistributionVsKtFctn // -// class AliHBTQSideDistributionVsKtFctn // -// class AliHBTQLongDistributionVsKtFctn // -// // -// Classes for Q's monitoring Vs Kt and Vs Qinv // -// // -// Author: // -// Zbigniew Chajecki // -// // -//////////////////////////////////////////////////////////////////// - -/******************************************************************/ -/******************************************************************/ - -#include "AliHBTQDistributionVsKtFctns.h" - -ClassImp( AliHBTQInvDistributionVsKtFctn ) - -AliHBTQInvDistributionVsKtFctn::AliHBTQInvDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QInvDistributionVsKt","Q_{Inv} Distribution vs. K_{t}"); -} -/******************************************************************/ - -TH1* AliHBTQInvDistributionVsKtFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQOutDistributionVsKtFctn ) - -AliHBTQOutDistributionVsKtFctn::AliHBTQOutDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QOutDistributionVsKt","Q_{Out} Distribution vs. K_{t}"); -} -/******************************************************************/ - -TH1* AliHBTQOutDistributionVsKtFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQSideDistributionVsKtFctn ) - -AliHBTQSideDistributionVsKtFctn::AliHBTQSideDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QSideDistributionVsKt","Q_{Side} Distribution vs. K_{t}"); -} -/******************************************************************/ - -TH1* AliHBTQSideDistributionVsKtFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQLongDistributionVsKtFctn ) - -AliHBTQLongDistributionVsKtFctn::AliHBTQLongDistributionVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QLongDistributionVsKt","Q_{Long} Distribution vs. K_{t}"); -} -/******************************************************************/ - -TH1* AliHBTQLongDistributionVsKtFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - diff --git a/HBTAN/AliHBTQDistributionVsKtFctns.h b/HBTAN/AliHBTQDistributionVsKtFctns.h deleted file mode 100644 index 8c345a27125..00000000000 --- a/HBTAN/AliHBTQDistributionVsKtFctns.h +++ /dev/null @@ -1,96 +0,0 @@ -#ifndef ALIHBTQDISTRIBUTIONVSKTFCTN_H -#define ALIHBTQDISTRIBUTIONVSKTFCTN_H - -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////////////////////////// -// -// class AliHBTQInvDistributionVsKtFctn; //QInvLCMS Distribution Vs Kt -// class AliHBTQOutDistributionVsKtFctn; //QOutLCMS Distribution Vs Kt -// class AliHBTQSideDistributionVsKtFctn; //QSideLCMS Distribution Vs Kt -// class AliHBTQLongDistributionVsKtFctn; //QLongLCMS Distribution Vs Kt -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create distribution functions of pair momentum -// -///////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQOutDistributionVsKtFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQOutDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - virtual ~AliHBTQOutDistributionVsKtFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQOutLCMS(); - x = partpair->GetKt(); - } - protected: - ClassDef(AliHBTQOutDistributionVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQSideDistributionVsKtFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQSideDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, - Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2); - virtual ~AliHBTQSideDistributionVsKtFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQSideLCMS(); - x = partpair->GetKt(); - } - protected: - ClassDef(AliHBTQSideDistributionVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTQLongDistributionVsKtFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQLongDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, - Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2); - virtual ~AliHBTQLongDistributionVsKtFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQLongLCMS(); - x = partpair->GetKt(); - } - protected: - ClassDef(AliHBTQLongDistributionVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTQInvDistributionVsKtFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQInvDistributionVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, - Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2); - virtual ~AliHBTQInvDistributionVsKtFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQInv(); - x = partpair->GetKt(); - } - protected: - ClassDef(AliHBTQInvDistributionVsKtFctn,1) - }; - - -#endif - diff --git a/HBTAN/AliHBTQDistributionVsQInvFctns.cxx b/HBTAN/AliHBTQDistributionVsQInvFctns.cxx deleted file mode 100644 index 07308a11975..00000000000 --- a/HBTAN/AliHBTQDistributionVsQInvFctns.cxx +++ /dev/null @@ -1,117 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// // -// class AliHBTQOutDistributionVsQInvFctn // -// class AliHBTQSideDistributionVsQInvFctn // -// class AliHBTQLongDistributionVsQInvFctn // -// class AliHBTPtDiffDistributionVsQInvFctn // -// // -// Classes for Q's monitoring Vs Kt and Vs Qinv // -// // -// Author: // -// Zbigniew Chajecki // -// // -//////////////////////////////////////////////////////////////////// - - - -#include "AliHBTQDistributionVsQInvFctns.h" - -ClassImp( AliHBTQOutDistributionVsQInvFctn ) - -AliHBTQOutDistributionVsQInvFctn::AliHBTQOutDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QOutDistributionVsQInv","Q_{Out} Distribution vs. Q_{inv}"); -} -/******************************************************************/ - -TH1* AliHBTQOutDistributionVsQInvFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQSideDistributionVsQInvFctn ) - -AliHBTQSideDistributionVsQInvFctn::AliHBTQSideDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QSideDistributionVsQInv","Q_{Side} Distribution vs. Q_{inv}"); -} -/******************************************************************/ - -TH1* AliHBTQSideDistributionVsQInvFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQLongDistributionVsQInvFctn ) - -AliHBTQLongDistributionVsQInvFctn::AliHBTQLongDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("QLongDistributionVsQInv","Q_{Long} Distribution vs. Q_{inv}"); -} -/******************************************************************/ - -TH1* AliHBTQLongDistributionVsQInvFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - - -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTPtDiffDistributionVsQInvFctn ) - -AliHBTPtDiffDistributionVsQInvFctn::AliHBTPtDiffDistributionVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTOnePairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ - //ctor - Rename("PtDiffDistributionVsQInv","P_{t} Difference Distribution vs. Q_{inv}"); -} -/******************************************************************/ - -TH1* AliHBTPtDiffDistributionVsQInvFctn::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - diff --git a/HBTAN/AliHBTQDistributionVsQInvFctns.h b/HBTAN/AliHBTQDistributionVsQInvFctns.h deleted file mode 100644 index fd6d4f92a5c..00000000000 --- a/HBTAN/AliHBTQDistributionVsQInvFctns.h +++ /dev/null @@ -1,92 +0,0 @@ -#ifndef ALIHBTQDISTRIBUTIONVSQINVFCTN_H -#define ALIHBTQDISTRIBUTIONVSQINVFCTN_H - -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////////////////////////// -// -// class AliHBTQOutDistributionVsQInvFctn; //QOutLCMS Distribution Vs QInv -// class AliHBTQSideDistributionVsQInvFctn; //QSideLCMS Distribution Vs QInv -// class AliHBTQLongDistributionVsQInvFctn; //QLongLCMS Distribution Vs QInv -// class AliHBTPtDiffDistributionVsQInvFctn; -// -// added by Zbigniew.Chajecki@cern.ch -// this classes create distribution functions of pair momentum -// -///////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - -class AliHBTQOutDistributionVsQInvFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQOutDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - virtual ~AliHBTQOutDistributionVsQInvFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQOutLCMS(); - x = partpair->GetQInv(); - } - protected: - ClassDef(AliHBTQOutDistributionVsQInvFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQSideDistributionVsQInvFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQSideDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, - Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2); - virtual ~AliHBTQSideDistributionVsQInvFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQSideLCMS(); - x = partpair->GetQInv(); - } - protected: - ClassDef(AliHBTQSideDistributionVsQInvFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTQLongDistributionVsQInvFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTQLongDistributionVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 1.2, Double_t minXval = -0.1, - Int_t nYbins = 500, Double_t maxYval = 1.2, Double_t minYval =-1.2); - virtual ~AliHBTQLongDistributionVsQInvFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->GetQLongLCMS(); - x = partpair->GetQInv(); - } - protected: - ClassDef(AliHBTQLongDistributionVsQInvFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPtDiffDistributionVsQInvFctn: public AliHBTOnePairFctn2D - { - public: - AliHBTPtDiffDistributionVsQInvFctn(Int_t nXbins = 800, Double_t maxXval = 4.0, Double_t minXval = 0., - Int_t nYbins = 500, Double_t maxYval = 0.1, Double_t minYval =-0.1); - virtual ~AliHBTPtDiffDistributionVsQInvFctn(){} - TH1* GetResult(); - void GetValues(AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - y = partpair->Particle1()->Pt() - partpair->Particle2()->Pt(); - x = partpair->GetQInv(); - } - protected: - ClassDef(AliHBTPtDiffDistributionVsQInvFctn,1) - }; - -#endif - diff --git a/HBTAN/AliHBTQResolutionFctns.cxx b/HBTAN/AliHBTQResolutionFctns.cxx deleted file mode 100644 index ecf23e7bf3b..00000000000 --- a/HBTAN/AliHBTQResolutionFctns.cxx +++ /dev/null @@ -1,454 +0,0 @@ -#include "AliHBTQResolutionFctns.h" - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// // -// General Remark: // -// LCMS means // -// Center of Mass System Longitudially Co-moving // -// // -// // -// This class creates resolution function of Qout // -// (difference of simulated pair Qout and recontructed pair) // -// in function of QInv // -// it inherits from AliHBTTwoPairFctn2D // -// it needs two pairs to compare // -// and is two dimentional: numerator and denominator are TH2D // -// // -//////////////////////////////////////////////////////////////////// - - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTKtResolVsQInvFctn ) -AliHBTKtResolVsQInvFctn:: -AliHBTKtResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("KtResolVsQInv","K_{t} Resolution vs. Q_{Inv}"); -} -/******************************************************************/ - -void AliHBTKtResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ -//returns values of the functiion - y = partpair->GetKt() - trackpair->GetKt(); - x = partpair->GetQInv(); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQInvResolVsQInvFctn ) -AliHBTQInvResolVsQInvFctn:: -AliHBTQInvResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QInvResolVsQInv","Q_{Inv} Resolution vs. Q_{Inv}"); -} -/******************************************************************/ -void AliHBTQInvResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ -//returns values of the functiion - y = partpair->GetQInv() - trackpair->GetQInv(); - x = partpair->GetQInv(); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQOutResolVsQInvFctn ) -AliHBTQOutResolVsQInvFctn:: -AliHBTQOutResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QOutResolVsQInv","Q_{Out} Resolution vs. Q_{Inv}"); -} -/******************************************************************/ - -void AliHBTQOutResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qoutsim-Qoutrec for y - //returns Qinv for x - Double_t tqout = trackpair->GetQOutLCMS(); - y = partpair->GetQOutLCMS() - tqout; - if (tqout < 0.0) y = -y; - x = partpair->GetQInv(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQSideResolVsQInvFctn ) - -AliHBTQSideResolVsQInvFctn:: -AliHBTQSideResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QSideResolVsQInv","Q_{Side} Resolution vs. Q_{Inv}"); -} -/******************************************************************/ - -void AliHBTQSideResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qsidesim-Qsiderec for y - //returns Qinv for x - y = partpair->GetQSideLCMS() - trackpair->GetQSideLCMS(); - if (trackpair->GetQSideLCMS() < 0.0) y = -y; - x = partpair->GetQInv(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQLongResolVsQInvFctn ) - -AliHBTQLongResolVsQInvFctn:: -AliHBTQLongResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QLongResolVsQInv","Q_{Long} Resolution vs. Q_{Inv}"); -} -/******************************************************************/ - -void AliHBTQLongResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qlongsim-Qlongrec for y - //returns Qinv for x - y = partpair->GetQLongLCMS() - trackpair->GetQLongLCMS(); - if (trackpair->GetQLongLCMS() < 0.0) y = -y; - x = partpair->GetQInv(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQInvResolVsKtFctn ) - -AliHBTQInvResolVsKtFctn:: -AliHBTQInvResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QInvResolVsKt","Q_{Inv} Resolution vs. K_{t}"); -} -/******************************************************************/ - -void AliHBTQInvResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns values of the function - y = partpair->GetQInv() - trackpair->GetQInv(); - x = partpair->GetKt(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQOutResolVsKtFctn ) - -AliHBTQOutResolVsKtFctn:: -AliHBTQOutResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QOutResolVsKt","Q_{Out} Resolution vs. K_{t} "); -} -/******************************************************************/ - -void AliHBTQOutResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qoutsim-Qoutrec for y - //returns Kt for x - y = partpair->GetQOutLCMS() - trackpair->GetQOutLCMS(); - if (trackpair->GetQOutLCMS() < 0.0) y = -y; - x = partpair->GetKt(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQSideResolVsKtFctn ) - -AliHBTQSideResolVsKtFctn:: -AliHBTQSideResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QSideResolVsKt","Q_{Side} Resolution vs. K_{t} "); -} -/******************************************************************/ - -void AliHBTQSideResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qsidesim-Qsiderec for y - //returns Kt for x - y = partpair->GetQSideLCMS() - trackpair->GetQSideLCMS(); - if (trackpair->GetQSideLCMS() < 0.0) y = -y; - x = partpair->GetKt(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQLongResolVsKtFctn ) - -AliHBTQLongResolVsKtFctn:: -AliHBTQLongResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QLongResolVsKt","Q_{Long} Resolution vs. K_{t} "); -} -/******************************************************************/ - -void AliHBTQLongResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Qlongsim-Qlongrec for y - //returns Kt for x - y = partpair->GetQLongLCMS() - trackpair->GetQLongLCMS(); - if (trackpair->GetQLongLCMS() < 0.0) y = -y; - x = partpair->GetKt(); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTQOutResolVsQOutFctn) - -AliHBTQOutResolVsQOutFctn:: -AliHBTQOutResolVsQOutFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QOutResolVsQOut","Q_{Out} Resolution vs. Q_{Out} "); -} -/******************************************************************/ - -void AliHBTQOutResolVsQOutFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ -//returns values of the function - x = partpair->GetQOutLCMS(); - y = x - trackpair->GetQOutLCMS(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQSideResolVsQSideFctn ) - -AliHBTQSideResolVsQSideFctn:: -AliHBTQSideResolVsQSideFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QSideResolVsQSide","Q_{Side} Resolution vs. Q_{Side} "); -} -/******************************************************************/ - -void AliHBTQSideResolVsQSideFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ -//returns values of the function - x = partpair->GetQSideLCMS(); - y = x - trackpair->GetQSideLCMS(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp( AliHBTQLongResolVsQLongFctn ) - -AliHBTQLongResolVsQLongFctn:: -AliHBTQLongResolVsQLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("QLongResolVsQLong","Q_{Long} Resolution vs. Q_{Long} "); -} -/******************************************************************/ - -void AliHBTQLongResolVsQLongFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ -//returns values of the function - x = partpair->GetQLongLCMS(); - y = x - trackpair->GetQLongLCMS(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTPairThetaResolVsQInvFctn ) - -AliHBTPairThetaResolVsQInvFctn:: -AliHBTPairThetaResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairThetaResolVsQInv","Pair Theta Angle Resolution vs. Q_{Inv} "); -} -/******************************************************************/ - -void AliHBTPairThetaResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - //returns Pair Theta sim - Pair Theta rec for y - //returns Qinv for x - Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta(); - Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta(); - y = partTheta - trackTheta; - x = partpair->GetQInv(); - } -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTPairThetaResolVsPairThetaFctn ) - -AliHBTPairThetaResolVsPairThetaFctn:: -AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairThetaResolVsPairTheta","Pair Theta Angle Resolution vs. Pair Theta "); -} -/******************************************************************/ -void AliHBTPairThetaResolVsPairThetaFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Pair Theta sim - Pair Theta rec for y - //returns Pair Theta sim for x - Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta(); - Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta(); - y = partTheta - trackTheta; - if (trackTheta < 0.0) y = -y; - x = trackTheta; -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTPairPhiResolVsQInvFctn ) - -AliHBTPairPhiResolVsQInvFctn:: -AliHBTPairPhiResolVsQInvFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairPhiResolVsQInv","Pair Phi Angle Resolution vs. Q_{Inv} "); -} -/******************************************************************/ - -void AliHBTPairPhiResolVsQInvFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const - { - //returns Pair Phi sim - Pair Phi rec for y - //returns QInv sim for x - Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi(); - Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi(); - y = partPhi - trackPhi; - x = partpair->GetQInv(); - } - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - - -ClassImp( AliHBTPairThetaResolVsKtFctn ) - -AliHBTPairThetaResolVsKtFctn:: -AliHBTPairThetaResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairThetaResolVsKt","Pair Theta Angle Resolution vs. K_{t} "); -} -/******************************************************************/ - -void AliHBTPairThetaResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Pair Theta sim - Pair Theta rec for y - //returns Kt sim for x - Double_t partTheta = partpair->Particle1()->Theta() - partpair->Particle2()->Theta(); - Double_t trackTheta = trackpair->Particle1()->Theta() - trackpair->Particle2()->Theta(); - y = partTheta - trackTheta; - x = partpair->GetKt(); -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - -ClassImp( AliHBTPairPhiResolVsKtFctn ) - -AliHBTPairPhiResolVsKtFctn:: -AliHBTPairPhiResolVsKtFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairPhiResolVsKt","Pair Phi Angle Resolution vs. K_{t} "); -} -/******************************************************************/ - -void AliHBTPairPhiResolVsKtFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Pair Phi sim - Pair Phi rec for y - //returns Kt sim for x - Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi(); - Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi(); - y = partPhi - trackPhi; - x = partpair->GetKt(); -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ - - -ClassImp( AliHBTPairPhiResolVsPairPhiFctn ) - -AliHBTPairPhiResolVsPairPhiFctn:: -AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nXbins,maxXval,minXval,nYbins,maxYval,minYval) -{ -//ctor - Rename("PairPhiResolVsPairPhi","Pair Phi Angle Resolution vs. Pair Phi "); -} -/******************************************************************/ - -void AliHBTPairPhiResolVsPairPhiFctn::GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const -{ - //returns Pair Phi sim - Pair Phi rec for y - //returns Pair Phi sim for x - Double_t partPhi = partpair->Particle1()->Phi() - partpair->Particle2()->Phi(); - Double_t trackPhi = trackpair->Particle1()->Phi() - trackpair->Particle2()->Phi(); - y = partPhi - trackPhi; - x = trackPhi; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ diff --git a/HBTAN/AliHBTQResolutionFctns.h b/HBTAN/AliHBTQResolutionFctns.h deleted file mode 100644 index 91908f9d21a..00000000000 --- a/HBTAN/AliHBTQResolutionFctns.h +++ /dev/null @@ -1,309 +0,0 @@ -#ifndef ALIHBTQRESOLUTIONFCTNS_H -#define ALIHBTQRESOLUTIONFCTNS_H -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// // -// General Remark: // -// LCMS means // -// Center of Mass System Longitudially Co-moving // -// // -// // -// This class creates resolution function of Qout // -// (difference of simulated pair Qout and recontructed pair) // -// in function of QInv // -// it inherits from AliHBTTwoPairFctn2D // -// it needs two pairs to compare // -// and is two dimentional: numerator and denominator are TH2D // -// // -//////////////////////////////////////////////////////////////////// - -#include - -class AliHBTKtResolVsQInvFctn; //Kt Res Vs QInvLCMS - -class AliHBTQOutResolVsQInvFctn; //QOutLCMS Res Vs QInvLCMS -class AliHBTQSideResolVsQInvFctn; //QSideLCMS Res Vs QInvLCMS -class AliHBTQLongResolVsQInvFctn; //QLongLCMS Res Vs QInvLCMS -class AliHBTQInvResolVsQInvFctn; //QInvLCMS Res Vs QInvLCMS - -class AliHBTPairThetaResolVsQInvFctn;//PairTheta Res Vs QInvLCMS -class AliHBTPairPhiResolVsQInvFctn; //PairPhi Res Vs QInvLCMS - -class AliHBTQInvResolVsKtFctn; //QInvLCMS Res Vs Kt -class AliHBTQOutResolVsKtFctn; //QOutLCMS Res Vs Kt -class AliHBTQSideResolVsKtFctn; //QSideLCMS Res Vs Kt -class AliHBTQLongResolVsKtFctn; //QLongLCMS Res Vs Kt - -class AliHBTPairThetaResolVsKtFctn; //PairTheta Res Vs Kt -class AliHBTPairPhiResolVsKtFctn; //PairPhi Res Vs Kt - - -class AliHBTQOutResolVsQOutFctn; //QOutLCMS Res Vs QOut -class AliHBTQSideResolVsQSideFctn;//QSideLCMS Res Vs QSide -class AliHBTQLongResolVsQLongFctn;//QLongLCMS Res Vs QLong - - - -#include "AliHBTFunction.h" -/***********************************************************************/ -/***********************************************************************/ -class AliHBTKtResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTKtResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTKtResolVsQInvFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTKtResolVsQInvFctn,1) - }; - - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQInvResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQInvResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTQInvResolVsQInvFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTQInvResolVsQInvFctn,1) - }; - - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQOutResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQOutResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTQOutResolVsQInvFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTQOutResolVsQInvFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQSideResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQSideResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQSideResolVsQInvFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQSideResolVsQInvFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQLongResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQLongResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQLongResolVsQInvFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQLongResolVsQInvFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQInvResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQInvResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQInvResolVsKtFctn(){}; - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQInvResolVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQOutResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQOutResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - virtual ~AliHBTQOutResolVsKtFctn(){} - TH1* GetResult(){return this->GetNumerator();} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTQOutResolVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQSideResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQSideResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQSideResolVsKtFctn(){} - TH1* GetResult(){return this->GetNumerator();} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTQSideResolVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQLongResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQLongResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 1., Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQLongResolVsKtFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->GetNumerator();} - ClassDef(AliHBTQLongResolVsKtFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ -class AliHBTQOutResolVsQOutFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQOutResolVsQOutFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - virtual ~AliHBTQOutResolVsQOutFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQOutResolVsQOutFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTQSideResolVsQSideFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQSideResolVsQSideFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - virtual ~AliHBTQSideResolVsQSideFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQSideResolVsQSideFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTQLongResolVsQLongFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTQLongResolVsQLongFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = -0.2, - Int_t nYbins = 500, Double_t maxYval = .05, Double_t minYval =-0.05); - virtual ~AliHBTQLongResolVsQLongFctn(){} - - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - TH1* GetResult(){return this->fNumerator;} - ClassDef(AliHBTQLongResolVsQLongFctn,1) - }; -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTPairThetaResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairThetaResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairThetaResolVsQInvFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairThetaResolVsQInvFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPairThetaResolVsPairThetaFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairThetaResolVsPairThetaFctn(Int_t nXbins = 200, Double_t maxXval = TMath::PiOver2(), Double_t minXval = -TMath::PiOver2(), - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairThetaResolVsPairThetaFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairThetaResolVsPairThetaFctn,1) - }; - - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPairPhiResolVsQInvFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairPhiResolVsQInvFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairPhiResolVsQInvFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairPhiResolVsQInvFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPairThetaResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairThetaResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairThetaResolVsKtFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairThetaResolVsKtFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPairPhiResolVsKtFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairPhiResolVsKtFctn(Int_t nXbins = 200, Double_t maxXval = 0.2, Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairPhiResolVsKtFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairPhiResolVsKtFctn,1) - }; - -/***********************************************************************/ -/***********************************************************************/ -class AliHBTPairPhiResolVsPairPhiFctn: public AliHBTTwoPairFctn2D - { - public: - AliHBTPairPhiResolVsPairPhiFctn(Int_t nXbins = 200, Double_t maxXval = TMath::TwoPi(), Double_t minXval = 0.0, - Int_t nYbins = 500, Double_t maxYval = .15, Double_t minYval =-0.15); - - virtual ~AliHBTPairPhiResolVsPairPhiFctn(){} - - TH1* GetResult(){return this->fNumerator;} - void GetValues(AliHBTPair* trackpair, AliHBTPair* partpair, Double_t& x, Double_t& y) const; - ClassDef(AliHBTPairPhiResolVsPairPhiFctn,1) - }; - - -#endif diff --git a/HBTAN/AliHBTRDistributions.cxx b/HBTAN/AliHBTRDistributions.cxx deleted file mode 100644 index cdd0bd1471e..00000000000 --- a/HBTAN/AliHBTRDistributions.cxx +++ /dev/null @@ -1,75 +0,0 @@ - -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//__________________________________________________________________ -//////////////////////////////////////////////////////////////////// -// // -// -// Classes for Q's monitoring Vs Kt and Vs Qinv // -// // -// Author: // -// Zbigniew Chajecki // -// // -//////////////////////////////////////////////////////////////////// - - -#include "AliHBTRDistributions.h" - -ClassImp(AliHBTRStarDistribution) - - -AliHBTRStarDistribution::AliHBTRStarDistribution(Int_t nXbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nXbins,maxXval,minXval) -{ -//ctor - Rename("RStarDistribution","R^{*} distribution"); -} -/******************************************************************/ - -TH1* AliHBTRStarDistribution::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - - -/******************************************************************/ -/******************************************************************/ - -ClassImp(AliHBTRDistribution) - -AliHBTRDistribution::AliHBTRDistribution(Int_t nXbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nXbins,maxXval,minXval) -{ -//ctor - Rename("RDistribution","R (distance between creation points) distribution "); -} - -/******************************************************************/ - -TH1* AliHBTRDistribution::GetResult() -{ - //returns the result histo - return this->GetNumerator(); -} - - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ diff --git a/HBTAN/AliHBTRDistributions.h b/HBTAN/AliHBTRDistributions.h deleted file mode 100644 index 4e8bdf2f9ab..00000000000 --- a/HBTAN/AliHBTRDistributions.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef ALIHBTRDISTRIBUTIONS_H -#define ALIHBTRDISTRIBUTIONS_H - -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////////////////////////// -// AliHBTRStarDistribution -// AliHBTRDistribution -// added by Zbigniew.Chajecki@cern.ch -// this classes create distribution functions of pair momentum -// -///////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - -class AliHBTRStarDistribution: public AliHBTOnePairFctn1D -{ - public: - AliHBTRStarDistribution(Int_t nXbins = 500, Double_t maxXval = 5e-11, Double_t minXval = 0.); - virtual ~AliHBTRStarDistribution(){} - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair* partpair) const - { - return partpair->GetRStar(); - } - - private: - ClassDef(AliHBTRStarDistribution,1) -}; - -/***********************************************************************/ -/***********************************************************************/ - -class AliHBTRDistribution: public AliHBTOnePairFctn1D -{ - public: - AliHBTRDistribution(Int_t nXbins = 500, Double_t maxXval = 5e-11, Double_t minXval = 0.); - virtual ~AliHBTRDistribution(){} - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair* partpair) const - { - return partpair->GetR(); - } - - private: - ClassDef(AliHBTRDistribution,1) -}; -#endif - diff --git a/HBTAN/AliHBTTwoTrackEffFctn.cxx b/HBTAN/AliHBTTwoTrackEffFctn.cxx deleted file mode 100644 index 6fd28d17244..00000000000 --- a/HBTAN/AliHBTTwoTrackEffFctn.cxx +++ /dev/null @@ -1,166 +0,0 @@ -#include "AliHBTTwoTrackEffFctn.h" -//____________________________________________________________________ -////////////////////////////////////////////////////////////////////// -// // -// class AliHBTTwoTrackEffFctn // -// // -// classes for calculating two track efficiency of the tracking // -// binning is done using value of simulated pair montum difference // -// pair must be recontructed, that is why we need both pairs // -// (simulated and recontructed), thus functions are "two pair" // -// Piotr.Skowronski@cern.ch // -// // -////////////////////////////////////////////////////////////////////// - - -ClassImp(AliHBTTwoTrackEffFctn) -/******************************************************************/ - -AliHBTTwoTrackEffFctn::AliHBTTwoTrackEffFctn() -{ - //def ctor -} -/******************************************************************/ - -AliHBTTwoTrackEffFctn::AliHBTTwoTrackEffFctn(Int_t nbins, Double_t maxval, Double_t minval): - AliHBTOnePairFctn1D("TwoTrackEff","Two Track Efficiency",nbins,maxval,minval) -{ -//contructor -//nbins - numner of bins of the function -//maxval - max X of the fctn -//minval - min X of the fctn - GetNumerator()->GetXaxis()->SetTitle("dP [GeV]"); - GetDenominator()->GetXaxis()->SetTitle("dP [GeV]"); -} -/******************************************************************/ - -TH1* AliHBTTwoTrackEffFctn::GetResult() -{ -//returns ratio of numerator and denominator - delete fRatio; - fRatio = GetRatio(Scale()); - if(fRatio) - { - fRatio->GetXaxis()->SetTitle("dP [GeV]"); - fRatio->GetYaxis()->SetTitle("C(dP)"); - fRatio->SetTitle("Double Track Resolution: dP Correlation Fctn."); - } - return fRatio; -} -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTTwoTrackEffFctnPxPyPz) - -AliHBTTwoTrackEffFctnPxPyPz::AliHBTTwoTrackEffFctnPxPyPz(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ -//ctor -//Set Axis Title - fWriteNumAndDen = kTRUE; - Rename("tteffpxpypz","P_{x} P_{y} P_{z} Two Track Efficiency Function"); - if(fNumerator) - { - fNumerator->GetXaxis()->SetTitle("\\Delta P_{x} [GeV]"); - fNumerator->GetYaxis()->SetTitle("\\Delta P_{y} [GeV]"); - fNumerator->GetZaxis()->SetTitle("\\Delta P_{z} [GeV]"); - } - - if(fDenominator) - { - fDenominator->GetXaxis()->SetTitle("\\Delta P_{x} [GeV]"); - fDenominator->GetYaxis()->SetTitle("\\Delta P_{y} [GeV]"); - fDenominator->GetZaxis()->SetTitle("\\Delta P_{z} [GeV]"); - } - -} -/******************************************************************/ - -void AliHBTTwoTrackEffFctnPxPyPz::GetValues(AliHBTPair* pair, Double_t& x, Double_t&y ,Double_t& z) const -{ -//Returns values to be histogrammed -//it does not - x = pair->GetDeltaPx(); - y = pair->GetDeltaPy(); - z = pair->GetDeltaPz(); - - if (fAbs) - { - x = TMath::Abs(x); - y = TMath::Abs(y); - z = TMath::Abs(z); - } -} -/******************************************************************/ - -TH1* AliHBTTwoTrackEffFctnPxPyPz::GetResult() -{ -//returns ratio of numerator and denominator - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/******************************************************************/ -/******************************************************************/ -/******************************************************************/ -ClassImp(AliHBTTwoTrackEffFctnPtThetaPhi) - -AliHBTTwoTrackEffFctnPtThetaPhi::AliHBTTwoTrackEffFctnPtThetaPhi(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ -//ctor -//Set Axis Title - fWriteNumAndDen = kTRUE; - Rename("tteffptthetaphi","P_{t} \\theta \\phi Two Track Efficiency Function"); - if(fNumerator) - { - fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fNumerator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fNumerator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - - if(fDenominator) - { - fDenominator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fDenominator->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fDenominator->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } -} -/******************************************************************/ - -void AliHBTTwoTrackEffFctnPtThetaPhi::GetValues(AliHBTPair* pair, Double_t& x, Double_t&y ,Double_t& z) const -{ -//Returns values to be histogrammed -//it does not - x = pair->GetDeltaPt(); - y = pair->GetDeltaTheta(); - z = pair->GetDeltaPhi(); - - if (fAbs) - { - x = TMath::Abs(x); - y = TMath::Abs(y); - z = TMath::Abs(z); - } - -} -/******************************************************************/ - -TH1* AliHBTTwoTrackEffFctnPtThetaPhi::GetResult() -{ -//returns ratio of numerator and denominator - delete fRatio; - fRatio = GetRatio(Scale()); - if(fRatio) - { - fRatio->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]"); - fRatio->GetYaxis()->SetTitle("\\Delta \\theta [rad]"); - fRatio->GetZaxis()->SetTitle("\\Delta \\phi [rad]"); - } - return fRatio; -} diff --git a/HBTAN/AliHBTTwoTrackEffFctn.h b/HBTAN/AliHBTTwoTrackEffFctn.h deleted file mode 100644 index 81ba3ccd1f7..00000000000 --- a/HBTAN/AliHBTTwoTrackEffFctn.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef AliHBTTwoTrackEffFctn_H -#define AliHBTTwoTrackEffFctn_H -//____________________________________________________________________ -////////////////////////////////////////////////////////////////////// -// // -// class AliHBTTwoTrackEffFctn // -// // -// classes for calculating two track efficiency of the tracking // -// binning is done using value of simulated pair montum difference // -// pair must be recontructed, that is why we need both pairs // -// (simulated and recontructed), thus functions are "two pair" // -// Piotr.Skowronski@cern.ch // -// // -////////////////////////////////////////////////////////////////////// -#include "AliHBTPair.h" -#include "AliHBTFunction.h" - -class AliHBTTwoTrackEffFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction - { - public: - AliHBTTwoTrackEffFctn(); - AliHBTTwoTrackEffFctn(Int_t nbins, Double_t maxval, Double_t minval); - virtual ~AliHBTTwoTrackEffFctn(){} - TH1* GetResult(); - protected: - Double_t GetValue(AliHBTPair* pair) const {return pair->GetDeltaPvector();} - private: - ClassDef(AliHBTTwoTrackEffFctn,2) - }; -/******************************************************************/ - -class AliHBTTwoTrackEffFctnPxPyPz: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction - { - public: - AliHBTTwoTrackEffFctnPxPyPz(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTTwoTrackEffFctnPxPyPz(){} - TH1* GetResult(); - protected: - void GetValues(AliHBTPair* pair,Double_t& x, Double_t& y,Double_t& z) const; - private: - ClassDef(AliHBTTwoTrackEffFctnPxPyPz,2) - }; -/******************************************************************/ - -class AliHBTTwoTrackEffFctnPtThetaPhi: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction - { - public: - AliHBTTwoTrackEffFctnPtThetaPhi(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0); - virtual ~AliHBTTwoTrackEffFctnPtThetaPhi(){} - TH1* GetResult(); - protected: - void GetValues(AliHBTPair* pair,Double_t& x, Double_t& y,Double_t& z) const; - private: - ClassDef(AliHBTTwoTrackEffFctnPtThetaPhi,1) - }; - -#endif diff --git a/HBTAN/AliHBTWeightFctn.cxx b/HBTAN/AliHBTWeightFctn.cxx deleted file mode 100644 index 23ac322f7e6..00000000000 --- a/HBTAN/AliHBTWeightFctn.cxx +++ /dev/null @@ -1,541 +0,0 @@ -#include "AliHBTWeightFctn.h" -/* $Id$ */ -//_________________________________________________________________________ -// -// class AliHBTWeightQInvFctn -// -// This class allows to obtain Q_inv correlation function with weights -// calculated by Lednicky's alghorithm. -// Numerator is filled with weighted events. Weights are attributed to reconstructed tracks. -// Weights are calculated with corresponding simulated particles momenta. -// Denominator is filled with mixing unweighted reconstructed tracks. -// One needs both pairs -// (simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D. -// Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) -// -//////////////////////////////////////////////////////////////////////////////// - -ClassImp( AliHBTWeightQInvFctn ) - - -/****************************************************************/ -AliHBTWeightQInvFctn::AliHBTWeightQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqinvcf","Q_{inv} Weight Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightQInvFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQInv(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQInvFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - // Fills the denominator using mixed pairs - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQInv()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQInvFctn::GetResult() -{ -//returns ratio of numerator and denominator - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/**************************************************************************************/ -/**************************************************************************************/ -/**************************************************************************************/ -/**************************************************************************************/ - -ClassImp(AliHBTWeightQOutFctn) - -AliHBTWeightQOutFctn::AliHBTWeightQOutFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqoutcf","Q_{out} Weight Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightQOutFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQOutLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQOutFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQOutLCMS()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQOutFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightQLongFctn) -AliHBTWeightQLongFctn::AliHBTWeightQLongFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqlongcf","Q_{long} Weight Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQLongLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQLongLCMS()); - } -} -/**************************************************************/ -TH1* AliHBTWeightQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightQSideFctn) -/*************************************************************************************/ - -AliHBTWeightQSideFctn::AliHBTWeightQSideFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqsidecf","Q_{side} Weight Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQSideLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQSideFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQSideLCMS()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQSideFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightTwoKStarFctn) -/*************************************************************************************/ -AliHBTWeightTwoKStarFctn::AliHBTWeightTwoKStarFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTTwoPairFctn1D(nbins,maxXval,minXval) -{ -//ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wtwokstarcf","2*K^{*} Weight Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightTwoKStarFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(2.0*(trackpair->GetKStar()),weight); - } -} -/****************************************************************/ - -void AliHBTWeightTwoKStarFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(2.0*(trackpair->GetKStar())); - } -} -/**************************************************************/ -TH1* AliHBTWeightTwoKStarFctn::GetResult() - -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightQOutQSideFctn) -/*************************************************************************************/ - -AliHBTWeightQOutQSideFctn::AliHBTWeightQOutQSideFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqoutqsidecf","Q_{out} Q_{side} Weight Correlation Function 2D"); -} -/*************************************************************************************/ - -void AliHBTWeightQOutQSideFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQOutLCMS(),trackpair->GetQSideLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQOutQSideFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQOutLCMS(),trackpair->GetQSideLCMS()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQOutQSideFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightQOutQLongFctn) -/*************************************************************************************/ - -AliHBTWeightQOutQLongFctn::AliHBTWeightQOutQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqoutqlongcf","Q_{out} Q_{long} Weight Correlation Function 2D"); -} -/*************************************************************************************/ - -void AliHBTWeightQOutQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQOutLCMS(),trackpair->GetQLongLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQOutQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQOutLCMS(),trackpair->GetQLongLCMS()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQOutQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************************************/ -/*************************************************************************************/ -/*************************************************************************************/ - -ClassImp(AliHBTWeightQSideQLongFctn) -/*************************************************************************************/ - -AliHBTWeightQSideQLongFctn::AliHBTWeightQSideQLongFctn(Int_t nxbins, Double_t maxXval, Double_t minXval, - Int_t nybins, Double_t maxYval, Double_t minYval): - AliHBTTwoPairFctn2D(nxbins,maxXval,minXval,nybins,maxYval,minYval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqsideqlongcf","Q_{side} Q_{long} Weight Correlation Function 2D"); -} -/*************************************************************************************/ - -void AliHBTWeightQSideQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight(); - } -// Double_t weight=weightHBT*weightPID; - fNumerator->Fill(trackpair->GetQSideLCMS(),trackpair->GetQLongLCMS(),weight); - } -} -/****************************************************************/ - -void AliHBTWeightQSideQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - fDenominator->Fill(trackpair->GetQSideLCMS(),trackpair->GetQLongLCMS()); - } -} -/**************************************************************/ - -TH1* AliHBTWeightQSideQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightQOutSQideQLongFctn) - -AliHBTWeightQOutSQideQLongFctn::AliHBTWeightQOutSQideQLongFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTTwoPairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqoslcf","Q_{out}-Q_{side}-Q_{long} Weight Correlation Fctn"); -} -/*************************************************************/ - -void AliHBTWeightQOutSQideQLongFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ -//Fills numerator - //process particles from same events (fills numerator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { -// Double_t weightPID=1.; - Double_t weight = 1.0; - if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) && - ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) ) - { - weight=partpair->GetWeight();//here we take weight from the particle pair - } -// Double_t weight=weightHBT*weightPID; - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - - fNumerator->Fill(out,side,lon,weight);//here we fill in q's corresponding to track pair - //weight calculated for the simulated one - } -} -/*************************************************************/ - -void AliHBTWeightQOutSQideQLongFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) -{ - //process particles from diff events (fills denominator) - trackpair = CheckPair(trackpair); -// partpair = CheckPair(partpair); - if ( trackpair && partpair) - { - Double_t out = trackpair->GetQOutLCMS(); - Double_t side = trackpair->GetQSideLCMS(); - Double_t lon = trackpair->GetQLongLCMS(); - - if (fAbs) - { - out = TMath::Abs(out); - side = TMath::Abs(side); - lon = TMath::Abs(lon); - } - - fDenominator->Fill(out,side,lon); - } -} -/*************************************************************/ - -TH1* AliHBTWeightQOutSQideQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} diff --git a/HBTAN/AliHBTWeightFctn.h b/HBTAN/AliHBTWeightFctn.h deleted file mode 100644 index ef7e62cc1a4..00000000000 --- a/HBTAN/AliHBTWeightFctn.h +++ /dev/null @@ -1,197 +0,0 @@ -#ifndef ALIHBTWeightQINVFCTN_H -#define ALIHBTWeightQINVFCTN_H - -/* $Id$ */ -//_________________________________________________________________________ -// -// class AliHBTWeightQInvFctn -// class AliHBTWeightQOutFctn -// class AliHBTWeightQSideFctn -// class AliHBTWeightQLongFctn -// -// This class allows to obtain Q_inv correlation function with weights -// calculated by Lednicky's alghorithm. -// Numerator is filled with weighted events. Weights are attributed to reconstructed tracks. -// Weights are calculated with corresponding simulated particles momenta. -// Denominator is filled with mixing unweighted reconstructed tracks. -// One needs both pairs -// (simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D. -// Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) -// -//////////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - - -class AliHBTWeights; - -class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightQInvFctn(){}; - TH1* GetResult(); - - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const - { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use - ClassDef(AliHBTWeightQInvFctn,3) -}; -/*************************************************************************************/ - -class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightQOutFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const - { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use - ClassDef(AliHBTWeightQOutFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightQLongFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const - { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used - - ClassDef(AliHBTWeightQLongFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightQSideFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const - { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used - - ClassDef(AliHBTWeightQSideFctn,3) -}; -/*************************************************************************************/ - -class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction -{ - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightTwoKStarFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTwoKStarFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const - { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used - ClassDef(AliHBTWeightTwoKStarFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQOutQSideFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTWeightQOutQSideFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} - ClassDef(AliHBTWeightQOutQSideFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQOutQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTWeightQOutQLongFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} - ClassDef(AliHBTWeightQOutQLongFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction -{ - - // friend class AliHBTOnePairFctn1D; - public: - AliHBTWeightQSideQLongFctn(Int_t nxbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0); - virtual ~AliHBTWeightQSideQLongFctn(){}; - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{} - ClassDef(AliHBTWeightQSideQLongFctn,3) - -}; -/*************************************************************************************/ - -class AliHBTWeightQOutSQideQLongFctn: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTWeightQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.3, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0); - virtual ~AliHBTWeightQOutSQideQLongFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, - Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const{ } - - ClassDef(AliHBTWeightQOutSQideQLongFctn,1) -}; - - -#endif diff --git a/HBTAN/AliHBTWeightTheorFctn.cxx b/HBTAN/AliHBTWeightTheorFctn.cxx deleted file mode 100644 index e7e0e3e1a2d..00000000000 --- a/HBTAN/AliHBTWeightTheorFctn.cxx +++ /dev/null @@ -1,263 +0,0 @@ -/* $Id$ */ - -//_____________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTWeightTheorQInvFctn -// -// This function allows to obtain Q_inv correlation function with weights -// calculated by Lednicky's alghorithm. -// Numerator is filled with weighted events. Weights are attributed to simulated particles. -// Weights are calculated with corresponding simulated particles momenta. -// Denominator is filled with mixing unweighted simulated particles. -// One needs only simulated pairs, so -// this function is of class AliHBTOnePairFctn1D. -//----------------------------------------------------------- -// This class introduces the weights calculated according -// with functions of efficiency of identification (TPC+TOF) -// (calculated by B.V. Batyunia). -// Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) -//----------------------------------------------------------- - -#include "AliHBTWeightTheorFctn.h" - -//--for test--AliHBTWeightQInvFctn* yyy= new AliHBTWeightQInvFctn(); -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorQInvFctn) -/*************************************************************/ - -AliHBTWeightTheorQInvFctn::AliHBTWeightTheorQInvFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqinvtheorcf","Q_{inv} Weight Theoretical Correlation Function"); -} -/**************************************************************/ - -void AliHBTWeightTheorQInvFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ - //Processes Particles and tracks Same different event - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQInv(),weight); -} -/**************************************************************/ - -TH1* AliHBTWeightTheorQInvFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorQOutFctn) -/*************************************************************/ - -AliHBTWeightTheorQOutFctn::AliHBTWeightTheorQOutFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqouttheorcf","Q_{out} Weight Theoretical Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ - //Processes Particles and tracks Same different even - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutLCMS(),weight); -} - -/**************************************************************/ -TH1* AliHBTWeightTheorQOutFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorQSideFctn) -/*************************************************************/ - -AliHBTWeightTheorQSideFctn::AliHBTWeightTheorQSideFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqsidetheorcf","Q_{side} Weight Theoretical Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ - //Processes Particles and tracks Same different even - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideLCMS(),weight); -} -/**************************************************************/ - -TH1* AliHBTWeightTheorQSideFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorQLongFctn) -/*************************************************************/ - -AliHBTWeightTheorQLongFctn::AliHBTWeightTheorQLongFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqlongtheorcf","Q_{long} Weight Theoretical Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ - //Processes Particles and tracks Same different even - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongLCMS(),weight); -} -/**************************************************************/ - -TH1* AliHBTWeightTheorQLongFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorQtFctn) -/*************************************************************/ - -AliHBTWeightTheorQtFctn::AliHBTWeightTheorQtFctn(Int_t nbins, Double_t maxXval, Double_t minXval): - AliHBTOnePairFctn1D(nbins,maxXval,minXval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqttheorcf","Q_{t} Weight Theoretical Correlation Function"); -} -/****************************************************************/ - -void AliHBTWeightTheorQtFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ - //Processes Particles and tracks Same different even - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQt(),weight); -} -/**************************************************************/ - -TH1* AliHBTWeightTheorQtFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} - -/*************************************************************/ -/*************************************************************/ -/*************************************************************/ - -ClassImp(AliHBTWeightTheorOSLFctn) - -AliHBTWeightTheorOSLFctn::AliHBTWeightTheorOSLFctn(Int_t nXbins, Double_t maxXval, Double_t minXval, - Int_t nYbins, Double_t maxYval, Double_t minYval, - Int_t nZbins, Double_t maxZval, Double_t minZval): - AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval) -{ - //ctor - fWriteNumAndDen = kTRUE;//change default behaviour - Rename("wqosltheorcf","Q_{out}-Q_{side}-Q_{long} Weight Theoretical Correlation Fctn"); -} - -/*************************************************************/ - -void AliHBTWeightTheorOSLFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const -{ -//returns values of a functions for a given pair of particles - x=pair->GetQOutLCMS(); - y=pair->GetQSideLCMS(); - z=pair->GetQLongLCMS(); - - if (fAbs) - { - x = TMath::Abs(x); - y = TMath::Abs(y); - z = TMath::Abs(z); - } - -} - -void AliHBTWeightTheorOSLFctn::ProcessSameEventParticles(AliHBTPair* partpair) -{ -//Fills numerator - partpair = CheckPair(partpair); - if (partpair == 0x0) return; - Double_t weight = partpair->GetWeight(); - Double_t out, side, lon; - - GetValues(partpair, out, side, lon); - -/* - if (out < 0.01) - if (side < 0.01) - if (lon < 0.01) - { - Info("TheorOSL Num","================================================================"); - Info("TheorOSL Num","o:%f, s:%f, l:%f, w%f",out,side,lon,weight); - Info("TheorOSL Num","First"); - partpair->Particle1()->Print(); - Info("TheorOSL Num","Second"); - partpair->Particle2()->Print(); - fflush(0); - } -*/ - fNumerator->Fill(out,side,lon,weight); -} -/*************************************************************/ - -TH1* AliHBTWeightTheorOSLFctn::GetResult() -{ - //returns the scaled ratio - delete fRatio; - fRatio = GetRatio(Scale()); - return fRatio; -} diff --git a/HBTAN/AliHBTWeightTheorFctn.h b/HBTAN/AliHBTWeightTheorFctn.h deleted file mode 100644 index 18913a44356..00000000000 --- a/HBTAN/AliHBTWeightTheorFctn.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef ALIHBTWeightTHEORFCTN_H -#define ALIHBTWeightTHEORFCTN_H -/* $Id$ */ -//_____________________________________________________________________________ -/////////////////////////////////////////////////////////////////////////////// -// -// class AliHBTWeightTheorQInvFctn -// -// This function allows to obtain Q_inv correlation function with weights -// calculated by Lednicky's alghorithm. -// Numerator is filled with weighted events. Weights are attributed to simulated particles. -// Weights are calculated with corresponding simulated particles momenta. -// Denominator is filled with mixing unweighted simulated particles. -// One needs only simulated pairs, so -// this function is of class AliHBTOnePairFctn1D. -// Author Ludmila Malinina JINR (malinina@sunhe.jinr.ru) -// -/////////////////////////////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - -class AliHBTWeights; - -class AliHBTWeightTheorQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTWeightTheorQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTheorQInvFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* partpair) const - { return partpair->GetQInv();} - - ClassDef(AliHBTWeightTheorQInvFctn,2) -}; -/*************************************************************/ - -class AliHBTWeightTheorQOutFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ - - public: - AliHBTWeightTheorQOutFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTheorQOutFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* partpair) const - { return partpair->GetQOutLCMS();} - - ClassDef(AliHBTWeightTheorQOutFctn,2) -}; -/*************************************************************/ - -class AliHBTWeightTheorQSideFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTWeightTheorQSideFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTheorQSideFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* partpair) const - { return partpair->GetQSideLCMS();} - - ClassDef(AliHBTWeightTheorQSideFctn,2) -}; -/*************************************************************/ - -class AliHBTWeightTheorQLongFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTWeightTheorQLongFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTheorQLongFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* partpair) const - { return partpair->GetQLongLCMS();} - - ClassDef(AliHBTWeightTheorQLongFctn,2) -}; - -/*************************************************************/ - -class AliHBTWeightTheorQtFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction -{ - public: - AliHBTWeightTheorQtFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0); - virtual ~AliHBTWeightTheorQtFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - Double_t GetValue(AliHBTPair* partpair) const - { return partpair->GetQt();} - - ClassDef(AliHBTWeightTheorQtFctn,1) -}; - -/*************************************************************/ - -class AliHBTWeightTheorOSLFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction -{ - - public: - AliHBTWeightTheorOSLFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0, - Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0, - Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0); - virtual ~AliHBTWeightTheorOSLFctn(){} - - TH1* GetResult(); - void ProcessSameEventParticles(AliHBTPair* partpair); - - protected: - void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const; - - ClassDef(AliHBTWeightTheorOSLFctn,2) -}; - -#endif diff --git a/HBTAN/AliHBTWeights.cxx b/HBTAN/AliHBTWeights.cxx deleted file mode 100644 index 9952c118f06..00000000000 --- a/HBTAN/AliHBTWeights.cxx +++ /dev/null @@ -1,11 +0,0 @@ -#include "AliHBTWeights.h" - -ClassImp(AliHBTWeights) - -AliHBTWeights* AliHBTWeights::fgWeights = 0x0; - -AliHBTWeights::~AliHBTWeights() - { - delete fgWeights; - fgWeights = 0x0; - } diff --git a/HBTAN/AliHBTWeights.h b/HBTAN/AliHBTWeights.h deleted file mode 100644 index 6a212d46744..00000000000 --- a/HBTAN/AliHBTWeights.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef ALIHBTWEIGHTS_H -#define ALIHBTWEIGHTS_H - -#include - -class AliHBTPair; - -class AliHBTWeights: public TObject - { - public: - virtual ~AliHBTWeights(); - static Double_t Weight(AliHBTPair* partpair){return (fgWeights)?fgWeights->GetWeight(partpair):0.0;} - virtual Double_t GetWeight(AliHBTPair* partpair) = 0; - virtual void Set() = 0; - static AliHBTWeights* Instance() {return fgWeights;} - - protected: - static AliHBTWeights* fgWeights; - - ClassDef(AliHBTWeights,2) - }; - -#endif diff --git a/HBTAN/AliHBTWeightsPID.cxx b/HBTAN/AliHBTWeightsPID.cxx deleted file mode 100644 index 84f99326b8c..00000000000 --- a/HBTAN/AliHBTWeightsPID.cxx +++ /dev/null @@ -1,212 +0,0 @@ -/* $Id $ */ - -//----------------------------------------------------------- -//This class introduces the weights calculated according -//with functions of efficiency of identification (TPC+TOF) -//(calculated by B.V. Batyunia). -//Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) -//----------------------------------------------------------- - -#include "AliHBTWeightsPID.h" -#include "AliHBTPair.h" -#include -#include -#include -#include - -ClassImp(AliHBTWeightsPID) - -AliHBTWeightsPID* AliHBTWeightsPID::fgWeightsPID=NULL; - -AliHBTWeightsPID::AliHBTWeightsPID() : - fEfficTPC1(0), - fEfficTPC2(0), - fEfficTOF1(0), - fEfficTOF2(0), - fPtK(0), - fPtKefftpc(0), - fPtKefftpcboth(0), - fEffic1pol(0), - fEffic2pol(0), - fEffic3pol(0), - fEffic4pol(0), - fEffic1polTOF(0), - fEffic2polTOF(0), - fEffic3polTOF(0), - fEffic4polTOF(0) -{ - //ctor - //initial parameters of model - - fPtK = new TH1F("fPtK"," pt of K+- ",40,0,4); - fPtKefftpc = new TH1F("fPtEfficKpos"," pt of K+ after efficiency cut ",40,0,4); - fPtKefftpcboth = new TH1F("fPtEfficKneg"," pt of K- after efficiency cut ",40,0,4); - - // efficiency functions (from pt) for K+- in the TPC - fEffic1pol = new TF1("fEffic1pol4","pol4",100.,480.); - // for -0.9 < eta < -0.7 - // for 0.7 < eta < 0.9 - fEffic1pol->SetParameter(0,-0.266362); - fEffic1pol->SetParameter(1,0.00565461); - fEffic1pol->SetParameter(2,-4.06686e-05); - fEffic1pol->SetParameter(3,1.39387e-07); - fEffic1pol->SetParameter(4,-1.59674e-10); - - fEffic2pol = new TF1("fEffic2pol4","pol4",100.,540.); - - fEffic2pol->SetParameter(0,-0.324881); - fEffic2pol->SetParameter(1,0.00565381); - fEffic2pol->SetParameter(2,-3.23633e-05); - fEffic2pol->SetParameter(3,9.72523e-08); - fEffic2pol->SetParameter(4,-1.01013e-10); - - fEffic3pol = new TF1("fEffic3pol4","pol4",100.,585.); - // for -0.5 < eta < -0.3 - // for 0.3 < eta < 0.5 - fEffic3pol->SetParameter(0,-0.306572); - fEffic3pol->SetParameter(1,0.00557472); - fEffic3pol->SetParameter(2,-3.33752e-05); - fEffic3pol->SetParameter(3,9.83241e-08); - fEffic3pol->SetParameter(4,-9.5827e-11); - fEffic4pol = new TF1("fEffic4pol4","pol4",100.,600.); - // for -0.3 < eta < 0.3 - fEffic4pol->SetParameter(0,-0.168648); - fEffic4pol->SetParameter(1,0.00252021); - fEffic4pol->SetParameter(2,-1.09113e-05); - fEffic4pol->SetParameter(3,3.34871e-08); - fEffic4pol->SetParameter(4,-3.31691e-11); - - // efficiency functions (from pt) for K+- in the TOF - fEffic1polTOF = new TF1("fEffic1pol4TOF","pol4",0.2,2.0); - // for -0.9 < eta < -0.7 - // for 0.7 < eta < 0.9 - fEffic1polTOF->SetParameter(0,-0.165885); - fEffic1polTOF->SetParameter(1,0.717459); - fEffic1polTOF->SetParameter(2,-0.457131); - fEffic1polTOF->SetParameter(3,0.284753); - fEffic1polTOF->SetParameter(4,-0.105215); - - fEffic2polTOF = new TF1("fEffic2pol4TOF","pol4",0.2,2.4); - // for -0.7 < eta < -0.5 - // for 0.5 < eta < 0.7 - - fEffic2polTOF->SetParameter(0,-0.165947); - fEffic2polTOF->SetParameter(1,0.702475); - fEffic2polTOF->SetParameter(2,-0.300313); - fEffic2polTOF->SetParameter(3,0.127047); - fEffic2polTOF->SetParameter(4,-0.0489395); - - - fEffic3polTOF = new TF1("fEffic3pol4TOF","pol4",0.2,2.4); - // for -0.5 < eta < -0.3 - // for 0.3 < eta < 0.5 - fEffic3polTOF->SetParameter(0,-0.339516); - fEffic3polTOF->SetParameter(1,1.56942); - fEffic3polTOF->SetParameter(2,-1.43132); - fEffic3polTOF->SetParameter(3,0.727148); - fEffic3polTOF->SetParameter(4,-0.158444); - fEffic4polTOF = new TF1("fEffic4pol4TOF","pol4",0.2,2.6); - // for -0.3 < eta < 0.3 - fEffic4polTOF->SetParameter(0,-0.243435); - fEffic4polTOF->SetParameter(1,1.00928); - fEffic4polTOF->SetParameter(2,-0.594597); - fEffic4polTOF->SetParameter(3,0.212601); - fEffic4polTOF->SetParameter(4,-0.0453419); - -} - -AliHBTWeightsPID* AliHBTWeightsPID::Instance() -{ - //Creates an instance of the class - //or returns pointer to already existing one - if (fgWeightsPID) { - return fgWeightsPID; - } else { - fgWeightsPID = new AliHBTWeightsPID(); - return fgWeightsPID; - } -} - - -Double_t AliHBTWeightsPID::GetWeightPID(const AliHBTPair* trackpair) -{ - //Calculates the weight of "trackpair" - AliVAODParticle *track1 = trackpair->Particle1(); - AliVAODParticle *track2 = trackpair->Particle2(); - - Double_t pt1=track1->Pt(); - Double_t eta1=track1->Eta(); - - fPtK->Fill(pt1); - - if(TMath::Abs(eta1) > 0.7 && TMath::Abs(eta1) < 0.9 && pt1 < 0.48) { - fEfficTPC1 = fEffic1pol->Eval(pt1*1000.); - }else if(TMath::Abs(eta1) > 0.5 && TMath::Abs(eta1) < 0.7 && pt1 < 0.54) { - fEfficTPC1 = fEffic2pol->Eval(pt1*1000.); - }else if(TMath::Abs(eta1) > 0.3 && TMath::Abs(eta1) < 0.5 && pt1 < 0.585) { - fEfficTPC1 = fEffic3pol->Eval(pt1*1000.); - }else if(eta1 > -0.3 && eta1 < 0.3 && pt1 < 0.6) { - fEfficTPC1 = fEffic4pol->Eval(pt1*1000.); - } - - // TOF efficiency - - if(pt1 > 0.2) { - if(TMath::Abs(eta1) > 0.7 && TMath::Abs(eta1) < 0.9 && pt1 < 2.0) { - fEfficTOF1 = fEffic1polTOF->Eval(pt1); - }else if(TMath::Abs(eta1) > 0.5 && TMath::Abs(eta1) < 0.7 && pt1 < 2.4) { - fEfficTOF1 = fEffic2polTOF->Eval(pt1); - }else if(TMath::Abs(eta1) > 0.3 && TMath::Abs(eta1) < 0.5 && pt1 < 2.4) { - fEfficTOF1 = fEffic3polTOF->Eval(pt1); - }else if(eta1 > -0.3 && eta1 < 0.3 && pt1 < 2.6) { - fEfficTOF1 = fEffic4polTOF->Eval(pt1); - } - } - - Double_t rndmtpc=gRandom->Rndm(); - Double_t rndmtof=gRandom->Rndm(); - Double_t weightPID1=1.; - if(fEfficTPC1 < rndmtpc && fEfficTOF1 < rndmtof) { weightPID1=0.;} - fPtKefftpc->Fill(pt1,weightPID1); - - - Double_t pt2=track2->Pt(); - Double_t eta2=track2->Eta(); - - // TPC efficiency - - if(TMath::Abs(eta2) > 0.7 && TMath::Abs(eta2) < 0.9 && pt2 < 0.48) { - fEfficTPC1 = fEffic1pol->Eval(pt2*1000.); - }else if(TMath::Abs(eta2) > 0.5 && TMath::Abs(eta2) < 0.7 && pt2 < 0.54) { - fEfficTPC1 = fEffic2pol->Eval(pt2*1000.); - }else if(TMath::Abs(eta2) > 0.3 && TMath::Abs(eta2) < 0.5 && pt2 < 0.585) { - fEfficTPC1 = fEffic3pol->Eval(pt2*1000.); - }else if(eta2 > -0.3 && eta2 < 0.3 && pt2 < 0.6) { - fEfficTPC1 = fEffic4pol->Eval(pt2*1000.); - } - - // TOF efficiency - - if(pt2 > 0.2) { - if(TMath::Abs(eta2) > 0.7 && TMath::Abs(eta2) < 0.9 && pt2 < 2.0) { - fEfficTOF1 = fEffic1polTOF->Eval(pt2); - }else if(TMath::Abs(eta2) > 0.5 && TMath::Abs(eta2) < 0.7 && pt2 < 2.4) { - fEfficTOF1 = fEffic2polTOF->Eval(pt2); - }else if(TMath::Abs(eta2) > 0.3 && TMath::Abs(eta2) < 0.5 && pt2 < 2.4) { - fEfficTOF1 = fEffic3polTOF->Eval(pt2); - }else if(eta2 > -0.3 && eta2 < 0.3 && pt2 < 2.6) { - fEfficTOF1 = fEffic4polTOF->Eval(pt2); - } - } - - rndmtpc=gRandom->Rndm(); - rndmtof=gRandom->Rndm(); - - Double_t weightPID2=1.; - if(fEfficTPC1 < rndmtpc && fEfficTOF1 < rndmtof) { weightPID2=0.;} - - Double_t weightPID=weightPID1*weightPID2; - fPtKefftpcboth->Fill(pt1,weightPID); - - return weightPID; -} diff --git a/HBTAN/AliHBTWeightsPID.h b/HBTAN/AliHBTWeightsPID.h deleted file mode 100644 index 63f83cc916d..00000000000 --- a/HBTAN/AliHBTWeightsPID.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef ALIHBTWeightSPID_H -#define ALIHBTWeightSPID_H -///////////////////////////////////////////////////////////// -// -//This class introduces the weights calculated according -//with functions of efficiency of identification (TPC+TOF) -//(calculated by B.V. Batyunia). -// -//Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru) -// -///////////////////////////////////////////////////////////// - -#include -class TF1; -class TH1; -class AliHBTPair; -class AliHBTWeightsPID: public TObject - { - public: - AliHBTWeightsPID(); - virtual ~AliHBTWeightsPID(){;} - static AliHBTWeightsPID* Instance(); - - Double_t GetWeightPID(const AliHBTPair* trackpair); //get weight calculated Batyunia's algorithm - - protected: - Float_t fEfficTPC1; // ...? - Float_t fEfficTPC2; // ...? - Float_t fEfficTOF1; // ...? - Float_t fEfficTOF2; // ...? - - static AliHBTWeightsPID *fgWeightsPID;// pointer to wrapper of Fortran Lednicky code - TH1 *fPtK; //comment? - TH1 *fPtKefftpc;//comment? - TH1 *fPtKefftpcboth;//comment? - TF1 *fEffic1pol;//comment? - TF1 *fEffic2pol;//comment? - TF1 *fEffic3pol;//comment? - TF1 *fEffic4pol;//comment? - - TF1 *fEffic1polTOF;//comment? - TF1 *fEffic2polTOF;//comment? - TF1 *fEffic3polTOF;//comment? - TF1 *fEffic4polTOF;//comment? - - private: - AliHBTWeightsPID(const AliHBTWeightsPID &source); // Not implemented - AliHBTWeightsPID & operator=(const AliHBTWeightsPID &/*source*/); // Not implemented - - ClassDef(AliHBTWeightsPID,2) - }; - -#endif diff --git a/HBTAN/AliHBTasCorrFctn.cxx b/HBTAN/AliHBTasCorrFctn.cxx deleted file mode 100644 index 8524e584415..00000000000 --- a/HBTAN/AliHBTasCorrFctn.cxx +++ /dev/null @@ -1,383 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-2002, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -#include -#include -#include - -#include "AliHBTasCorrFctn.h" - -/////////////////////////////////////////////////////// -// // -// AliHBTasCorrFctn.h // -// // -// Class for calculating 3D as correlation // -// functions // -// // -/////////////////////////////////////////////////////// - -ClassImp(AliHBTasCorrFctn) - - AliHBTasCorrFctn::AliHBTasCorrFctn(const char* name, const char* title): - AliHBTOnePairFctn1D(name,title), - - fNum(0x0), - fDen(0x0), - fRat(0x0), - fnbins(0), - fNumberOfIntervals(0), - fmaxXval(0), - fminXval(0) - -{ -//ctor -} - -/******************************************************************/ -AliHBTasCorrFctn::AliHBTasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval): - AliHBTOnePairFctn1D(name,title,nbins,maxXval,minXval), - - - fNum(new TObjArray()), - fDen(new TObjArray()), - fRat(new TObjArray()), - fnbins(0), - fNumberOfIntervals(0), - fmaxXval(0), - fminXval(0) -{ - SetParams(nbins,maxXval, minXval); -} - -/******************************************************************/ -AliHBTasCorrFctn::AliHBTasCorrFctn(const AliHBTasCorrFctn& in): - AliHBTOnePairFctn1D(in), - - - - fNum((in.fNum)?(TObjArray*)in.fNum->Clone():0x0), - fDen((in.fDen)?(TObjArray*)in.fDen->Clone():0x0), - fRat((in.fRat)?(TObjArray*)in.fRat->Clone():0x0), - fnbins(in.fnbins), - fNumberOfIntervals(in.fNumberOfIntervals), - fmaxXval(in.fmaxXval), - fminXval(in.fminXval) - - { -//ctor -} - -/******************************************************************/ - -AliHBTasCorrFctn::~AliHBTasCorrFctn() -{ - //dtor - - delete fNum; - delete fDen; - delete fRat; - -} - -/******************************************************************/ -Int_t AliHBTasCorrFctn::Write(const char*,Int_t, Int_t) -{ -//out - Int_t i; -// Int_t n=GetNumberOfIntervals(); - Double_t scale; - - for(i=0;iAt(i)); - TH1D *den = ((TH1D*)fDen->At(i)); - TH1D &rat = *((TH1D*)fRat->At(i)); - scale = Scale(num,den); - Info("Write():","Scale in interval %d = %lf",i,scale); - rat.Divide(num,den,scale); - - - num->Write(); - den->Write(); - rat.Write(); - } - return 0; -} - -//------------------------------------- -void AliHBTasCorrFctn::ProcessSameEventParticles(AliHBTPair* pair) -{ - //Fills the numerator using pair from the same event - pair = CheckPair(pair); - if(pair == 0x0) return; - // int n = GetNumberOfIntervals(); - int n = fNumberOfIntervals; - Double_t rplane=0.; //reaction plane angle - 2 B determined - Double_t phi=(pair->Particle1()->Phi()+pair->Particle2()->Phi())/2.-rplane; //deltaphi bo nie mam nic innego pod reka - phi=phi*360/(2*TMath::Pi()); - Double_t q=GetValue(pair); - Int_t ntv; - ntv = (int)(phi*n/(360.)); - - TH1D *num = ((TH1D*)fNum->At(ntv)); - - num->Fill(q); - -} - -/****************************************************************/ -void AliHBTasCorrFctn::Init() -{ - BuildHistos(); -} -/****************************************************************/ - - -void AliHBTasCorrFctn::ProcessDiffEventParticles(AliHBTPair* pair) -{ -//fills denumerator with data from different events - Double_t rplane=0.; //reaction plane angle - 2 B determined - Double_t phi=(pair->Particle1()->Phi()+pair->Particle2()->Phi())/2.-rplane; //deltaphi bo nie mam nic innego pod reka - phi=phi*360/(2*TMath::Pi()); - Double_t qout=GetValue(pair); - -// int n=GetNumberOfIntervals(); - int n = fNumberOfIntervals; - - Int_t ntv; - ntv = (int)(phi*n/(360.)); - - TH1D &den = *((TH1D*)fDen->At(ntv)); - - - den.Fill(qout); -} - - -/******************************************************************/ - - -void AliHBTasCorrFctn::SetParams(Int_t nbins, Float_t maxXval, Float_t minXval) -{ -//sets parameters for histograms - fnbins=nbins; - fmaxXval= maxXval; - fminXval=minXval; -} -TH1* AliHBTasCorrFctn::GetResult() -{ -//does nothing, it can as well have nothing inside, its just for class to work normally - TH1D *den = ((TH1D*)fDen->UncheckedAt(1)); - return den; - } - - - -ClassImp(AliHBTQOutasCorrFctn) - - AliHBTQOutasCorrFctn::AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval): -AliHBTasCorrFctn(name,title,nbins,maxXval,minXval) - -{ -//ct0r -} - -void AliHBTQOutasCorrFctn::BuildHistos() -{ -//builds histograms - Int_t i; - int n=GetNumberOfIntervals(); - - int nbins=Getnbins(); - - double max = GetmaxXval(); - double min = GetminXval(); - char buff[10]; - - - - TH1D *num; - TH1D *den; - TH1D *rat; - - TString nameNum = "NumOut"; - TString nameDen = "DenOut"; - TString nameRat = "RatOut"; - - for(i=0;iSumw2(); - den->Sumw2(); - rat->Sumw2(); - - num->Reset(); - den->Reset(); - rat->Reset(); - - fNum->Add(num); - fDen->Add(den); - fRat->Add(rat); - - nameNum = TString("NumOut"); - nameDen = TString("DenOut"); - nameRat = TString("RatOut"); - - } - - - } - -ClassImp(AliHBTQSideasCorrFctn) - - AliHBTQSideasCorrFctn::AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval): -AliHBTasCorrFctn(name,title,nbins,maxXval,minXval) - -{ -//ct0r -} - -void AliHBTQSideasCorrFctn::BuildHistos() -{ -//builds histograms - Int_t i; - int n=GetNumberOfIntervals(); - int nbins=Getnbins(); - - double max = GetmaxXval(); - double min = GetminXval(); - char buff[10]; - - - - TH1D *num; - TH1D *den; - TH1D *rat; - - TString nameNum = "NumSide"; - TString nameDen = "DenSide"; - TString nameRat = "RatSide"; - - for(i=0;iSumw2(); - den->Sumw2(); - rat->Sumw2(); - - num->Reset(); - den->Reset(); - rat->Reset(); - - fNum->Add(num); - fDen->Add(den); - fRat->Add(rat); - - nameNum = TString("NumSide"); - nameDen = TString("DenSide"); - nameRat = TString("RatSide"); - - } - - - } - -ClassImp(AliHBTQLongasCorrFctn) - - AliHBTQLongasCorrFctn::AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval): -AliHBTasCorrFctn(name,title,nbins,maxXval,minXval) - -{ -//ct0r -} - -void AliHBTQLongasCorrFctn::BuildHistos() -{ -//builds histograms - Int_t i; - int n=GetNumberOfIntervals(); - int nbins=Getnbins(); - - double max = GetmaxXval(); - double min = GetminXval(); - char buff[10]; - - - - TH1D *num; - TH1D *den; - TH1D *rat; - - TString nameNum = "NumLong"; - TString nameDen = "DenLong"; - TString nameRat = "RatLong"; - - for(i=0;iSumw2(); - den->Sumw2(); - rat->Sumw2(); - - num->Reset(); - den->Reset(); - rat->Reset(); - - fNum->Add(num); - fDen->Add(den); - fRat->Add(rat); - - nameNum = TString("NumLong"); - nameDen = TString("DenLong"); - nameRat = TString("RatLong"); - - } - - - } diff --git a/HBTAN/AliHBTasCorrFctn.h b/HBTAN/AliHBTasCorrFctn.h deleted file mode 100644 index c39965704fc..00000000000 --- a/HBTAN/AliHBTasCorrFctn.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef ALIHBTASCORRFCTN_H -#define ALIHBTASCORRFCTN_H - -/////////////////////////////////////////////////////// -// // -// AliHBTasCorrFctn.h // -// // -// Class for calculating 3D as correlation // -// functions // -//author: Grzegorz.Galazka@cern.ch // -/////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - - -class AliHBTasCorrFctn: public AliHBTOnePairFctn1D -{ -public: - AliHBTasCorrFctn(const char* name = "asejdzbitiCF", - const char* title= "as Correlation Function"); - - AliHBTasCorrFctn(const char* name, const char* title, - Int_t nbins, Float_t maxXval, Float_t minXval); - AliHBTasCorrFctn(const AliHBTasCorrFctn& in); - - virtual ~AliHBTasCorrFctn(); - - void Init(); - void ProcessSameEventParticles(AliHBTPair* pair); - void ProcessDiffEventParticles(AliHBTPair* pair); - Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0); - Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTOnePairFctn1D::Write(x1,x2,x3);} - - void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;} - - Int_t GetNumberOfIntervals(){return fNumberOfIntervals;} - - - TH1* GetResult(); - -protected: - - virtual Double_t GetValue(AliHBTPair* pair) const = 0; - virtual void BuildHistos() = 0; - void BuildHistos(Int_t nbins, Float_t max, Float_t min) { - AliHBTOnePairFctn1D::BuildHistos(nbins, max, min); - } - int Getnbins(){ return fnbins;} // this are workarounds for my lame coding - double GetmaxXval(){return fmaxXval;} // these methods are uset to build histograms - double GetminXval(){return fminXval;} // with set by user number of bins etc. - void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval); // - - TObjArray* fNum; // numerators array - TObjArray* fDen; // denominators array - TObjArray* fRat;// correl. fnctns array - - -private: - int fnbins; //number of bins in histograms - Int_t fNumberOfIntervals; //number of intervals - double fmaxXval; //max histogram's X value - double fminXval; //min histogram's X value - - AliHBTasCorrFctn& operator=(const AliHBTasCorrFctn&); // Not implemented - - ClassDef(AliHBTasCorrFctn,1) -}; - -class AliHBTQOutasCorrFctn: public AliHBTasCorrFctn{ -public: - AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval); - - virtual ~AliHBTQOutasCorrFctn(){}; - - -protected: - Double_t GetValue(AliHBTPair* pair) const {return pair->GetQOutLCMS();} - void BuildHistos(Int_t nbins, Float_t max, Float_t min) { - AliHBTasCorrFctn::BuildHistos(nbins, max, min); - } - void BuildHistos(); -private: - ClassDef(AliHBTQOutasCorrFctn,1) -}; - -class AliHBTQSideasCorrFctn: public AliHBTasCorrFctn{ -public: - AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval); -// AliHBTSideasCorrFctn(const AliHBTasCorrFctn& in); - - virtual ~AliHBTQSideasCorrFctn(){}; - -protected: - Double_t GetValue(AliHBTPair* pair) const {return pair->GetQSideLCMS();} - void BuildHistos(Int_t nbins, Float_t max, Float_t min) { - AliHBTasCorrFctn::BuildHistos(nbins, max, min); - } - void BuildHistos(); -private: - ClassDef(AliHBTQSideasCorrFctn,1) -}; - - -class AliHBTQLongasCorrFctn: public AliHBTasCorrFctn{ -public: - AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval); - - virtual ~AliHBTQLongasCorrFctn(){}; - -protected: - Double_t GetValue(AliHBTPair* pair) const {return pair->GetQLongLCMS();} - void BuildHistos(Int_t nbins, Float_t max, Float_t min) { - AliHBTasCorrFctn::BuildHistos(nbins, max, min); - } - void BuildHistos(); -private: - ClassDef(AliHBTQLongasCorrFctn,1) -}; - - -#endif diff --git a/HBTAN/AliHBTashbtCorrFctn.cxx b/HBTAN/AliHBTashbtCorrFctn.cxx deleted file mode 100644 index d85ec710b62..00000000000 --- a/HBTAN/AliHBTashbtCorrFctn.cxx +++ /dev/null @@ -1,13 +0,0 @@ -#include "AliHBTashbtCorrFctn.h" - -/////////////////////////////////////////////////////// -// // -// AliHBTashbtCorrFctn.h // -// // -// Class for calculating 3D ashbt correlation // -// functions // -// // -/////////////////////////////////////////////////////// - -ClassImp(AliHBTashbtCorrFctn) - diff --git a/HBTAN/AliHBTashbtCorrFctn.h b/HBTAN/AliHBTashbtCorrFctn.h deleted file mode 100644 index 925ca820471..00000000000 --- a/HBTAN/AliHBTashbtCorrFctn.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef ALIHBTASHBTCORRFCTN_H -#define ALIHBTASHBTCORRFCTN_H - -/////////////////////////////////////////////////////// -// // -// AliHBTashbtCorrFctn.h // -// // -// Class for calculating 3D ashbt correlation // -// functions // -// // -/////////////////////////////////////////////////////// - -#include "AliHBTFunction.h" - - -class AliHBTashbtCorrFctn: public AliHBTOnePairFctn1D -{ - public: - AliHBTashbtCorrFctn(const char* name = "asejdzbitiCF", - const char* title= "asHBT Correlation Function"){Info("AliHBTashbtCorrFctn","%s %s",name,title);} - - virtual ~AliHBTashbtCorrFctn(){} - - ClassDef(AliHBTashbtCorrFctn,2) -}; - -#endif diff --git a/HBTAN/CMakeLists.txt b/HBTAN/CMakeLists.txt deleted file mode 100644 index a3610db113e..00000000000 --- a/HBTAN/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -*- mode: cmake -*- - -# Create a library called "lib" which includes the source files given in -# the array . -# The extension is already found. Any number of sources could be listed here. - -set(INCLUDE_DIRECTORIES -${CMAKE_SOURCE_DIR}/HBTAN -${CMAKE_SOURCE_DIR}/STEER -${CMAKE_SOURCE_DIR}/ANALYSIS -${ROOT_INCLUDE_DIR} -) - -include_directories( ${INCLUDE_DIRECTORIES}) - -set(LINK_DIRECTORIES -${ROOT_LIBRARY_DIR} -) - -link_directories( ${LINK_DIRECTORIES}) - -SetModule() - -include(CMake_libHBTAN.txt) - diff --git a/HBTAN/CMake_libHBTAN.txt b/HBTAN/CMake_libHBTAN.txt deleted file mode 100644 index 6b4672ab003..00000000000 --- a/HBTAN/CMake_libHBTAN.txt +++ /dev/null @@ -1,33 +0,0 @@ -# -*- mode: cmake -*- - -set(SRCS -AliHBTWeights.cxx AliHBTCrab.cxx AliHBTAnalysis.cxx -AliHBTPair.cxx AliHBTAnalysisStavinskyMixing.cxx -AliHBTFunction.cxx AliHBTCorrelFctn.cxx -AliHBTMonitorFunction.cxx AliHBTTwoTrackEffFctn.cxx -AliHBTQResolutionFctns.cxx AliHBTQDistributionVsQInvFctns.cxx AliHBTQDistributionVsKtFctns.cxx -AliHBTRDistributions.cxx -AliHBTMonDistributionFctns.cxx AliHBTMonResolutionFctns.cxx -AliHBTLLWeights.cxx AliHBTWeightFctn.cxx -AliHBTWeightsPID.cxx AliHBTWeightTheorFctn.cxx -AliHBTPositionRandomizer.cxx -AliHBTCorrFitFctn.cxx AliHBTPIDPurityFctns.cxx -AliHBTCorrectQInvCorrelFctn.cxx AliHBTCorrectOSLCorrelFctn.cxx -AliHBTasCorrFctn.cxx AliHBTMonSplitting.cxx -) - -set(FSRCS -fsiini.F -fsiw.F -led_bldata.F -ltran12.F -) - -# fill list of header files from list of source files -# by exchanging the file extension -String(REPLACE ".cxx" ".h" HDRS "${SRCS}") - -Set(SRCS ${SRCS} ${FSRCS}) - -AddLibrary(HBTAN "${SRCS}" "${HDRS}") - diff --git a/HBTAN/HBTANLinkDef.h b/HBTAN/HBTANLinkDef.h deleted file mode 100644 index 25c842c0780..00000000000 --- a/HBTAN/HBTANLinkDef.h +++ /dev/null @@ -1,188 +0,0 @@ -#ifdef __CINT__ - -#pragma link off all globals; -#pragma link off all classes; -#pragma link off all functions; - -#pragma link C++ class AliHBTAnalysis+; -#pragma link C++ class AliHBTPair+; -#pragma link C++ class AliHBTFunction+; -#pragma link C++ class AliHBTMonitorFunction+; - -#pragma link C++ class AliHBTCorrelFunction+; - -#pragma link C++ class AliHBTFunction1D+; -#pragma link C++ class AliHBTFunction2D+; -#pragma link C++ class AliHBTFunction3D+; - -#pragma link C++ class AliHBTOnePairFctn+; -#pragma link C++ class AliHBTOnePairFctn1D+; -#pragma link C++ class AliHBTOnePairFctn2D+; -#pragma link C++ class AliHBTOnePairFctn3D+; -#pragma link C++ class AliHBTTwoPairFctn+; -#pragma link C++ class AliHBTTwoPairFctn1D+; -#pragma link C++ class AliHBTTwoPairFctn2D+; -#pragma link C++ class AliHBTTwoPairFctn3D+; - -#pragma link C++ class AliHBTMonOneParticleFctn+; -#pragma link C++ class AliHBTMonOneParticleFctn1D+; -#pragma link C++ class AliHBTMonOneParticleFctn2D+; -#pragma link C++ class AliHBTMonOneParticleFctn3D+; -#pragma link C++ class AliHBTMonTwoParticleFctn+; -#pragma link C++ class AliHBTMonTwoParticleFctn1D+; -#pragma link C++ class AliHBTMonTwoParticleFctn2D+; -#pragma link C++ class AliHBTMonTwoParticleFctn3D+; - -#pragma link C++ class AliHBTQInvCorrelFctn+; -#pragma link C++ class AliHBTOutSideLongFctn+; -#pragma link C++ class AliHBTTwoKStarCorrelFctn+; -#pragma link C++ class AliHBTQOutLCMSCorrelFctn+; -#pragma link C++ class AliHBTQLongLCMSCorrelFctn+; -#pragma link C++ class AliHBTQSideLCMSCorrelFctn+; -#pragma link C++ class AliHBTQtLCMSCorrelFctn+; -#pragma link C++ class AliHBTQtCorrelFctn+; -#pragma link C++ class AliHBTQOutQSideFctn+; -#pragma link C++ class AliHBTQOutQLongFctn+; -#pragma link C++ class AliHBTQSideQLongFctn+; - - -#pragma link C++ class AliHBTAvSeparCorrelFctn+; -#pragma link C++ class AliHBTAvSeparVsQInvCorrelFctn+; - -#pragma link C++ class AliHBTasCorrFctn+; //gg -#pragma link C++ class AliHBTQOutasCorrFctn+; -#pragma link C++ class AliHBTQSideasCorrFctn+; -#pragma link C++ class AliHBTQLongasCorrFctn+; - -#pragma link C++ class AliHBTInvMassCorrelFctn+; -#pragma link C++ class AliHBTCorrFitFctn+; - -#pragma link C++ class AliHBTCorrectedCorrelFctn+; -#pragma link C++ class AliHBTCorrectQInvCorrelFctn+; -#pragma link C++ class AliHBTCorrectOSLCorrelFctn+; - -#pragma link C++ class AliHBTKtResolVsQInvFctn+; - -#pragma link C++ class AliHBTQInvResolVsQInvFctn+; -#pragma link C++ class AliHBTQOutResolVsQInvFctn+; -#pragma link C++ class AliHBTQSideResolVsQInvFctn+; -#pragma link C++ class AliHBTQLongResolVsQInvFctn+; - -#pragma link C++ class AliHBTQInvResolVsKtFctn+; -#pragma link C++ class AliHBTQOutResolVsKtFctn+; -#pragma link C++ class AliHBTQSideResolVsKtFctn+; -#pragma link C++ class AliHBTQLongResolVsKtFctn+; - -#pragma link C++ class AliHBTQOutResolVsQOutFctn+; -#pragma link C++ class AliHBTQSideResolVsQSideFctn+; -#pragma link C++ class AliHBTQLongResolVsQLongFctn+; - -#pragma link C++ class AliHBTPairThetaResolVsQInvFctn+; -#pragma link C++ class AliHBTPairPhiResolVsQInvFctn+; -#pragma link C++ class AliHBTPairThetaResolVsKtFctn+; -#pragma link C++ class AliHBTPairPhiResolVsKtFctn+; -#pragma link C++ class AliHBTPairPhiResolVsPairPhiFctn+; -#pragma link C++ class AliHBTPairThetaResolVsPairThetaFctn+; - -#pragma link C++ class AliHBTQInvDistributionVsKtFctn+; -#pragma link C++ class AliHBTQOutDistributionVsKtFctn+; -#pragma link C++ class AliHBTQSideDistributionVsKtFctn+; -#pragma link C++ class AliHBTQLongDistributionVsKtFctn+; -#pragma link C++ class AliHBTQOutDistributionVsQInvFctn+; -#pragma link C++ class AliHBTQSideDistributionVsQInvFctn+; -#pragma link C++ class AliHBTQLongDistributionVsQInvFctn+; -#pragma link C++ class AliHBTPtDiffDistributionVsQInvFctn+; -#pragma link C++ class AliHBTRStarDistribution+; -#pragma link C++ class AliHBTRDistribution+; - -#pragma link C++ class AliHBTMonThetaDistributionFctn+; -#pragma link C++ class AliHBTMonPhiDistributionFctn+; -#pragma link C++ class AliHBTMonPxDistributionFctn+; -#pragma link C++ class AliHBTMonPyDistributionFctn+; -#pragma link C++ class AliHBTMonPzDistributionFctn+; -#pragma link C++ class AliHBTMonPDistributionFctn+; -#pragma link C++ class AliHBTMonPtDistributionFctn+; -#pragma link C++ class AliHBTMonVxDistributionFctn+; -#pragma link C++ class AliHBTMonVyDistributionFctn+; -#pragma link C++ class AliHBTMonVzDistributionFctn+; -#pragma link C++ class AliHBTMonRDistributionFctn+; - -#pragma link C++ class AliHBTMonPxDistributionVsPtFctn+; -#pragma link C++ class AliHBTMonPyDistributionVsPtFctn+; -#pragma link C++ class AliHBTMonPzDistributionVsPtFctn+; -#pragma link C++ class AliHBTMonPDistributionVsPtFctn+; -#pragma link C++ class AliHBTMonPhiDistributionVsPtFctn+; -#pragma link C++ class AliHBTMonThetaDistributionVsPtFctn+; - -#pragma link C++ class AliHBTMonPxResolutionFctn+; -#pragma link C++ class AliHBTMonPyResolutionFctn+; -#pragma link C++ class AliHBTMonPzResolutionFctn+; -#pragma link C++ class AliHBTMonPResolutionFctn+; -#pragma link C++ class AliHBTMonPtResolutionFctn+; -#pragma link C++ class AliHBTMonPhiResolutionFctn+; -#pragma link C++ class AliHBTMonThetaResolutionFctn+; - -#pragma link C++ class AliHBTMonPxResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPyResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPzResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPtResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPhiResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonThetaResolutionVsPtFctn+; -#pragma link C++ class AliHBTMonPhiResolutionVsPhiFctn+; -#pragma link C++ class AliHBTMonThetaResolutionVsThetaFctn+; - - -#pragma link C++ class AliHBTMonPIDPurityVsPtFctn+; -#pragma link C++ class AliHBTMonPIDContaminationVsPtFctn+; -#pragma link C++ class AliHBTQInvCorrelFctnPerfectPID+; -#pragma link C++ class AliHBTWeightQInvCorrelFctnPerfectPID+; -#pragma link C++ class AliHBTWeightQOutSQideQLongFctnPerfectPID+; -#pragma link C++ class AliHBTQOutSQideQLongFctnPerfectPID+; -#pragma link C++ class AliHBTPairPIDProbVsQInvFctn+; -#pragma link C++ class AliHBTPairPIDProbVsQOutSQideQLongFctn+; -#pragma link C++ class AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID+; -#pragma link C++ class AliHBTPairPIDProbVsPtThetaPhiFctn+; - -#pragma link C++ class AliHBTTwoTrackEffFctn+; -#pragma link C++ class AliHBTTwoTrackEffFctnPtThetaPhi+; -#pragma link C++ class AliHBTTwoTrackEffFctnPxPyPz+; - -#pragma link C++ class AliHBTWeights+; -#pragma link C++ class AliHBTCrab+; -#pragma link C++ class AliHBTLLWeights+; - -#pragma link C++ class AliHBTWeightQInvFctn+; -#pragma link C++ class AliHBTWeightQOutFctn+; -#pragma link C++ class AliHBTWeightQSideFctn+; -#pragma link C++ class AliHBTWeightQLongFctn+; -#pragma link C++ class AliHBTWeightTwoKStarFctn+; -#pragma link C++ class AliHBTWeightQOutQSideFctn+; -#pragma link C++ class AliHBTWeightQOutQLongFctn+; -#pragma link C++ class AliHBTWeightQSideQLongFctn+; -#pragma link C++ class AliHBTWeightQOutSQideQLongFctn+; - - -#pragma link C++ class AliHBTWeightTheorQInvFctn+; -#pragma link C++ class AliHBTWeightTheorQOutFctn+; -#pragma link C++ class AliHBTWeightTheorQSideFctn+; -#pragma link C++ class AliHBTWeightTheorQLongFctn+; -#pragma link C++ class AliHBTWeightTheorQtFctn+; -#pragma link C++ class AliHBTWeightTheorOSLFctn+; -#pragma link C++ class AliHBTWeightsPID+; - -#pragma link C++ class AliHBTPositionRandomizer+; -#pragma link C++ class AliHBTRndm+; -#pragma link C++ class AliHBTRndmGaussBall+; -#pragma link C++ class AliHBTRndmCyllSurf+; -#pragma link C++ class AliHBTRndmEllipse+; -#pragma link C++ class AliHBTMonVyDistributionVsVxFctn+; -#pragma link C++ class AliHBTMonRtDistributionVsVzFctn+; - -#pragma link C++ class AliHBTAnalysisStavinskyMixing+; - -#pragma link C++ class AliHBTMonSplittingQosl+; -#pragma link C++ class AliHBTMonSplittingDptDthetaDphi+; - -//#pragma link C++ class AliHBTGoComPair+; -#endif diff --git a/HBTAN/WLedCOMMONS.h b/HBTAN/WLedCOMMONS.h deleted file mode 100644 index 464a175aab4..00000000000 --- a/HBTAN/WLedCOMMONS.h +++ /dev/null @@ -1,194 +0,0 @@ -#ifndef HBTWLedCOMMON -#define HBTWLedCOMMON - -extern "C" { - - -#ifndef __CINT__ -#define f2cFortran -#ifndef __CFORTRAN_LOADED -#include "cfortran.h" -#endif -#endif - -#ifndef __CINT__ -//---------------------------------------------------------------- -/* - COMMON/CONS/PI,PI2,SPI,DR,W -*/ - - typedef struct //FSI_CONS - { - Double_t PI; // 3.141592654 - Double_t PI2; // PI2=2*PI - Double_t SPI; // SPI=DSQRT(PI) - Double_t DR; // DR=180.D0/PI from radian to degree - Double_t W; // W=1/.1973D0 from fm to 1/GeV - }HBTWLedCONSCommon; - -#define FSI_CONS COMMON_BLOCK(FSI_CONS,fsi_cons) -COMMON_BLOCK_DEF(HBTWLedCONSCommon, FSI_CONS); -//---------------------------------------------------------------- -/* - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS -*/ - - - - typedef struct //LEDWEIGHT - { - Double_t WEIF; - Double_t WEI; - Double_t WEIN; - Int_t ITEST; - Int_t IRANPOS; - }HBTLEDWEIGHTCommon; - -#define LEDWEIGHT COMMON_BLOCK(LEDWEIGHT,ledweight) -COMMON_BLOCK_DEF(HBTLEDWEIGHTCommon, LEDWEIGHT); - -//----------------------------------------------------------------- -/* COMMON/MOMLAB/AM1,PXP1,PYP1,PZP1,AM2,PXP2,PYP2,PZP2 - REAL*8 AM1,PXP1,PYP1,PZP1,AM2,PXP2,PYP2,PZP2 -*/ - - - typedef struct //MOMLAB - { - Double_t AM1; - Double_t PXP1; - Double_t PYP1; - Double_t PZP1; - Double_t AM2; - Double_t PXP2; - Double_t PYP2; - Double_t PZP2; - - }HBTWLedMOMLABCommon; - -#define MOMLAB COMMON_BLOCK(MOMLAB,momlab) - -COMMON_BLOCK_DEF(HBTWLedMOMLABCommon, MOMLAB); - -//--------------------------------------------------------------------------- -/* COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, ! particle momenta in the -// rest frame of effective nucleu - 1 P2X,P2Y,P2Z,E2,P2 - */ - typedef struct //FSI_MOM - { - Double_t P1X; // [GeV/c] - Double_t P1Y; - Double_t P1Z; - Double_t E1; - Double_t P1; - Double_t P2X; - Double_t P2Y; - Double_t P2Z; - Double_t E2; - Double_t P2; - }HBTWLedFSI_MOMCommon; - -#define FSI_MOM COMMON_BLOCK(FSI_MOM,fsi_mom) -COMMON_BLOCK_DEF(HBTWLedFSI_MOMCommon, FSI_MOM); - -//--------------------------------------------------------------------------- -/* COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - INTEGER LL,NS,ICH,ISI,IQS,I3C,I3S -*/ - - typedef struct //FSI_NS - { - Int_t LL; // [GeV/c] - Int_t NS; - Int_t ICH; - Int_t ISI; - Int_t IQS; - Int_t I3C; - Int_t I3S; - }HBTWLedFSI_NSCommon; - -#define FSI_NS COMMON_BLOCK(FSI_NS,fsi_ns) -COMMON_BLOCK_DEF(HBTWLedFSI_NSCommon, FSI_NS); - -//--------------------------------------------------------------------------- - - -//----------------------------------------------------------------------- - - typedef struct //FSI_COOR - { - Double_t X1; - Double_t Y1; - Double_t Z1; - Double_t T1; - Double_t R1; - Double_t X2; - Double_t Y2; - Double_t Z2; - Double_t T2; - Double_t R2; - }HBTWLedFSI_COORCommon; - -#define FSI_COOR COMMON_BLOCK(FSI_COOR,fsi_coor) -COMMON_BLOCK_DEF(HBTWLedFSI_COORCommon, FSI_COOR); -//------------------------------------------------------------------- - -//--------------------------------------------------------------------------- -/* COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 -*/ - typedef struct //FSI_POC - { - Double_t AMN; //mass of the effective nucleus [GeV/c**2] - Double_t AM1; - Double_t AM2; - Double_t CN; //charge of the effective nucleus [elem. charge units] - Double_t C1; - Double_t C2; - Double_t AC1; - Double_t AC2; - }HBTWLedFSI_POCCommon; - -#define FSI_POC COMMON_BLOCK(FSI_POC,fsi_poc) -COMMON_BLOCK_DEF(HBTWLedFSI_POCCommon, FSI_POC); - -//-------------------------------------------- -//--------------------------------------------------------------------------- - -/* COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, ! k*=(p1-p2)/2 and x1-x2 - X,Y,Z,T,RP,RPS ! in pair rest frame (PRF) - */ - -typedef struct //FSI_PRF - { - Double_t PPX; - Double_t PPY; - Double_t PPZ; - Double_t AK; - Double_t AKS; - Double_t X; - Double_t Y; - Double_t Z; - Double_t T; - Double_t RP; - Double_t RPS; - }HBTWLedFSI_PRFCommon; - -#define FSI_PRF COMMON_BLOCK(FSI_PRF,fsi_prf) -COMMON_BLOCK_DEF(HBTWLedFSI_PRFCommon, FSI_PRF); -//----------------------------------------------------------------------- - - - - - - - -/************************************************************************************************/ - -#endif - -} - - -#endif diff --git a/HBTAN/fsiini.F b/HBTAN/fsiini.F deleted file mode 100644 index b68faf57f09..00000000000 --- a/HBTAN/fsiini.F +++ /dev/null @@ -1,245 +0,0 @@ - - SUBROUTINE FSIINI -C---Note: -C-- ICH= 0 (1) if the Coulomb interaction is absent (present); -C-- ISPIN= JJ= 1,2,..,MSPIN denote increasing values of the pair -C-- total spin S. -C-- To calculate the CF of two particles (with masses m1, m2 and -C-- charges C1, C2) the following information is required: -C-- AM= twice the reduced mass= 2*m1*m2/(m1+m2) in GeV/c^2, -C-- DM= (m1-m2)/(m1+m2), required if NS=2; -C-- AC= Bohr radius= 2*137.036*0.1973/(C1*C2*AMH) in fm; -C-- AC > 1.D9 if C1*C2= 0, AC < 0 if C1*C2 < 0; -C-- MSPIN= MSPINH(LL)= number of the values of the total pair spin S; -C-- FD= FDH(LL,JJ), RD= RDH(LL,JJ)= scattering length and effective -C-- radius for each value of the total pair spin S, JJ= 1,..,MSPIN; ; -C-- the corresponding square well parameters EB= EBH(LL,JJ), RB= -C-- RBH(LL,JJ) (required if NS=1) may be calculated by SEAR; -C-- if the effective range approximation is not valid (as is the case, -C-- e.g., for two-pion system) a code for calculation of the scattering -C-- amplitude should be supplemented; -C-- RHO= RHOH(LL,JJ), SF= SFH(LL,JJ), SE= SEH(LL) are spin factors; -C-- RHO= the probability that the spins j1 and j2 of the two particles -C-- will combine in a total spin S; -C-- RHO= (2*S+1)/[(2j1+1)*(2j2+1)] for unpolarized particles; -C-- RHO= (1-P1*P2)/4 and (3+P1*P2)/4 correspond to S=0 and 1 in the -C-- case of spin-1/2 particles with polarizations P1 and P2; -C----------------------------------------------------------------------- - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_SPIN/RHO(10) - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_FD/FD(10),RD(10) - COMMON/FSI_C/C(10),AM,AMS,DM - COMMON/FSI_CONS/PI,PI2,SPI,DR,W - COMPLEX*16 C - COMMON/FSI_AA/AA - COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4) - COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10), - 1 SBKRB(10),SDKK(10) - - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS - - DIMENSION FDH(30,10),RDH(30,10),EBH(30,10),RBH(30,10) - DIMENSION RHOH(30,10) - DIMENSION AM1H(30),AM2H(30),C1H(30),C2H(30),MSPINH(30) -C============= declarations pour l'appel de READ_FILE()============ - CHARACTER*10 KEY - CHARACTER*8 CH8 - INTEGER*4 INT4 - REAL*8 REAL8 - INTEGER*4 IERR -C -C--- mass of the first and second particle - DATA AM1H/.9395656D0,.9382723D0,.9395656D0,3.7294D0,.13957D0, - C .13498D0,.13957D0, .9395656D0, .9382723D0, - C 4*.13957D0,4*.493677D0, - C 2*1.875613D0,2*2.808D0,2*.497672D0, - C 1.875613D0,2*.9382723D0, 4*0.D0/ - DATA AM2H/.9395656D0,.9382723D0,.9382723D0,3.7294D0,.13957D0, - C .13498D0,.13957D0, 2*1.875613D0, - C 2*.493677D0,2*.9382723D0, - C 2*.493677D0,2*.9382723D0, - C 1.875613D0,3.7294D0,2.808D0,3.7294D0, - C 2*.497672D0,2*2.808D0,3.7294D0, 4*0.D0/ -C--- charge of the first and second particle - DATA C1H/0.D0,1.D0,0.D0,2.D0, 1.D0,0.D0,1.D0,0.D0,1.D0, - C 3*1.D0,-1.D0,3*1.D0,-1.D0, - C 4*1.D0,2*0.D0,3*1.D0, 4*0.D0/ - DATA C2H/0.D0,1.D0,1.D0,2.D0,-1.D0,0.D0,3*1.D0, - C -1.D0,3*1.D0,-1.D0,3*1.D0, - C 1.D0,2.D0,1.D0,2.D0,2*0.D0,2*1.D0,2.D0, 4*0.D0/ -C---MSPIN vs (LL) - DATA MSPINH/3*2,4*1,2*2,8*1,3,1,2,1,2*1,2*2,1, 4*0/ -C---Spin factors RHO vs (LL,ISPIN) - DATA RHOH/3*.25D0, 4*1.D0, 2*.3333D0, 8*1.D0, - C .1111D0,1.D0,.25D0,1.D0,2*1.D0, - 1 .3333D0,.25D0,1.D0, 4*0.D0, - C 3*.75D0, 4*0.D0, 2*.6667D0, 8*0.D0, - C .3333D0,.0D0,.75D0,.0D0,2*0.D0, - 2 .6667D0,.75D0,0.D0, 4*0.D0, - C 17*.0D0,.5556D0,3*0.D0, 5*0.D0,4*0.D0,210*0.D0/ -C---Scattering length FD and effective radius RD in fm vs (LL,ISPIN) - DATA FDH/17.0D0,7.8D0,23.7D0,2230.1218D0,.225D0,.081D0,-.063D0, - C -.65D0,-2.73D0, - C .137D0,-.071D0,-.148D0,.112D0,2*1.D-6,-.360D0, - 1 2*1.D-6,1.344D0,6*1.D-6,-5.628D0, 4*0.D0, - C -10.8D0,2*-5.4D0,4*0.D0,-6.35D0,-11.88D0,8*0.D0,9*0.D0,4*0.D0, - C 240*0.D0/ - DATA RDH/2.7D0,2.8D0,2.7D0,1.12139906D0,-44.36D0,64.0D0,784.9D0, -c--------|---------|---------|---------|---------|---------|---------|---------- - C 477.9D0, 2.27D0, 9*0.D0,-69.973D0, 6*0.D0,3.529D0, 4*0.D0, - C 3*1.7D0,4*0.D0,2.0D0,2.63D0, 17*0.D0, 4*0.D0, 240*0.D0/ -C---Corresponding square well parameters RB (width in fm) and -C-- EB =SQRT(-AM*U) (in GeV/c); U is the well height - DATA RBH/2.545739D0, 2.779789D0, 2.585795D0, 5.023544D0, - C .124673D0, .3925180D0,.09D0, 2.D0, 4.058058D0, 17*0.D0, 4*0.D0, - C 3*2.003144D0, - C 4*0.D0, 2.D0, 4.132163D0, 17*0.D0, 4*0.D0, 240*0.D0/ - DATA EBH/.1149517D0, .1046257D0, .1148757D0, .1186010D0, - C .7947389D0,2.281208D0,8.7D0,.4D0,.1561219D0,17*0.D0,4*0.D0, - C 3*.1847221D0, - C 4*0.D0, .4D0, .1150687D0, 17*0.D0, 4*0.D0, 240*0.D0/ -C=======< constants >======================== - W=1/.1973D0 ! from fm to 1/GeV - PI=4*DATAN(1.D0) - PI2=2*PI - SPI=DSQRT(PI) - DR=180.D0/PI ! from radian to degree - AC1=1.D10 - AC2=1.D10 - -C---setting particle masses and charges - AM1=AM1H(LL) - AM2=AM2H(LL) - C1=C1H(LL) - C2=C2H(LL) - -C-- Switches: -C ISI=1(0) the strong interaction between the two particles ON (OFF) -C IQS=1(0) the quantum statistics ON (OFF); -C should be OFF for nonidentical particles -C I3C=1(0) the Coulomb interaction with the nucleus ON (OFF) -C I3S=1(0) the strong interaction with the nucleus ON (OFF) -C ICH=1(0) if C1*C2 is different from 0 (is equal to 0) -C- to switch off the Coulomb force between the two particles -C put ICH=0 and substitute the strong amplitude parameters by -C the ones not affected by Coulomb interaction - - IF(ITEST.EQ.0)THEN - - ICH=0 - IF(C1*C2.NE.0.D0) ICH=1 - IQS=0 - IF(C1+AM1.EQ.C2+AM2) IQS=1 - I3S=0 ! only this option is available - ISI=1 - I3C=1 - - ENDIF - -c23456 - write(*,*)'FSIINI ITEST ich iqs i3s isi i3c',ITEST, - + ICH,IQS,I3S,ISI,I3C - -C================================================================== -C---fm to 1/GeV - DO 3 J1=1,30 - DO 3 J2=1,10 - FDH(J1,J2)=FDH(J1,J2)*W - RDH(J1,J2)=RDH(J1,J2)*W - 3 RBH(J1,J2)=RBH(J1,J2)*W -C---calcul. twice the reduced mass (AM), the relative mass difference -C-- (DM) and the Bohr radius (AC) - AM=2*AM1*AM2/(AM1+AM2) - AMS=AM*AM - DM=(AM1-AM2)/(AM1+AM2) - AC=1.D10 - C12=C1*C2 - IF(C12.NE.0.D0)AC=2*137.036D0/(C12*AM) -C---Setting spin factors - MSPIN=MSPINH(LL) - MSP=MSPIN - DO 91 ISPIN=1,10 - 91 RHO(ISPIN)=RHOH(LL,ISPIN) -C---Integration limit AA in the spherical wave approximation - AA=0.D0 -cc IF(NS.EQ.2.OR.NS.EQ.4)AA=.5D0 !!in 1/GeV --> 0.1 fm - IF(NS.EQ.2.OR.NS.EQ.4)AA=6.D0 !!in 1/GeV --> 1.2 fm -C---Setting scatt. length (FD), eff. radius (RD) and, if possible, -C-- also the corresp. square well parameters (EB, RB) - DO 55 JJ=1,MSP - ISPIN=JJ - FD(JJ)=FDH(LL,JJ) - RD(JJ)=RDH(LL,JJ) - EB(JJ)=EBH(LL,JJ) - RB(JJ)=RBH(LL,JJ) - IF(LL.NE.8.AND.LL.NE.9)GOTO25 -C---Resets FD and RD for a nucleon-deuteron system (LL=8,9) - JH=LL-7+2*JJ-2 - FD(JJ)=AAND(1,JH) - RD(JJ)=AAND(2,JH)-2*AAND(3,JH)/AAND(1,JH) -C---Resets FD and RD for a pion-pion system (LL=5,6,7) - 25 IF(LL.GT.7.OR.LL.LT.5)GOTO 24 - IF(LL.EQ.7)FD(JJ)=AAPI(1,2)/AM - IF(LL.EQ.5)FD(JJ)=(.6667D0*AAPI(1,1)+.3333D0*AAPI(1,2))/AM - IF(LL.EQ.6)FD(JJ)=(.3333D0*AAPI(1,1)+.6667D0*AAPI(1,2))/AM - AKS=0.D0 - DAKS=1.D-5 - AKSH=AKS+DAKS - AKH=DSQRT(AKSH) - GPI1H=GPIPI(AKSH,1) - GPI2H=GPIPI(AKSH,2) - H=1/FD(JJ) - IF(LL.EQ.7)C(JJ)=1/DCMPLX(GPI2H,-AKH) - IF(LL.EQ.5) - +C(JJ)=.6667D0/DCMPLX(GPI1H,-AKH)+.3333D0/DCMPLX(GPI2H,-AKH) - IF(LL.EQ.6) - +C(JJ)=.3333D0/DCMPLX(GPI1H,-AKH)+.6667D0/DCMPLX(GPI2H,-AKH) - HH=DREAL(1/C(JJ)) - RD(JJ)=2*(HH-H)/DAKS - 24 CONTINUE -C---Calculation continues for any system (any LL) - 55 CONTINUE - END -C======================================================= - - - - - - - - - - - - - FUNCTION GPIPIold(X,J) -C--- GPIPI = k*COTG(DELTA), X=k^2 -C-- J=1(2) corresponds to isospin=0(2) - IMPLICIT REAL*8 (A-H,O-Z) -c-- Include 'common_fsi_aapi.inc' -c-- Include 'common_fsi_c.inc' - COMMON/FSI_AAPI/AAPI(20,2) - COMMON/FSI_C/HELP(20),AM,AMS,DM - OM=DSQRT(X+AMS) - XX=X/AMS - GPIPI=OM/AAPI(1,J) - GPIPI=GPIPI*(1+(AAPI(3,J)-AAPI(1,J)**2)*XX+AAPI(4,J)*XX*XX) - GPIPI=GPIPI/(1+(AAPI(3,J)+AAPI(2,J)/AAPI(1,J))*XX) - GPIPIOLD=GPIPI - END - - FUNCTION GPIN(X,J) -C--- GPIN = k*COTG(DELTA), X=k^2 -C-- J=1(2) corresponds to piN isospin=1/2(3/2) - IMPLICIT REAL*8 (A-H,O-Z) -c-- Include 'common_fsi_aapin.inc' - COMMON/FSI_AAPIN/AAPIN(20,2) - GPIN=1/AAPIN(1,J)+.5D0*AAPIN(2,J)*X - - END diff --git a/HBTAN/fsiw.F b/HBTAN/fsiw.F deleted file mode 100644 index 15823c34d42..00000000000 --- a/HBTAN/fsiw.F +++ /dev/null @@ -1,1208 +0,0 @@ -c 1 2 3 4 5 6 7 8 -c---------|---------|---------|---------|---------|---------|---------|---------| -*-- Author : R.Lednicky 20/01/95 - SUBROUTINE fsiw -C======================================================================= -C Calculates final state interaction (FSI) weights -C WEIF = weight due to particle - (effective) nucleus FSI (p-N) -C WEI = weight due to p-p-N FSI -C WEIN = weight due to p-p FSI; note that WEIN=WEI if I3C=0; -C note that if I3C=1 the calculation of -C WEIN can be skipped by putting J=0 -C....................................................................... -C Correlation Functions: -C CF(p-p-N) = sum(WEI)/sum(WEIF) -C CF(p-p) = sum(WEIN)/sum(1); here the nucleus is completely -C inactive -C CF(p-p-"N") = sum(WEIN*WEIF')/sum(WEIF'), where WEIN and WEIF' -C are not correlated (calculated at different emission -C points, e.g., for different events); -C thus here the nucleus affects one-particle -C spectra but not the correlation -C....................................................................... -C User must supply data file on unit NUNIT (e.g. =11) specifying -C LL : particle pair -C NS : approximation used to calculate Bethe-Salpeter amplitude -C ITEST: test switch -C If ITEST=1 then also following parameters are required -C ICH : 1(0) Coulomb interaction between the two particles ON (OFF) -C IQS : 1(0) quantum statistics for the two particles ON (OFF) -C ISI : 1(0) strong interaction between the two particles ON (OFF) -C I3C : 1(0) Coulomb interaction with residual nucleus ON (OFF) -C This data file can contain other information useful for the user. -C It is read by subroutines READINT4 and READREA8(4) (or READ_FILE). -C---------------------------------------------------------------------- -C- LL 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 -C- part. 1: n p n alfa pi+ pi0 pi+ n p pi+ pi+ pi+ pi- K+ K+ K+ K- -C- part. 2: n p p alfa pi- pi0 pi+ d d K- K+ p p K- K+ p p -C NS=1 y/n: + + + + + - - - - - - - - - - - - -C---------------------------------------------------------------------- -C- LL 18 19 20 21 22 23 24 25 26 27 28 -C- part. 1: d d t t K0 K0 d p p p n -C- part. 2: d alfa t alfa K0 K0b t t alfa lambda lambda -C NS=1 y/n: - - - - - - - - - + + -C---------------------------------------------------------------------- -C NS=1 Square well potential, -C NS=3 not used -C NS=4 scattered wave approximated by the spherical wave, -C NS=2 same as NS=4 but the approx. of equal emission times in PRF -C not required (t=0 approx. used in all other cases). -C Note: if NS=2,4, the B-S amplitude diverges at zero distance r* in -C the two-particle c.m.s.; user can specify a cutoff AA in -C SUBROUTINE FSIINI, for example: -C IF(NS.EQ.2.OR.NS.EQ.4)AA=5.D0 !! in 1/GeV --> AA=1. fm -C--------------------------------------------------------------------- -C ITEST=1 any values of parameters ICH, IQS, ISI, I3C are allowed -C and should be given in data file -C ITEST=0 physical values of these parameters are put automatically -C in FSIINI (their values are not required in data file) -C===================================================================== -C At the beginning of calculation user should call FSIINI, -C which reads LL, NS, ITEST (and eventually ICH, IQS, ISI, I3C) -C and initializes various parameters. -C In particular the constants in -C COMMON/FSI_CONS/PI,PI2,SPI,DR,W -C may be useful for the user: -C W=1/.1973D0 ! from fm to 1/GeV -C PI=4*DATAN(1.D0) -C PI2=2*PI -C SPI=DSQRT(PI) -C DR=180.D0/PI ! from radian to degree -C _______________________________________________________ -C !! |Important note: all real quantities are assumed REAL*8 | !! -C ------------------------------------------------------- -C For each event user should fill in the following information -C in COMMONs (all COMMONs in FSI calculation start with FSI_): -C ................................................................... -C COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 -C Only -C AMN = mass of the effective nucleus [GeV/c**2] -C CN = charge of the effective nucleus [elem. charge units] -C are required -C ................................................................... -C COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in the rest frame -C 1 P2X,P2Y,P2Z,E2,P2 !of effective nucleus (NRF) -C Only the components -C PiX,PiY,PiZ [GeV/c] -C in NRF are required. -C To make the corresponding Lorentz transformation user can use the -C subroutines LTRAN and LTRANB -C ................................................................... -C COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emission -C 1 X2,Y2,Z2,T2,R2 ! points in NRF -C The componets -C Xi,Yi,Zi [fm] -C and emission times -C Ti [fm/c] -C should be given in NRF with the origin assumed at the center -C of the effective nucleus. If the effect of residual nucleus is -C not calculated within FSIW, the NRF can be any fixed frame. -C----------------------------------------------------------------------- -C Before calling FSIW the user must call -C CALL LTRAN12 -C Besides Lorentz transformation to pair rest frame: -C (p1-p2)/2 --> k* it also transforms 4-coordinates of -C emission points from fm to 1/GeV and calculates Ei,Pi and Ri. -C Note that |k*|=AK in COMMON/FSI_PRF/ -C----------------------------------------------------------------------- -C After making some additional filtering using k* (say k* < k*max) -C or direction of vector k*, -C user can finally call FSIW to calculate the FSI weights -C to be used to construct the correlation function -C======================================================================= - - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_JR/JRAT - COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 - COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, ! particle momenta in NRF - 1 P2X,P2Y,P2Z,E2,P2 - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, ! k*=(p1-p2)/2 and x1-x2 - 1 X,Y,Z,T,RP,RPS ! in pair rest frame (PRF) - COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, !4-coord. of emis. points in NRF - 1 X2,Y2,Z2,T2,R2 - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_FFPN/FF12,FF21 - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS - COMPLEX*16 FF12,FF21 -C------------------------------------------------------------------ -C==> AC1,2 = "relativistic" Bohr radii for particle-nucleus systems - C1N=C1*CN - IF(C1N.NE.0.D0)AC1=137.036D0/(C1N*E1) !m1-->E1 - C2N=C2*CN - IF(C2N.NE.0.D0)AC2=137.036D0/(C2N*E2) !m2-->E2 - -C----------------------------------------------------------- - J=1 - CALL FSIPN !weight due to particle-nucleus FSI - JRAT=0 - CALL FSIWF !weight due to particle-particle-nucleus FSI - WEIN=WEI - IF(I3C*J.NE.0) THEN - FF12=DCMPLX(1.D0,0.D0) - FF21=DCMPLX(1.D0,0.D0) - JRAT=1 - CALL VZ ! weight due to particle-particle FSI - ENDIF - RETURN - END - -C======================================================================= - - SUBROUTINE LTRAN(P0,P,PS) -C==>calculating particle 4-momentum PS={PSX,PSY,PSZ,ES} -C in rest frame of a system 0 with 4-momentum P0={P0X,P0Y,P0Z,E0} -C from its 4-momentum P={PX,PY,PZ,E} - - IMPLICIT REAL*8 (A-H,O-Z) - DIMENSION P0(4),P(4),PS(4) -C----------------------------------------------------------------------- - P0S=P0(1)**2+P0(2)**2+P0(3)**2 - AM0=DSQRT(P0(4)**2-P0S) - EPM=P0(4)+AM0 - PP0=P(1)*P0(1)+P(2)*P0(2)+P(3)*P0(3) - H=(PP0/EPM-P(4))/AM0 - PS(1)=P(1)+P0(1)*H - PS(2)=P(2)+P0(2)*H - PS(3)=P(3)+P0(3)*H - PS(4)=(P0(4)*P(4)-PP0)/AM0 - RETURN - END - - SUBROUTINE LTRANB(P0,PS,P) -C==>calculating particle 4-momentum P={PX,PY,PZ,E} -C from its 4-momentum PS={PSX,PSY,PSZ,ES} -C in rest frame of a system 0 with 4-momentum P0={P0X,P0Y,P0Z,E0} - - IMPLICIT REAL*8 (A-H,O-Z) - DIMENSION P0(4),P(4),PS(4) -C----------------------------------------------------------------------- - P0S=P0(1)**2+P0(2)**2+P0(3)**2 - AM0=DSQRT(P0(4)**2-P0S) - EPM=P0(4)+AM0 - PSP0=PS(1)*P0(1)+PS(2)*P0(2)+PS(3)*P0(3) - HS=(PSP0/EPM+PS(4))/AM0 - P(1)=PS(1)+P0(1)*HS - P(2)=PS(2)+P0(2)*HS - P(3)=PS(3)+P0(3)*HS - P(4)=(P0(4)*PS(4)+PSP0)/AM0 - RETURN - END - - - FUNCTION GDD(X,J) -C--- GDD = k*COTG(DELTA), X=k^2 -C--- J=1,2,3 corresp. to S=0,1,2 - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_AADD/AADD(20,3) - COMMON/FSI_C/C(10),AM,AMS,DM - COMMON/FSI_CONS/PI,PI2,SPI,DR,W - COMPLEX*16 C - E=X/2/AM - ER=DSQRT(E) - IF(J.EQ.1)THEN - GDD=ER*(AADD(1,1)*DEXP(-E/AADD(2,1))-AADD(3,1)) - GDD=GDD/DR ! from degree to radian - TAND=DTAN(GDD) - IF(TAND.EQ.0.D0)TAND=1.D-10 - GDD=DSQRT(X)/TAND - END IF - IF(J.EQ.2)THEN - GDD=1.D10 - END IF - IF(J.EQ.3)THEN - GDD=ER*(AADD(1,3)+AADD(2,3)*E) - GDD=GDD/DR ! from degree to radian - TAND=DTAN(GDD) - IF(TAND.EQ.0.D0)TAND=1.D-10 - GDD=DSQRT(X)/TAND - END IF - RETURN - END - - - SUBROUTINE FSIPN -C calculating particle-nucleus Coulomb Wave functions FFij - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 - COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF - 1 P2X,P2Y,P2Z,E2,P2 - COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF - 1 X2,Y2,Z2,T2,R2 - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_ICH1/ICH1 - COMMON/FSI_ETA/ETA - COMMON/FSI_FFPN/FF12,FF21 - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS - - COMPLEX*16 FF1,FF12,FF21 - FF12=DCMPLX(1.D0,0.D0) - FF21=DCMPLX(1.D0,0.D0) - IF(I3C.EQ.0)RETURN - ICH1=IDINT(C1) - IF(ICH1.EQ.0)GOTO 11 - XH=AC1*P1 - ACH=ACP(XH) - ACHR=DSQRT(ACH) - ETA=0.D0 - IF(XH.NE.0.D0)ETA=1/XH - RHOS=P1*R1 - HS=X1*P1X+Y1*P1Y+Z1*P1Z - FF12=FF12*FF1(RHOS,HS) - IF(IQS.EQ.0)GOTO 11 - RHOS=P1*R2 - HS=X2*P1X+Y2*P1Y+Z2*P1Z - FF21=FF21*FF1(RHOS,HS) - 11 ICH1=IDINT(C2) - IF(ICH1.EQ.0)GOTO 10 - XH=AC2*P2 - ACH=ACP(XH) - ACHR=DSQRT(ACH) - ETA=0.D0 - IF(XH.NE.0.D0)ETA=1/XH - RHOS=P2*R2 - HS=X2*P2X+Y2*P2Y+Z2*P2Z - FF12=FF12*FF1(RHOS,HS) -CW WRITE(6,41)'AC2 ',AC2,'ACH ',ACH,'ETA ',ETA,'RHOS ',RHOS,'HS ',HS -41 FORMAT(5(A5,E11.4)) -CW WRITE(6,40)'FF12 ',DREAL(FF12),DIMAG(FF12) - IF(IQS.EQ.0)GOTO 10 - RHOS=P2*R1 - HS=X1*P2X+Y1*P2Y+Z1*P2Z - FF21=FF21*FF1(RHOS,HS) -CW WRITE(6,41)'AC1 ',AC1,'ACH ',ACH,'ETA ',ETA,'RHOS ',RHOS,'HS ',HS -CW WRITE(6,40)'FF21 ',DREAL(FF21),DIMAG(FF21) -40 FORMAT(A7,2E12.4) - 10 CONTINUE - -C WEIF = the weight due to the Coulomb particle-nucleus interaction - WEIF=DREAL(FF12)**2+DIMAG(FF12)**2 - IF(IQS.EQ.1)WEIF=0.5D0*(WEIF+DREAL(FF21)**2+DIMAG(FF21)**2) - RETURN - END - - FUNCTION GPIPI(X,J) -C--- GPIPI = k*COTG(DELTA), X=k^2 -C-- J=1(2) corresponds to isospin=0(2) - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_AAPI/AAPI(20,2) - COMMON/FSI_C/HELP(20),AM,AMS,DM - OM=DSQRT(X+AMS) - XX=X/AMS - GPIPI=OM/AAPI(1,J) - GPIPI=GPIPI*(1+(AAPI(3,J)-AAPI(1,J)**2)*XX+AAPI(4,J)*XX*XX) - GPIPI=GPIPI/(1+(AAPI(3,J)+AAPI(2,J)/AAPI(1,J))*XX) - RETURN - END - FUNCTION GND(X,J) -C--- GND = k*COTG(DELTA), X=k^2 -C--- J=1(2) corresp. to nd(pd), S=1/2, -C--- J=3(4) corresp. to nd(pd), S=3/2 - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_AAND/AAND(20,4) - XX=X - GND=1/AAND(1,J)+.5D0*AAND(2,J)*X - DO 1 I=4,4 - XX=XX*X - 1 GND=GND+AAND(I,J)*XX - GND=GND/(1+AAND(3,J)*X) - RETURN - END - - SUBROUTINE CKKB ! calculates KK-b scattering amplitude, - ! saturated by S*(980) and delta(982) resonances - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_AAKK/AAKK(9) - COMMON/FSI_C/C(10),AM,AMS,DM - COMPLEX*16 C - S4=AKS+AAKK(1) - S=4*S4 - AKPIPI=DSQRT(S4-AAKK(2)) - EETA2=(S+AAKK(3)-AAKK(2))**2/4/S - AKPIETA=DSQRT(EETA2-AAKK(3)) - C(1)=AAKK(6)/2/DCMPLX(AAKK(4)-S, - ,-AK*AAKK(6)-AKPIPI*AAKK(7)) - C(1)=C(1)+AAKK(8)/2/DCMPLX(AAKK(5)-S, - ,-AK*AAKK(8)-AKPIETA*AAKK(9)) - RETURN - END - - -C - SUBROUTINE FSIWF -C==> Prepares necessary quantities and call VZ(WEI) to calculate -C the weight due to FSI - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_CVK/V,CVK - COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF - 1 P2X,P2Y,P2Z,E2,P2 - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF - 1 X2,Y2,Z2,T2,R2 - COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 - COMMON/FSI_SPIN/RHO(10) - COMMON/FSI_BP/B,P - COMMON/FSI_ETA/ETA - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10), - 1 SBKRB(10),SDKK(10) - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_RR/F(10) - COMMON/FSI_FD/FD(10),RD(10) - COMMON/FSI_C/C(10),AM,AMS,DM - COMPLEX*16 C,F - COMMON/FSI_AA/AA - COMMON/FSI_SHH/SH,CHH - COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4) - COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS - - -C==>calculating relative 4-coordinates of the particles in PRF -C- {T,X,Y,Z} from the relative coordinates {TS,XS,YS,ZS} in NRF - XS=X1-X2 - YS=Y1-Y2 - ZS=Z1-Z2 - TS=T1-T2 - RS12=XS*P12X+YS*P12Y+ZS*P12Z - H1=(RS12/EPM-TS)/AM12 - -c-mlv X=XS+P12X*H1 -c-mlv Y=YS+P12Y*H1 -c-mlv Z=ZS+P12Z*H1 -c-mlv T=(E12*TS-RS12)/AM12 -c-mlv RPS=X*X+Y*Y+Z*Z -c-mlv RP=DSQRT(RPS) -c WRITE(6,38)'RP ',RP,'X ',X,Y,Z,T -c38 FORMAT(A7,E11.4,A7,4E11.4) - - CVK=(P12X*PPX+P12Y*PPY+P12Z*PPZ)/(P12*AK) - V=P12/E12 - - IF(ICH.EQ.0)GOTO 21 - XH=AC*AK - ACH=ACP(XH) - ACHR=DSQRT(ACH) - ETA=0.D0 - IF(XH.NE.0.D0)ETA=1/XH -C---HCP, HPR needed (e.g. in GST) if ICH=1 - HCP=HC(XH) - HPR=HCP+.1544313298D0 - 21 CONTINUE - MSP=MSPIN - DO 30 JJ=1,MSP - IF(NS.NE.1)GOTO22 -C---Calc. quantities for the square well potential; -C-- for LL > 5 the square well potential is not possible or available -cc GAK=G(AK) - BK(JJ)=DSQRT(EB(JJ)**2+AKS) - XRA=2*RB(JJ)/AC - HRA=BK(JJ)*RB(JJ) - CALL SEQ(XRA,HRA) - SBKRB(JJ)=HRA*B - HRA=AK*RB(JJ) - CALL GST(XRA,HRA) - SDK(JJ)=SH - CDK(JJ)=CHH - SDKK(JJ)=RB(JJ) - IF(AK.NE.0.D0)SDKK(JJ)=SH/AK - IF(ICH.EQ.1)SDK(JJ)=ACH*SDK(JJ) - 22 CONTINUE -C----------------------------------------------------------------------- -C---Calc. the strong s-wave scattering amplitude = C(JJ) -C-- divided by Coulomb penetration factor squared (if ICH=1) - IF(NS.NE.1)GOTO 230 - IF(LL.NE.4)GOTO 230 ! SW scat. amplitude used for alfa-alfa only - AKACH=AK - IF(ICH.EQ.1)AKACH=AK*ACH - C(JJ)=1/DCMPLX(GAK,-AKACH) ! amplitude for the SW-potential - GOTO 30 - 230 IF(LL.EQ.5.OR.LL.EQ.6.OR.LL.EQ.7)GOTO20 ! pipi - IF(LL.EQ.8.OR.LL.EQ.9)GOTO20 ! Nd - IF(LL.EQ.14.OR.LL.EQ.17.OR.LL.EQ.23)GOTO27 ! K+K-, K-p, K0K0-b - A1=RD(JJ)*FD(JJ)*AKS - A2=1+.5D0*A1 - IF(ICH.EQ.1)A2=A2-2*HCP*FD(JJ)/AC - AKF=AK*FD(JJ) - IF(ICH.EQ.1)AKF=AKF*ACH - C(JJ)=FD(JJ)/DCMPLX(A2,-AKF) - GOTO30 - 20 CONTINUE -C---Calc. scatt. ampl. C(JJ) for pipi and Nd - JH=LL-7+2*JJ-2 - IF(LL.GT.7)GPI2=GND(AKS,JH) - IF(LL.LE.7)GPI2=GPIPI(AKS,2) - C(JJ)=1.D0/DCMPLX(GPI2,-AK) - IF(LL.GE.7)GOTO27 - GPI1=GPIPI(AKS,1) - IF(LL.EQ.5)C(JJ)=.6667D0/DCMPLX(GPI1,-AK)+.3333D0*C(JJ) - IF(LL.EQ.6)C(JJ)=.3333D0/DCMPLX(GPI1,-AK)+.6667D0*C(JJ) - 27 CONTINUE -C---Calc. K+K-, K0K0-b or K-p s-wave scatt. ampl. - IF(LL.EQ.14.OR.LL.EQ.23)CALL CKKB - IF(LL.EQ.17)C(JJ)=DCMPLX(3.29D0,3.55D0) -C---Calc. pi+pi-, pi+pi+, pd, K+K- or K-p s-wave scatt. amplitude -C-- divided by Coulomb penetration factor squared (if ICH=1) - IF(ICH.EQ.0)GOTO 30 - AAK=ACH*AK - HCP2=2*HCP/AC - C(JJ)=1/(1/C(JJ)-HCP2+DCMPLX(0.D0,AK-AAK)) - 30 CONTINUE -C*********************************************************************** - CALL VZ - RETURN - END - - SUBROUTINE VZ -C==> Calculates the weight WEI due to FSI - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_JR/JRAT - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_SPIN/RHO(10) - COMMON/FSI_ETA/ETA - COMMON/FSI_AA/AA - COMMON/FSI_FFF/F12,F21 - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_FD/FD(10),RD(10) - COMMON/FSI_RR/F(10) - COMMON/FSI_C/C(10),AM,AMS,DM - COMMON/FSI_COULPH/EIDC - COMMON/LEDWEIGHT/WEIF,WEI,WEIN,ITEST,IRANPOS - - COMPLEX*16 F,C,G,PSI12,PSI21 - COMPLEX*16 F12,F21 - COMPLEX*16 EIDC - COMPLEX*8 Z8,CGAMMA - COMMON/FSI_FFPN/FF12,FF21 - COMPLEX*16 FF12,FF21 - WEI=0.D0 - IF(JRAT.EQ.1)GOTO 11 - RHOS=AK*RP - HS=X*PPX+Y*PPY+Z*PPZ - IF(RHOS.LT.15.D0.AND.RHOS+DABS(HS).LT.20.D0)GOTO 2 -C---Calc. EIDC=exp(i*Coul.Ph.); -C-- used in calc. of hypergeom. f-s in SEQA, FAS at k*R > 15, 20 - Z8=CMPLX(1.,SNGL(ETA)) - Z8=CGAMMA(Z8) - EIDC=Z8/CABS(Z8) - -c write(*,*)'Z8 EIDC',Z8,EIDC - - 2 CALL FF(RHOS,HS) - 11 MSP=MSPIN - IF(ISI.EQ.0)GOTO 4 ! the strong interaction ON (OFF) if ISI=1(0) - IF(RP.LT.AA)GOTO 4 - IF(JRAT.NE.1) CALL FIRT - IF(IQS.EQ.0)GOTO 5 ! the quantum statistics ON (OFF) if IQS=1(0) - JSIGN=-1 - DO 1 JJ=1,MSP - JSIGN=-JSIGN - G=F(JJ)*C(JJ) - IF(ICH.EQ.1)G=G*ACHR - PSI12=FF12*(F12+G) - PSI21=FF21*(F21+G) - G=PSI12+JSIGN*PSI21 - 1 WEI=WEI+RHO(JJ)*(DREAL(G)**2+DIMAG(G)**2) - GOTO 8 - 5 DO 6 JJ=1,MSP - G=F(JJ)*C(JJ) - IF(ICH.EQ.1)G=G*ACHR -CW WRITE(6,38)'JJ ',JJ,'F ',DREAL(F(JJ)),DIMAG(F(JJ)) -CW WRITE(6,38)'JJ ',JJ,'C ',DREAL(C(JJ)),DIMAG(C(JJ)) -CW WRITE(6,38)'JJ ',JJ,'G ',DREAL(G),DIMAG(G) -CW WRITE(6,38)'JJ ',JJ,'F12+G ',DREAL(F12+G),DIMAG(F12+G) -CW WRITE(6,38)'JJ ',JJ,'F21+G ',DREAL(F21+G),DIMAG(F21+G) -38 FORMAT(A7,I3,A7,2E11.4) - PSI12=FF12*(F12+G) - 6 WEI=WEI+RHO(JJ)*(DREAL(PSI12)**2+DIMAG(PSI12)**2) - RETURN - 4 PSI12=FF12*F12 - IF(IQS.EQ.0)GOTO 50 ! the quantum statistics ON (OFF) if IQS=1(0) - PSI21=FF21*F21 - JSIGN=-1 - DO 3 JJ=1,MSP - JSIGN=-JSIGN - G=PSI12+JSIGN*PSI21 - 3 WEI=WEI+RHO(JJ)*(DREAL(G)**2+DIMAG(G)**2) - GOTO 8 - 50 WEI=DREAL(PSI12)**2+DIMAG(PSI12)**2 - RETURN - 8 WEI=WEI/2 - -c [M %/WRITE(*,*)WEI - - RETURN - END - - - SUBROUTINE FIRT -C---CALC. THE F(JJ) -C-- F(JJ)*C(JJ)= DEVIATION OF THE BETHE-SALPETER AMPL. FROM PLANE WAVE - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_SHH/SH,CHH - COMMON/FSI_BP/B,P - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_C/C(10),AM,AMS,DM - COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10), - 1 SBKRB(10),SDKK(10) - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_RR/F(10) - EQUIVALENCE(RSS,RP),(TSS,T) - COMPLEX*16 F,C,CH1 - MSP=MSPIN - DO 10 JJ=1,MSP - IF(JJ.GT.1)GOTO 3 - XRA=2*RSS/AC - IF(AK.NE.0.D0)GOTO2 - SHK=1.D0 - SH=.0D0 - SHH=SH - CHH=1/RSS - GOTO3 - 2 H=AK*RSS - CALL GST(XRA,H) - SH=SH/RSS - CHH=CHH/RSS - SHH=SH - IF(ICH.EQ.1) SHH=ACH*SH - 3 IF(NS.EQ.2)GOTO1 -C---F= ASYMPTOTIC FORMULA (T= 0 APPROX.); NS= 4 - 6 F(JJ)=DCMPLX(CHH,SHH) - IF(NS.NE.1)GOTO 10 -C---F INSIDE THE SQUARE-WELL (T= 0 APPROX.); NS= 1 - IF(RSS.GE.RB(JJ)) GOTO 10 - IF(AK.NE.0.D0.AND.JJ.EQ.1)SHK=SH/AK - H=BK(JJ)*RSS - CALL GST(XRA,H) - SKR=B*BK(JJ) - F(JJ)=DCMPLX(CDK(JJ),SDK(JJ))*SKR - CH1=(SDKK(JJ)*SKR-SHK*SBKRB(JJ))/C(JJ) - F(JJ)=(F(JJ)+CH1)/SBKRB(JJ) - GOTO 10 - 1 CONTINUE -C---F= ASYMPTOTIC FORMULA (T= 0 NOT REQUIRED); NS= 2 - IF(JJ.GT.1)GOTO 8 - IF(TSS.EQ.0.D0)GOTO6 - TSSA=DABS(TSS) - IF(DM.NE.0.D0)GOTO 11 - H=AM*.5D0/TSSA - IF(AK.NE.0.D0)GOTO4 - HM=H*RPS - IF(HM.GE.3.D15)GOTO6 - FS1=DFRSIN(HM) - FC1=DFRCOS(HM) - FC2=FC1 - FS2=FS1 - GOTO5 - 4 CONTINUE - H1=AK*TSSA/AM - HM=H*(RSS-H1)**2 - HP=H*(RSS+H1)**2 - IF(HP.GE.3.D15)GOTO6 - FS1=DFRSIN(HM) - FC1=DFRCOS(HM) - FS2=DFRSIN(HP) - FC2=DFRCOS(HP) - GOTO 5 - 11 CONTINUE - FS1=0.D0 - FS2=0.D0 - FC1=0.D0 - FC2=0.D0 - DO 13 I=1,2 - IF(I.EQ.1)TSSH=TSSA*(1+DM) - IF(I.EQ.2)TSSH=TSSA*(1-DM) - H=AM*.5D0/TSSH - IF(AK.NE.0.D0)GOTO 12 - HM=H*RPS - IF(HM.GE.3.D15)GOTO6 - FS1=FS1+DFRSIN(HM)/2 - FC1=FC1+DFRCOS(HM)/2 - IF(I.EQ.1)GOTO 13 - FC2=FC1 - FS2=FS1 - GOTO 13 - 12 CONTINUE - H1=AK*TSSH/AM - HM=H*(RSS-H1)**2 - HP=H*(RSS+H1)**2 - IF(HP.GE.3.D15)GOTO6 - FS1=FS1+DFRSIN(HM)/2 - FC1=FC1+DFRCOS(HM)/2 - FS2=FS2+DFRSIN(HP)/2 - FC2=FC2+DFRCOS(HP)/2 - 13 CONTINUE - 5 C12=FC1+FS2 - S12=FS1+FC2 - A12=FS1-FC2 - A21=FS2-FC1 - A2=.5D0*(CHH*(A12+A21)+SH*(A12-A21))+SHH - A1=.5D0*(CHH*(C12+S12)+SH*(C12-S12)) - F(JJ)=.3989422D0*DCMPLX(A1,A2) - GOTO 10 - 8 F(JJ)=F(1) - 10 CONTINUE - RETURN - END - FUNCTION EXF(X) - IMPLICIT REAL*8 (A-H,O-Z) - IF(X.LT.-15.D0) GO TO 1 - EXF=DEXP(X) - RETURN - 1 EXF=.0D0 - RETURN - END - SUBROUTINE SEQ(X,H) -C---CALC. FUNCTIONS B, P (EQS. (17) OF G-K-L-L); -C-- NEEDED TO CALC. THE CONFLUENT HYPERGEOMETRIC FUNCTION GST. - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_BP/B,P - DIMENSION BH(3),PH(3) - DATA ERR/1.D-7/ - BH(1)=1.D0 - PH(1)=1.D0 - PH(2)=.0D0 - BH(2)=.5D0*X - B=1+BH(2) - P=1.D0 - HS=H*H - J=0 - 2 J=J+1 - BH(3)=(X*BH(2)-HS*BH(1))/((J+1)*(J+2)) - PH(3)=(X*PH(2)-HS*PH(1)-(2*J+1)*X*BH(2))/(J*(J+1)) - B=B+BH(3) - P=P+PH(3) - Z=DABS(BH(2))+DABS(BH(3))+DABS(PH(2))+DABS(PH(3)) - IF(Z.LT.ERR)RETURN - BH(1)=BH(2) - BH(2)=BH(3) - PH(1)=PH(2) - PH(2)=PH(3) - GOTO 2 - END - SUBROUTINE SEQA(X,H) -C---CALC. FUNCTIONS CHH=REAL(GST), SH=IMAG(GST)/ACH, B=SH/H -C-- IN THE ASYMPTOTIC REGION H=K*R >> 1. - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_BP/B,P - COMMON/FSI_SHH/SH,CHH - COMMON/FSI_ETA/ETA - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_COULPH/EIDC - COMPLEX*16 EIDC,GST - ARG=H-ETA*DLOG(2*H) - GST=DCMPLX(DCOS(ARG),DSIN(ARG)) - GST=ACHR*EIDC*GST - CHH=DREAL(GST) - SH=DIMAG(GST)/ACH - B=SH/H - RETURN - END - SUBROUTINE FF(RHO,H) -C---Calc. F12, F21; -C-- F12= FF0* plane wave, FF0=F*ACHR, -C---F is the confluent hypergeometric function, -C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_ETA/ETA - COMMON/FSI_FFF/F12,F21 - COMPLEX*16 FF0,F12,F21 - C=DCOS(H) - S=DSIN(H) - F12=DCMPLX(C,-S) - F21=DCMPLX(C,S) - IF(ICH.EQ.0)RETURN - RHOP=RHO+H - RHOM=RHO-H - F12=FF0(RHO,H)*F12 - F21=FF0(RHO,-H)*F21 - RETURN - END - FUNCTION FAS(RKS) -C-- FAS=F*ACHR -C---F is the confluent hypergeometric function at k*r >> 1 -C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor - IMPLICIT REAL*8 (A-H,O-Z) - COMPLEX*16 FAS,EIDC,ZZ1 - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_ETA/ETA - COMMON/FSI_COULPH/EIDC - D1=DLOG(RKS)*ETA - D2=ETA*ETA/RKS - ZZ1=DCMPLX(DCOS(D1),DSIN(D1))/EIDC - FAS=DCMPLX(1.D0,-D2)*ZZ1 - FAS=FAS-DCMPLX(DCOS(RKS),DSIN(RKS))*ETA/RKS/ZZ1 - RETURN - END - FUNCTION FF0(RHO,H) -C-- FF0=F*ACHR -C-- F is the confluent hypergeometric function -C-- (Eq. (15) of G-K-L-L), F= 1 at r* << AC -C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_ETA/ETA - COMPLEX*16 ALF,ALF1,Z,S,A,FF0,FAS - DATA ERR/1.D-5/ - S=DCMPLX(1.D0,0.D0) - FF0=S - RHOP=RHO+H -CC GOTO 5 ! rejects the approx. calcul. of hyperg. f-ion F - IF(RHOP.LT.20.D0)GOTO5 - FF0=FAS(RHOP) ! approx. calc. - RETURN - 5 ALF=DCMPLX(.0D0,-ETA) - ALF1=ALF-1 - Z=DCMPLX(.0D0,RHOP) - J=0 - 3 J=J+1 - A=(ALF1+J)/(J*J) - S=S*A*Z - FF0=FF0+S - ZR=DABS(DREAL(S)) - ZI=DABS(DIMAG(S)) - IF((ZR+ZI).GT.ERR)GOTO3 - FF0=FF0*ACHR - RETURN - END - FUNCTION HC(XA) -C---HC = h-function of Landau-Lifshitz: h(x)=Re[psi(1-i/x)]+ln(x) -C-- psi(x) is the digamma function (the logarithmic derivative of -C-- the gamma function) - IMPLICIT REAL*8 (A-H,O-Z) - DIMENSION BN(15) - DATA BN/.8333333333D-1,.8333333333D-2,.396825396825D-2, - 1 .4166666667D-2,.7575757576D-2,.2109279609D-1, - 2 .8333333333D-1,.4432598039D0 ,.305395433D1, - 3 .2645621212D2, .2814601449D3, .3607510546D4, - 4 .5482758333D5, .9749368235D6, .200526958D8/ - X=DABS(XA) - IF(X.LT..33D0) GOTO 1 -CC IF(X.GE.3.5D0) GO TO 2 - S=.0D0 - N=0 - 3 N=N+1 - DS=1.D0/N/((N*X)**2+1) - S=S+DS - IF(DS.GT.0.1D-12) GOTO 3 -C---Provides 7 digit accuracy - HC=S-.5772156649D0+DLOG(X) - RETURN -CC 2 HC=1.2D0/X**2+DLOG(X)-.5772156649 D0 -CC RETURN - 1 X2=X*X - XP=X2 - HC=0.D0 - IMA=9 - IF(X.LT.0.1D0)IMA=3 - DO 4 I=1,IMA - HC=HC+XP*BN(I) - 4 XP=X2*XP - RETURN - END - FUNCTION ACP(X) -C--- ACP = COULOMB PENETRATION FACTOR - IMPLICIT REAL*8 (A-H,O-Z) - IF(X.LT.0.05D0.AND.X.GE.0.D0) GO TO 1 - Y=6.2831853D0/X - ACP=Y/(EXF(Y)-1) - RETURN - 1 ACP=1.D-6 - RETURN - END - SUBROUTINE GST(X,H) -C---CALC. THE CONFL. HYPERGEOM. F-N = CHH+i*SH -C-- AND THE COULOMB F-S B, P (CALLS SEQ OR SEQA). - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_SHH/SH,CHH - COMMON/FSI_BP/B,P - 1 IF(ICH.EQ.1)GOTO 2 - 3 SH=DSIN(H) - CHH=DCOS(H) - B=1.D0 - IF(H.NE.0.D0)B=SH/H - P=CHH - RETURN - 2 CONTINUE - IF(H.GT.15.D0)GOTO4 ! comment out if you want to reject - ! the approximate calculation of hyperg. f-ion G - CALL SEQ(X,H) ! exact calculation - SH=H*B - CHH=P+B*X*(DLOG(DABS(X))+HPR) - RETURN - 4 CALL SEQA(X,H) - RETURN - END - - FUNCTION FF1(RHO,H) -C---FF1=FF0; used for particle-nucleus system -C-- FF0=F12*ACHR -C-- F12 is the confluent hypergeometric function -C-- (Eq. (15) of G-K-L-L), F12= 1 at r* << AC -C-- ACHR=sqrt(ACH), where ACH is the Coulomb factor - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,ISPIN,MSPIN - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_ETA/ETA - COMMON/FSI_COULPH/EIDC - COMMON/FSI_ICH1/ICH1 - COMPLEX*16 FF0,FF1 - COMPLEX*16 EIDC - COMPLEX*8 Z8,CGAMMA - FF1=DCMPLX(1.D0,0.D0) - IF(ICH1.EQ.0)GOTO 2 - IF(RHO.LT.15.D0.AND.RHO+H.LT.20.D0)GOTO 2 -C---Calc. EIDC=exp(i*Coul.Ph.); -C-- used in calc. of hypergeom. f-s in SEQA, FAS at k*R > 15, 20 - Z8=CMPLX(1.,SNGL(ETA)) - Z8=CGAMMA(Z8) - EIDC=Z8/CABS(Z8) - 2 FF1=FF0(RHO,H) - RETURN - END - - FUNCTION G(AK) -C---Used to calculate SW scattering amplitude for alpa-alpha system -C---NOTE THAT SCATT. AMPL.= 1/CMPLX(G(AK),-AK*ACH) - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_SW/RB(10),EB(10),BK(10),CDK(10),SDK(10), - 1 SBKRB(10),SDKK(10) - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_ACH/HPR,AC,ACH,ACHR,JJ,MSPIN - COMMON/FSI_BP/B,P/FSI_DERIV/BPR,PPR/FSI_SHH/SH,CHH - HAC=.0D0 - IF(ICH.EQ.0)GOTO 1 - XH=AC*AK - HCP=HC(XH) - HPR=HCP+.1544313298D0 - ACH=ACP(XH) - HAC=2*HCP/AC - 1 AKS=AK**2 - BK(JJ)=DSQRT(AKS+EB(JJ)**2) ! kappa=kp - X=2*RB(JJ)/AC - H=BK(JJ)*RB(JJ) ! kp*d - CALL GST(X,H) - BRHO=B ! B(kp,d) - SBKRB(JJ)=SH ! kp*d*B(kp,d) - CALL DERIW(X,H) - BRHOP=BPR ! B'(kp,d)= dB(kp,r)/dln(r) at r=d - H=AK*RB(JJ) - CALL GST(X,H) - CDK(JJ)=CHH ! ReG(k,d) - BRHOS=B ! B(k,d) - PRHOS=P ! P(k,d) - SDK(JJ)=SH - IF(ICH.EQ.0)GOTO 2 - SDK(JJ)=ACH*SH ! ImG(k,d) - IF(AK.EQ.0.D0.AND.AC.LT.0.D0)SDK(JJ)=3.14159*X*B - 2 SDKK(JJ)=RB(JJ) - IF(AK.NE.0.D0)SDKK(JJ)=SH/AK ! d*B(k,d) - CALL DERIW(X,H) ! PPR=P'(k,d)= dP(k,r)/dln(r) at r=d - ZZ=PPR-PRHOS - IF(ICH.EQ.1)ZZ=ZZ+X*(BRHOS+BPR*(DLOG(DABS(X))+HPR)) -C ZZ= P'(k,d)-P(k,d)+x*{B(k,d)+B'(k,d)*[ln!x!+2*C-1+h(k*ac)]} - GG=(BRHOP*CDK(JJ)-BRHO*ZZ)/RB(JJ) -C GG= [B'(kp,d)*ReG(k,d)-B(kp,d)*ZZ]/d - G=GG/(BRHO*BPR-BRHOP*BRHOS) -C G= GG/[B(kp,d)*B'(k,d)-B'(kp,d)*B(k,d)] - RETURN - END - SUBROUTINE DERIW(X,H) -C---CALLED BY F-N G(AK) - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_NS/LL,NS,ICH,ISI,IQS,I3C,I3S - COMMON/FSI_BP/B,P/FSI_DERIV/BPR,PPR - HH=.1D-3 - CALL GST(X,H-HH) - Q1=P - B1=B - CALL GST(X,H+HH) - HHH=HH+HH - BPR=H*(B-B1)/HHH - PPR=H*(P-Q1)/HHH - IF(ICH.EQ.0)RETURN - CALL GST(X-HH,H) - Q1=P - B1=B - CALL GST(X+HH,H) - BPR=BPR+X*(B-B1)/HHH - PPR=PPR+X*(P-Q1)/HHH - RETURN - END -C================================================================ - - -c-------------#include "gen/pilot.h" - FUNCTION DFRSIN(X) - - IMPLICIT DOUBLE PRECISION (A-H,O-Z) - - DIMENSION A(0:16),B(0:15),C1(0:25),C2(0:28) - - PARAMETER (Z1 = 1, R8 = Z1/8, R32 = Z1/32) - - DATA C0 /1.25331 41373 15500 3D0/ - - DATA NA,NB,NC1,NC2 /16,15,25,28/ - - DATA A( 0) / 0.76435 13866 41860 002D0/ - DATA A( 1) /-0.43135 54754 76601 793D0/ - DATA A( 2) / 0.43288 19997 97266 531D0/ - DATA A( 3) /-0.26973 31033 83871 110D0/ - DATA A( 4) / 0.08416 04532 08769 354D0/ - DATA A( 5) /-0.01546 52448 44613 820D0/ - DATA A( 6) / 0.00187 85542 34398 220D0/ - DATA A( 7) /-0.00016 26497 76188 875D0/ - DATA A( 8) / 0.00001 05739 76563 833D0/ - DATA A( 9) /-0.00000 05360 93398 892D0/ - DATA A(10) / 0.00000 00218 16584 549D0/ - DATA A(11) /-0.00000 00007 29016 212D0/ - DATA A(12) / 0.00000 00000 20373 325D0/ - DATA A(13) /-0.00000 00000 00483 440D0/ - DATA A(14) / 0.00000 00000 00009 865D0/ - DATA A(15) /-0.00000 00000 00000 175D0/ - DATA A(16) / 0.00000 00000 00000 003D0/ - - DATA B( 0) / 0.63041 40431 45705 392D0/ - DATA B( 1) /-0.42344 51140 57053 335D0/ - DATA B( 2) / 0.37617 17264 33436 566D0/ - DATA B( 3) /-0.16249 48915 45095 674D0/ - DATA B( 4) / 0.03822 25577 86330 087D0/ - DATA B( 5) /-0.00564 56347 71321 909D0/ - DATA B( 6) / 0.00057 45495 19768 974D0/ - DATA B( 7) /-0.00004 28707 15321 020D0/ - DATA B( 8) / 0.00000 24512 07499 233D0/ - DATA B( 9) /-0.00000 01109 88418 409D0/ - DATA B(10) / 0.00000 00040 82497 317D0/ - DATA B(11) /-0.00000 00001 24498 302D0/ - DATA B(12) / 0.00000 00000 03200 484D0/ - DATA B(13) /-0.00000 00000 00070 324D0/ - DATA B(14) / 0.00000 00000 00001 336D0/ - DATA B(15) /-0.00000 00000 00000 022D0/ - - DATA C1( 0) / 0.99056 04793 73497 549D0/ - DATA C1( 1) /-0.01218 35098 31478 997D0/ - DATA C1( 2) /-0.00248 27428 23113 060D0/ - DATA C1( 3) / 0.00026 60949 52647 247D0/ - DATA C1( 4) /-0.00000 10790 68987 406D0/ - DATA C1( 5) /-0.00000 48836 81753 933D0/ - DATA C1( 6) / 0.00000 09990 55266 368D0/ - DATA C1( 7) /-0.00000 00750 92717 372D0/ - DATA C1( 8) /-0.00000 00190 79487 573D0/ - DATA C1( 9) / 0.00000 00090 90797 293D0/ - DATA C1(10) /-0.00000 00019 66236 033D0/ - DATA C1(11) / 0.00000 00001 64772 911D0/ - DATA C1(12) / 0.00000 00000 63079 714D0/ - DATA C1(13) /-0.00000 00000 36432 219D0/ - DATA C1(14) / 0.00000 00000 10536 930D0/ - DATA C1(15) /-0.00000 00000 01716 438D0/ - DATA C1(16) /-0.00000 00000 00107 124D0/ - DATA C1(17) / 0.00000 00000 00204 099D0/ - DATA C1(18) /-0.00000 00000 00090 064D0/ - DATA C1(19) / 0.00000 00000 00025 506D0/ - DATA C1(20) /-0.00000 00000 00004 036D0/ - DATA C1(21) /-0.00000 00000 00000 570D0/ - DATA C1(22) / 0.00000 00000 00000 762D0/ - DATA C1(23) /-0.00000 00000 00000 363D0/ - DATA C1(24) / 0.00000 00000 00000 118D0/ - DATA C1(25) /-0.00000 00000 00000 025D0/ - - DATA C2( 0) / 0.04655 77987 37516 4561D0/ - DATA C2( 1) / 0.04499 21302 01239 4140D0/ - DATA C2( 2) /-0.00175 42871 39651 4532D0/ - DATA C2( 3) /-0.00014 65340 02581 0678D0/ - DATA C2( 4) / 0.00003 91330 40863 0159D0/ - DATA C2( 5) /-0.00000 34932 28659 7731D0/ - DATA C2( 6) /-0.00000 03153 53003 2345D0/ - DATA C2( 7) / 0.00000 01876 58200 8529D0/ - DATA C2( 8) /-0.00000 00377 55280 4930D0/ - DATA C2( 9) / 0.00000 00026 65516 5010D0/ - DATA C2(10) / 0.00000 00010 88144 8122D0/ - DATA C2(11) /-0.00000 00005 35500 7671D0/ - DATA C2(12) / 0.00000 00001 31576 5447D0/ - DATA C2(13) /-0.00000 00000 15286 0881D0/ - DATA C2(14) /-0.00000 00000 03394 7646D0/ - DATA C2(15) / 0.00000 00000 02702 0267D0/ - DATA C2(16) /-0.00000 00000 00946 3142D0/ - DATA C2(17) / 0.00000 00000 00207 1565D0/ - DATA C2(18) /-0.00000 00000 00012 6931D0/ - DATA C2(19) /-0.00000 00000 00013 9756D0/ - DATA C2(20) / 0.00000 00000 00008 5929D0/ - DATA C2(21) /-0.00000 00000 00003 1070D0/ - DATA C2(22) / 0.00000 00000 00000 7515D0/ - DATA C2(23) /-0.00000 00000 00000 0648D0/ - DATA C2(24) /-0.00000 00000 00000 0522D0/ - DATA C2(25) / 0.00000 00000 00000 0386D0/ - DATA C2(26) /-0.00000 00000 00000 0165D0/ - DATA C2(27) / 0.00000 00000 00000 0050D0/ - DATA C2(28) /-0.00000 00000 00000 0009D0/ - - V=ABS(X) - IF(V .LT. 8) THEN - Y=R8*V - H=2*Y**2-1 - ALFA=H+H - B1=0 - B2=0 - DO 4 I = NB,0,-1 - B0=B(I)+ALFA*B1-B2 - B2=B1 - 4 B1=B0 - H=SQRT(V)*Y*(B0-B2) - ELSE - R=1/V - H=10*R-1 - ALFA=H+H - B1=0 - B2=0 - DO 5 I = NC1,0,-1 - B0=C1(I)+ALFA*B1-B2 - B2=B1 - 5 B1=B0 - S=B0-H*B2 - B1=0 - B2=0 - DO 6 I = NC2,0,-1 - B0=C2(I)+ALFA*B1-B2 - B2=B1 - 6 B1=B0 - H=C0-SQRT(R)*(S*COS(V)+(B0-H*B2)*SIN(V)) - END IF - IF(X .LT. 0) H=-H - GO TO 9 - - ENTRY DFRCOS(X) - - V=ABS(X) - IF(V .LT. 8) THEN - H=R32*V**2-1 - ALFA=H+H - B1=0 - B2=0 - DO 1 I = NA,0,-1 - B0=A(I)+ALFA*B1-B2 - B2=B1 - 1 B1=B0 - H=SQRT(V)*(B0-H*B2) - ELSE - R=1/V - H=10*R-1 - ALFA=H+H - B1=0 - B2=0 - DO 2 I = NC1,0,-1 - B0=C1(I)+ALFA*B1-B2 - B2=B1 - 2 B1=B0 - S=B0-H*B2 - B1=0 - B2=0 - DO 3 I = NC2,0,-1 - B0=C2(I)+ALFA*B1-B2 - B2=B1 - 3 B1=B0 - H=C0-SQRT(R)*((B0-H*B2)*COS(V)-S*SIN(V)) - END IF - IF(X .LT. 0) H=-H - 9 DFRSIN=H - RETURN - END - -c--#include "gen/pilot.h" - FUNCTION CGAMMA(Z) - - - COMPLEX*8 CGAMMA - COMPLEX*8 Z,U,V,F,H,S - CHARACTER NAME*(*) - CHARACTER*80 ERRTXT - PARAMETER (NAME = 'CGAMMA') - - DIMENSION C(0:15) - - PARAMETER (Z1 = 1, HF = Z1/2) - -c--#if defined(CERNLIB_QF2C) -c--#include "gen/gcmpfun.inc" -c--#endif - - DATA PI /3.14159 26535 89793 24D0/ - DATA C1 /2.50662 82746 31000 50D0/ - - DATA C( 0) / 41.62443 69164 39068D0/ - DATA C( 1) /-51.22424 10223 74774D0/ - DATA C( 2) / 11.33875 58134 88977D0/ - DATA C( 3) / -0.74773 26877 72388D0/ - DATA C( 4) / 0.00878 28774 93061D0/ - DATA C( 5) / -0.00000 18990 30264D0/ - DATA C( 6) / 0.00000 00019 46335D0/ - DATA C( 7) / -0.00000 00001 99345D0/ - DATA C( 8) / 0.00000 00000 08433D0/ - DATA C( 9) / 0.00000 00000 01486D0/ - DATA C(10) / -0.00000 00000 00806D0/ - DATA C(11) / 0.00000 00000 00293D0/ - DATA C(12) / -0.00000 00000 00102D0/ - DATA C(13) / 0.00000 00000 00037D0/ - DATA C(14) / -0.00000 00000 00014D0/ - DATA C(15) / 0.00000 00000 00006D0/ - -c----#if !defined(CERNLIB_QF2C) -c----#include "gen/gcmpfun.inc" -c----#endif - - COMPLEX*8 GREAL,GIMAG,XARG,YARG - - COMPLEX*8 ZARG,GCONJG,GCMPLX - GREAL( ZARG)=REAL( ZARG) - GIMAG( ZARG)=AIMAG(ZARG) - GCONJG(ZARG)=CONJG(ZARG) -c-- GCMPLX(XARG,YARG)= CMPLX(XARG,YARG) - - U=Z - X=U - IF(GIMAG(U) .EQ. 0 .AND. -ABS(X) .EQ. INT(X)) THEN - F=0 - H=0 - WRITE(ERRTXT,101) X -c- CALL MTLPRT(NAME,'C305.1',ERRTXT) - ELSE - IF(X .GE. 1) THEN - F=1 - V=U - ELSEIF(X .GE. 0) THEN - F=1/U - V=1+U - ELSE - F=1 - V=1-U - END IF - H=1 - S=C(0) - DO 1 K = 1,15 - H=((V-K)/(V+(K-1)))*H - 1 S=S+C(K)*H - H=V+(4+HF) - H=C1*EXP((V-HF)*LOG(H)-H)*S - IF(X .LT. 0) H=PI/(SIN(PI*U)*H) - ENDIF - -c----#if !defined(CERNLIB_DOUBLE) - CGAMMA=F*H -c----#endif - - RETURN - 101 FORMAT('ARGUMENT EQUALS NON-POSITIVE INTEGER = ',1P,E15.1) - END - diff --git a/HBTAN/hbtanalysis.C b/HBTAN/hbtanalysis.C deleted file mode 100644 index a4175d4fa03..00000000000 --- a/HBTAN/hbtanalysis.C +++ /dev/null @@ -1,492 +0,0 @@ -#ifndef __MAKECINT__ - #ifndef __CINT__ - #include "alles.h" - #include - #include "AliRunAnalysis.h" - #include "AliHBTAnalysis.h" - #include "AliReader.h" - #include "AliReaderESD.h" - #include "AliReaderKineTree.h" - #include "AliParticleCut.h" - #include "AliAOD.h" - #include "AliAODPairCut.h" - #include "AliAODParticleCut.h" - #include "AliHBTQResolutionFctns.h" - #include "AliHBTQDistributionFctns.h" - #include "AliHBTMonDistributionFctns.h" - #include "AliHBTTwoTrackEffFctn.h" - #include "AliHBTCorrelFctn.h" - #include "AliHBTWeightFctn.h" - #include "AliHBTWeightTheorFctn.h" - #include "AliHBTWeights.h" - #include "AliHBTLLWeights.h" - #include "TSystem.h" - #include "TObjString.h" - #include "TString.h" - #include "AliPDG.h" - #include "AliHBTMonDistributionFctns.h" - #include "AliHBTMonResolutionFctns.h" - #endif -#endif - -//This macro can not be executed from -AliHBTAnalysis* buildanalysis(Int_t pid1, Int_t pid2, Bool_t threeDcuts, Float_t qinvmax, const char* anasuffix = ""); - - -void hbtanalysis(Option_t* datatype="Kine", Option_t* processopt="TracksAndParticles", - Int_t first = -1,Int_t last = -1, - char *prefname = "") - { - const char* basedir="."; - const char* serie="."; - const char* field = "."; - - Int_t PID[10]; - PID[0]=kPiPlus; - PID[1]=kPiMinus; - PID[1]=0; - - Bool_t ident = kTRUE;//identical particles - Bool_t nonident = kFALSE;//non identical particles analysis -// Dynamically link some shared libs -// gROOT->LoadMacro("loadlibs.C"); -// loadlibs(); - gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libANALYSIS"); - gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libHBTAN"); - - /***********************************************************/ - //Create analysis and reader - - TString dataname; - AliReader* reader; - Int_t kine = strcmp(datatype,"Kine"); - Int_t ESD = strcmp(datatype,"ESD"); - Int_t intern = strcmp(datatype,"Intern"); - - if(!kine) - { - reader = new AliReaderKineTree(); - processopt="Particles"; //this reader by definition reads only simulated particles - dataname = "Kine"; - } - else if(!ESD) - { - reader = new AliReaderESD(); - dataname = "TPC"; - } - else if(!intern) - { -// dataname = "TPC"; -// reader = new AliReaderAOD(dataname+".data.root"); - } - else - { - cerr<<"Option "<Class()->GetName()<<" dataname: "<= 0) && (last>=0) && ( (last-first)>=0 ) ) - {//read from many dirs dirs - char buff[50]; - dirs = new TObjArray(last-first+1); - for (Int_t i = first; i<=last; i++) - { -// sprintf(buff,"%s/%s/%s/%05.5d",basedir,field,serie,i); - sprintf(buff,"%s/%s/%s/%d",basedir,field,serie,i); - TObjString *odir= new TObjString(buff); - dirs->Add(odir); - } - } - reader->SetDirs(dirs); - reader->SetName("READER"); - reader->SetTitle("Reader Used in HBT Analysis"); - cout<<"hbtanalysis.C: Dirs set\n"; - /***********************************************************/ - /***** R E A D E R ***************************************/ - /***********************************************************/ - - //we want have only low pt pi+ so set a cut to reader - AliAODParticleCut* readerpartcut= new AliAODParticleCut(); - readerpartcut->SetPtRange(0.0,10000.0); -// readerpartcut->SetThetaRange(0.25*TMath::Pi(), 0.75*TMath::Pi());//45->135 deg. - readerpartcut->SetYRange(-1.0,1.0); - - Int_t l = 0; - while (PID[l] != 0) - { - readerpartcut->SetPID(PID[l]); - reader->AddParticleCut(readerpartcut);//read this particle type with this cut - l++; - } - - TString filename = prefname + dataname + ".anal."; - TString fn; - TParticlePDG* pdg1; - TParticlePDG* pdg2; - TString p2name; - TString p1name ; - - /************************************************************/ - /**** P R O C E S S ***********************/ - /************************************************************/ - AliHBTAnalysis* hbtanalysis = 0x0; - - l = 0; - Int_t k; - while (PID[l] != 0) - { - pdg1 = TDatabasePDG::Instance()->GetParticle(PID[l]); - if (pdg1 == 0x0) - { - cerr<<"ERROR: hbtanalysis.C: Can not find particle type "<GetName(); - k=l; - while (PID[k] != 0) - { - if ( (k==l)&&(ident==kFALSE) ) { k++;continue;} - if ( (k!=l)&&(nonident==kFALSE) ) { k++;continue; } - - pdg2 = TDatabasePDG::Instance()->GetParticle(PID[k]); - if (pdg1 == 0x0) - { - cerr<<"ERROR: hbtanalysis.C: Can not find particle type "<GetName(); - cout<<"hbtanalysis.C: buildanalysis for "<SetReader(reader); - - cout<<"hbtanalysis.C: buildanalysis "<SetOutputFileName(fn); - - AliHBTLLWeights::Instance()->SetParticlesTypes(PID[l],PID[k]); - AliHBTLLWeights::Instance()->SetColoumb(kFALSE); - AliHBTLLWeights::Instance()->SetStrongInterSwitch(kFALSE); - AliHBTLLWeights::Instance()->Init(); - AliHBTLLWeights::Instance()->Set(); - -// AliHBTCrab::Instance()->Init(PID[l],PID[k]); -// AliHBTCrab::Instance()->Set(); - - hbtanalysis->SetProcessOption(AliHBTAnalysis::kSimulated); - analysis->Add(hbtanalysis); - - histoOutput->cd(); - cout<<"hbtanalysis.C: Run\n"; - analysis->Run(); - - cout<<"hbtanalysis.C: Write\n"; - reader->Write(); - cout<<"hbtanalysis.C: Delete analysis\n"; - hbtanalysis->SetOwner(kTRUE); - delete analysis; - histoOutput->Close(); - k++; - } - l++; - } - - delete readerpartcut; - if (dirs) - { - dirs->SetOwner(); - delete dirs; - } - - } - -AliHBTAnalysis* buildanalysis(Int_t pid1, Int_t pid2, Bool_t threeDcuts, Float_t qinvmax, const char* anasuffix) - { - /************************************************************/ - /**** Q INV Correlation Function ************************/ - /************************************************************/ - - - AliHBTAnalysis * analysis = new AliHBTAnalysis(); - analysis->SetBufferSize(1); - - - AliAODPairCut *paircut = new AliAODPairCut(); - - TString anasfx(anasuffix); - - Float_t qinvmin = 0.0; - paircut->SetQInvRange(qinvmin,1.5*qinvmax); - - TParticlePDG* pdg1 = TDatabasePDG::Instance()->GetParticle(pid1); - TString system = pdg1->GetName(); - system+=" "; - if (pid2) - { - cout<<"Setting cuts on particles: "<SetPID(pid1); - paircut->SetFirstPartCut(partcut); - partcut->SetPID(pid2); - paircut->SetSecondPartCut(partcut); - delete partcut; - TParticlePDG* pdg2 = TDatabasePDG::Instance()->GetParticle(pid2); - system+=pdg2->GetName(); - } - else - { - system+=pdg1->GetName(); - } - analysis->SetGlobalPairCut(paircut); - paircut->SetName("AnalysisGlobalPairCut"); - paircut->Write(); - - cout<<"Building functions"<SetNumberOfBinsToScale(200); - qinvcfP->Rename("qinvcfP"+anasfx,"Particle (simulated) Q_{inv} Correlation Function "+ system + anasfx); - analysis->AddParticleFunction(qinvcfP); - -//=========================================================================================== - - AliHBTWeightTheorQInvFctn *wqinvcf = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcf->SetNumberOfBinsToScale(200); - wqinvcf->Rename("wqinvcf","Particle (simulated) Lednicky Q_{inv} Correlation Function "+system); - analysis->AddParticleFunction(wqinvcf); - - AliHBTWeightTheorOSLFctn *wqoslcf = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0,60,qinvmax,0.0,60,qinvmax,0.0); - wqoslcf->Rename("wqoslcf","Particle (simulated) Lednicky OSL Theoret Correlation Function "+system); - wqoslcf->SetNumberOfBinsToScale(20,20,20); - analysis->AddParticleFunction(wqoslcf); - -//=========================================================================================== - AliAODPairCut *cfPairCutKt = new AliAODPairCut(); - -//=========================================================================================== - cfPairCutKt->SetKtRange(0.0,0.2); - - AliHBTWeightTheorQInvFctn *wqinvcfK11 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK11->SetNumberOfBinsToScale(200); - wqinvcfK11->SetPairCut(cfPairCutKt); - wqinvcfK11->Rename("wqinvcfK11","Particle (simulated) Lednicky Q_{inv} Correlation Function 0.0AddParticleFunction(wqinvcfK11); - - AliHBTWeightTheorOSLFctn *wqoslcfK11 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0,60,qinvmax,0.0,60,qinvmax,0.0); - wqoslcfK11->Rename("wqoslcfK11","Particle (simulated) Lednicky OSL Theoret Correlation Function 0.0SetNumberOfBinsToScale(20,20,20); - wqoslcfK11->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK11); -//=========================================================================================== - - cfPairCutKt->SetKtRange(0.2,0.4); - - AliHBTWeightTheorQInvFctn *wqinvcfK12 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK12->SetNumberOfBinsToScale(200); - wqinvcfK12->SetPairCut(cfPairCutKt); - wqinvcfK12->Rename("wqinvcfK12","Particle (simulated) Lednicky Q_{inv} Correlation Function 0.2AddParticleFunction(wqinvcfK12); - - AliHBTWeightTheorOSLFctn *wqoslcfK12 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0,60,qinvmax,0.0,60,qinvmax,0.0); - wqoslcfK12->Rename("wqoslcfK12","Particle (simulated) Lednicky OSL Theoret Correlation Function 0.2SetNumberOfBinsToScale(20,20,20); - wqoslcfK12->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK12); -//=========================================================================================== - - cfPairCutKt->SetKtRange(0.4,0.6); - - AliHBTWeightTheorQInvFctn *wqinvcfK21 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK21->SetNumberOfBinsToScale(200); - wqinvcfK21->SetPairCut(cfPairCutKt); - wqinvcfK21->Rename("wqinvcfK21","Particle (simulated) Lednicky Q_{inv} Correlation Function 0.4AddParticleFunction(wqinvcfK21); - - AliHBTWeightTheorOSLFctn *wqoslcfK21 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0, 60,qinvmax,0.0, 60,qinvmax,0.0); - wqoslcfK21->Rename("wqoslcfK21","Particle (simulated) Lednicky OSL Theoret Correlation Function 0.4SetNumberOfBinsToScale(20,20,20); - wqoslcfK21->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK21); -//=========================================================================================== - - cfPairCutKt->SetKtRange(0.6,0.8); - - AliHBTWeightTheorQInvFctn *wqinvcfK22 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK22->SetNumberOfBinsToScale(200); - wqinvcfK22->SetPairCut(cfPairCutKt); - wqinvcfK22->Rename("wqinvcfK22","Particle (simulated) Lednicky Q_{inv} Correlation Function 0.6AddParticleFunction(wqinvcfK22); - - AliHBTWeightTheorOSLFctn *wqoslcfK22 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0, 60,qinvmax,0.0, 60,qinvmax,0.0); - wqoslcfK22->Rename("wqoslcfK22","Particle (simulated) Lednicky OSL Theoret Correlation Function 0.6SetNumberOfBinsToScale(20,20,20); - wqoslcfK22->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK22); -//=========================================================================================== - - cfPairCutKt->SetKtRange(0.8,1.2); - - AliHBTWeightTheorQInvFctn *wqinvcfK3 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK3->SetNumberOfBinsToScale(200); - wqinvcfK3->SetPairCut(cfPairCutKt); - wqinvcfK3->Rename("wqinvcfK3","Particle (simulated) Lednicky Q_{inv} Correlation Function 0.8AddParticleFunction(wqinvcfK3); - - AliHBTWeightTheorOSLFctn *wqoslcfK3 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0, 60,qinvmax,0.0, 60,qinvmax,0.0); - wqoslcfK3->Rename("wqoslcfK3","Particle (simulated) Lednicky OSL Theoret Correlation Function 0.8SetNumberOfBinsToScale(20,20,20); - wqoslcfK3->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK3); -//=========================================================================================== - - cfPairCutKt->SetKtRange(1.2,100000.); - - AliHBTWeightTheorQInvFctn *wqinvcfK4 = new AliHBTWeightTheorQInvFctn(1000,qinvmax); - wqinvcfK4->SetNumberOfBinsToScale(200); - wqinvcfK4->SetPairCut(cfPairCutKt); - wqinvcfK4->Rename("wqinvcfK4","Particle (simulated) Lednicky Q_{inv} Correlation Function 1.2AddParticleFunction(wqinvcfK4); - - AliHBTWeightTheorOSLFctn *wqoslcfK4 = new AliHBTWeightTheorOSLFctn(60,qinvmax,0.0, 60,qinvmax,0.0, 60,qinvmax,0.0); - wqoslcfK4->Rename("wqoslcfK4","Particle (simulated) Lednicky OSL Theoret Correlation Function 1.2SetNumberOfBinsToScale(20,20,20); - wqoslcfK4->SetPairCut(cfPairCutKt); - analysis->AddParticleFunction(wqoslcfK4); -//=========================================================================================== - - - AliHBTMonVyDistributionVsVxFctn* vydistrvsvx = new AliHBTMonVyDistributionVsVxFctn(800,1.0e-11,-1.0e-11,800,1.0e-11,-1.0e-11); - AliHBTMonRtDistributionVsVzFctn* rtdistrvsvz = new AliHBTMonRtDistributionVsVzFctn(800,1.0e-11,-1.0e-11,800,1.0e-11,0.0); - analysis->AddParticleMonitorFunction(vydistrvsvx); - analysis->AddParticleMonitorFunction(rtdistrvsvz); - - AliHBTMonPhiDistributionVsPtFctn* phidistr = new AliHBTMonPhiDistributionVsPtFctn(800,0,4,200,6.3,-3.2); - AliHBTMonThetaDistributionVsPtFctn* thetadistr = new AliHBTMonThetaDistributionVsPtFctn(); - analysis->AddParticleMonitorFunction(phidistr); - analysis->AddParticleMonitorFunction(thetadistr); - - cout<<"Building functions Done "<SetQSideCMSLRange(-0.01,0.01); - outPairCut->SetQLongCMSLRange(-0.01,0.01); - outPairCut->SetKtRange(0.0,0.8); - - AliHBTWeightTheorQOutFctn *wqcfoutP = new AliHBTWeightTheorQOutFctn(1000,qinvmax,-qinvmax); - wqcfoutP->SetNumberOfBinsToScale(200); - wqcfoutP->SetPairCut(outPairCut); - analysis->AddParticleFunction(wqcfoutP); - - /************************************************************/ - /**** Q SIDE Correlation Function ************************/ - /************************************************************/ - AliAODPairCut *sidePairCut = new AliAODPairCut(); - sidePairCut->SetQOutCMSLRange(-0.01,0.01); - sidePairCut->SetQLongCMSLRange(-0.01,0.01); - sidePairCut->SetKtRange(0.0,0.8); - - AliHBTWeightTheorQSideFctn *wqcfsideP = new AliHBTWeightTheorQSideFctn(1000,qinvmax,-qinvmax); - wqcfsideP->SetNumberOfBinsToScale(200); - wqcfsideP->SetPairCut(sidePairCut); - analysis->AddParticleFunction(wqcfsideP); - - /************************************************************/ - /**** Q LONG Correlation Function ************************/ - /************************************************************/ - AliAODPairCut *longPairCut = new AliAODPairCut(); - longPairCut->SetQOutCMSLRange(-0.01,0.01); - longPairCut->SetQSideCMSLRange(-0.01,0.01); - longPairCut->SetKtRange(0.0,0.8); - - AliHBTWeightTheorQLongFctn *wqcflongP = new AliHBTWeightTheorQLongFctn(1000,qinvmax,-qinvmax); - wqcflongP->SetNumberOfBinsToScale(200); - wqcfsideP->SetPairCut(longPairCut); - analysis->AddParticleFunction(wqcflongP); - - - - AliHBTMonPxDistributionFctn* pxdistr = new AliHBTMonPxDistributionFctn(); - AliHBTMonPyDistributionFctn* pydistr = new AliHBTMonPyDistributionFctn(); - AliHBTMonPzDistributionFctn* pzdistr = new AliHBTMonPzDistributionFctn(); - AliHBTMonPDistributionFctn* pdistr = new AliHBTMonPDistributionFctn(); - analysis->AddParticleMonitorFunction(pxdistr); - analysis->AddParticleMonitorFunction(pydistr); - analysis->AddParticleMonitorFunction(pzdistr); - analysis->AddParticleMonitorFunction(pdistr); - - AliHBTMonVxDistributionFctn* vxdistr = new AliHBTMonVxDistributionFctn(800,1.0e-11,-1.0e-11); - AliHBTMonVyDistributionFctn* vydistr = new AliHBTMonVyDistributionFctn(800,1.0e-11,-1.0e-11); - AliHBTMonVzDistributionFctn* vzdistr = new AliHBTMonVzDistributionFctn(800,1.0e-11,-1.0e-11); - AliHBTMonRDistributionFctn* vrdistr = new AliHBTMonRDistributionFctn (800,1.0e-11,-1.0e-11); - analysis->AddParticleMonitorFunction(vxdistr); - analysis->AddParticleMonitorFunction(vydistr); - analysis->AddParticleMonitorFunction(vzdistr); - analysis->AddParticleMonitorFunction(vrdistr); - - - AliAODParticleCut* vxycut = new AliAODParticleCut(); - AliHBTMonVyDistributionVsVxFctn* vydistrvsvx1 = new AliHBTMonVyDistributionVsVxFctn(800,1.0e-11,-1.0e-11,800,1.0e-11,-1.0e-11); - vydistrvsvx1->Rename("vydistrvsvx1","Vx:Vy 0.2 < Pt < 1.8"); - vxycut->SetPtRange(0.2,0.8); - vydistrvsvx1->SetParticleCut(vxycut); - analysis->AddParticleMonitorFunction(vydistrvsvx1); - - AliHBTMonVyDistributionVsVxFctn* vydistrvsvx2 = new AliHBTMonVyDistributionVsVxFctn(800,1.0e-11,-1.0e-11,800,1.0e-11,-1.0e-11); - vydistrvsvx2->Rename("vydistrvsvx2","Vx:Vy 0.8 < Pt < 1.2"); - vxycut->SetPtRange(0.8,1.2); - vydistrvsvx2->SetParticleCut(vxycut); - analysis->AddParticleMonitorFunction(vydistrvsvx2); - - AliHBTMonVyDistributionVsVxFctn* vydistrvsvx3 = new AliHBTMonVyDistributionVsVxFctn(800,1.0e-11,-1.0e-11,800,1.0e-11,-1.0e-11); - vydistrvsvx3->Rename("vydistrvsvx3","Vx:Vy 1.2 < Pt "); - vxycut->SetPtRange(1.2,10000.0); - vydistrvsvx3->SetParticleCut(vxycut); - analysis->AddParticleMonitorFunction(vydistrvsvx3); - -// AliHBTTwoKStarCorrelFctn* kstarP = new AliHBTTwoKStarCorrelFctn(600,qinvmax); -// kstarP->Rename("kstarP","Particle (simulated) 2K^{*} Correlation Function "+system); -// analysis->AddParticleFunction(kstarP); - - - delete paircut; -// delete outPairCut; -// delete sidePairCut; -// delete longPairCut; - return analysis; - } diff --git a/HBTAN/hbtcorrections.C b/HBTAN/hbtcorrections.C deleted file mode 100644 index bd9ebf88a31..00000000000 --- a/HBTAN/hbtcorrections.C +++ /dev/null @@ -1,81 +0,0 @@ -void hbtcorrections(Int_t first = -1,Int_t last = -1) -{ - - const char* basedir="."; - const char* serie=""; - const char* field = ""; - - AliHBTReader* reader = new AliHBTReaderInternal("ESD.old.root"); - TObjArray* dirs=0; - if ( (first >= 0) && (last>=0) && ( (last-first)>=0 ) ) - {//read from many dirs dirs - char buff[50]; - dirs = new TObjArray(last-first+1); - for (Int_t i = first; i<=last; i++) - { - sprintf(buff,"%s/%s/%s/%d",basedir,field,serie,i); - TObjString *odir= new TObjString(buff); - dirs->Add(odir); - } - } - reader->SetDirs(dirs); - - AliHBTParticleCut* readerpartcut= new AliHBTParticleCut(); - readerpartcut->SetPtRange(0.0,1.0); - readerpartcut->SetPID(kPiPlus); - reader->AddParticleCut(readerpartcut);//read this particle type with this cut - - AliHBTAnalysis* analysis = new AliHBTAnalysis(); - analysis->SetReader(reader); - analysis->SetDisplayInfo(100000); - AliHBTPairCut *paircut = new AliHBTPairCut(); - paircut->SetQInvRange(0.0,0.15); - analysis->SetGlobalPairCut(paircut); - - - - AliHBTCorrectQInvCorrelFctn* correctqinvCF = new AliHBTCorrectQInvCorrelFctn(); - - analysis->AddTrackFunction(correctqinvCF); - - TFile* outf = TFile::Open("hbtcorrected.root","recreate"); - if (outf == 0x0) - { - cout<<"\n\nERROR: can not open file"<SetInitialValues(0.8,12.0); - correctqinvCF->SetRadiusConvergenceTreshold(0.005); - correctqinvCF->SetLambdaConvergenceTreshold(0.01); - while (1) - { - iter++; - dirname = ietration+iter; - TDirectory* dir = outf->mkdir(dirname,"results after "+dirname); - outf->Write(); - if (dir) dir->cd(); - else - { - cout<<"\n\nERROR: can not make an directory in file named"<Process("Tracks"); - -/*****************************************/ - dir->cd(); - correctqinvCF->WriteAll(); -/*****************************************/ - if (correctqinvCF->IsConverged()) break; - else - { - correctqinvCF->SetInitialValues(correctqinvCF->GetFittedLambda(),correctqinvCF->GetFittedRadius()); - } - } - outf->cd(); - analysis->Write(); - delete outf; -} diff --git a/HBTAN/led_bldata.F b/HBTAN/led_bldata.F deleted file mode 100644 index 9b2f63b1841..00000000000 --- a/HBTAN/led_bldata.F +++ /dev/null @@ -1,34 +0,0 @@ - - SUBROUTINE led_bldata -c--mlv BLOCK DATA - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_AAPI/AAPI(20,2)/FSI_AAND/AAND(20,4) - COMMON/FSI_AADD/AADD(20,3)/FSI_AAPIN/AAPIN(20,2) - COMMON/FSI_AAKK/AAKK(9) - -C---Parameters for GPIPI (I,J), J=1(2) corresp. to isospin=0(2) - DATA AAPI/.2600D00, .2500D00, .3480D00,-.0637D00, 16*0.D0, - 1 -.0280D00,-.0820D00, .2795D00,-.0086D00, 16*0.D0/ -C---Parameters for GPIN (I,J), J=1(2) corresp. to piN isospin=1/2(3/2) - DATA AAPIN/ .12265D1, .1563D2, 18*0.D0, - 1 -.750D0, .7688D2, 18*0.D0/ -C---Parameters for GND (I,J), J=1(2) corresp. to nd(pd), S=1/2, -C--- J=3(4) corresp. to nd(pd), S=3/2 - DATA AAND/-.3295D1,-.8819D3, .4537D4, .28645D5, 16*0.D0, - 1 -.13837D2, .11505D2, .0D0, .10416D2, 16*0.D0, - 2 -.32180D2, .1014D2, .0D0, .0D0, 16*0.D0, - 3 -.60213D2, .1333D2, .0D0,-.70309D2, 16*0.D0/ - DATA AADD/ .10617D4, .3194D-2, .56849D3, 17*0.D0, - 1 20*0.D0, - 2 -.1085D4, .1987D5, 18*0.D0/ -C--- AAKK= m_K^2, m_pi^2, m_eta^2, m_S*^2, m_delta^2, -C--- gam(S*-->KK-b), gam(S*-->pipi), gam(delta-->KK-b), -C--- gam(delta-->pi eta) - DATA AAKK/.247677D00,.01947977D00,.2997015D00,.9604D00, - 1 .96511D00, -cc 2 .792D00, .199D00, .333D00, .222D00/ ! Martin (77) - 2 .094D00, .110D00, .333D00, .222D00/ ! Morgan (93) - -c- write(*,*)'aand',(aand(i,1),i=1,20) - - END diff --git a/HBTAN/libHBTAN.pkg b/HBTAN/libHBTAN.pkg deleted file mode 100644 index 6b83a65a624..00000000000 --- a/HBTAN/libHBTAN.pkg +++ /dev/null @@ -1,28 +0,0 @@ -#-*- Mode: Makefile -*- -SRCS = AliHBTWeights.cxx AliHBTCrab.cxx AliHBTAnalysis.cxx \ -AliHBTPair.cxx AliHBTAnalysisStavinskyMixing.cxx \ -AliHBTFunction.cxx AliHBTCorrelFctn.cxx \ -AliHBTMonitorFunction.cxx AliHBTTwoTrackEffFctn.cxx \ -AliHBTQResolutionFctns.cxx AliHBTQDistributionVsQInvFctns.cxx AliHBTQDistributionVsKtFctns.cxx \ -AliHBTRDistributions.cxx \ -AliHBTMonDistributionFctns.cxx AliHBTMonResolutionFctns.cxx \ -AliHBTLLWeights.cxx AliHBTWeightFctn.cxx \ -AliHBTWeightsPID.cxx AliHBTWeightTheorFctn.cxx \ -AliHBTPositionRandomizer.cxx \ -AliHBTCorrFitFctn.cxx AliHBTPIDPurityFctns.cxx \ -AliHBTCorrectQInvCorrelFctn.cxx AliHBTCorrectOSLCorrelFctn.cxx \ -AliHBTasCorrFctn.cxx AliHBTMonSplitting.cxx - -FSRCS = fsiini.F fsiw.F led_bldata.F ltran12.F - -HDRS:= $(SRCS:.cxx=.h) - -DHDR= HBTANLinkDef.h - -EINCLUDE:= TPC ITS - -ifeq (win32gcc,$(ALICE_TARGET)) -PACKSOFLAGS:= $(SOFLAGS) -L$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET) \ - -lAnalysisOld -lSTEERBase \ - -L$(shell root-config --libdir) -lEG -endif diff --git a/HBTAN/ltran12.F b/HBTAN/ltran12.F deleted file mode 100644 index caa895211d1..00000000000 --- a/HBTAN/ltran12.F +++ /dev/null @@ -1,133 +0,0 @@ - SUBROUTINE ltran12 -C - -c SUBROUTINE TRANS(icrf,irot) -C==> TRANSformation to the Co-moving frame (icrf>0) and -C Rotation to the system where (Pt || X),(irot=1). -C-FSI *************************************************** - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, ! momenta in NRF - 1 P2X,P2Y,P2Z,E2,P2 - COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. - 1 X2,Y2,Z2,T2,R2 ! points in NRF - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, ! momenta in PRF - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_POC/AMN,AM1,AM2,CN,C1,C2,AC1,AC2 - COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM - COMMON/FSI_CVK/V,CVK -C-FSI *************************************************** - COMMON /PAIR/P12T,V12Z,GAMZ,V12T,CPHI,SPHI - - -C calculating Ri, Pi and Ei - R1=DSQRT(X1*X1+Y1*Y1+Z1*Z1) - R2=DSQRT(X2*X2+Y2*Y2+Z2*Z2) - P1S=P1X*P1X+P1Y*P1Y+P1Z*P1Z - P2S=P2X*P2X+P2Y*P2Y+P2Z*P2Z - P1=DSQRT(P1S) - P2=DSQRT(P2S) - E1=DSQRT(AM1*AM1+P1S) - E2=DSQRT(AM2*AM2+P2S) -C----------------------------------------------------------------------- - E12=E1+E2 - P12X=P1X+P2X - P12Y=P1Y+P2Y - P12Z=P1Z+P2Z - P12S=P12X**2+P12Y**2+P12Z**2 - AM12=DSQRT(E12**2-P12S) - EPM=E12+AM12 - P12=DSQRT(P12S) - P112=P1X*P12X+P1Y*P12Y+P1Z*P12Z - H1=(P112/EPM-E1)/AM12 - PPX=P1X+P12X*H1 - PPY=P1Y+P12Y*H1 - PPZ=P1Z+P12Z*H1 - EE=(E12*E1-P112)/AM12 - AKS=EE**2-AM1**2 - AK=DSQRT(AKS) - - RETURN - END -C==== -C==== =============================================================== -C==== =============================================================== -C==== =============================================================== - - subroutine BoostToPrf() - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_CVK/V,CVK - COMMON/FSI_MOM/P1X,P1Y,P1Z,E1,P1, !part. momenta in NRF - 1 P2X,P2Y,P2Z,E2,P2 - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, - 1 X,Y,Z,T,RP,RPS - COMMON/FSI_COOR/X1,Y1,Z1,T1,R1, ! 4-coord. of emis. points in NRF - 1 X2,Y2,Z2,T2,R2 - COMMON/FSI_P12/P12X,P12Y,P12Z,E12,P12,AM12,EPM - - XS=X1-X2 - YS=Y1-Y2 - ZS=Z1-Z2 - TS=T1-T2 - RS12=XS*P12X+YS*P12Y+ZS*P12Z - H1=(RS12/EPM-TS)/AM12 - X=XS+P12X*H1 - Y=YS+P12Y*H1 - Z=ZS+P12Z*H1 - T=(E12*TS-RS12)/AM12 - RPS=X*X+Y*Y+Z*Z - RP=DSQRT(RPS) -CW WRITE(6,38)'RP ',RP,'X ',X,Y,Z,T -38 FORMAT(A7,E11.4,A7,4E11.4) - - CVK=(P12X*PPX+P12Y*PPY+P12Z*PPZ)/(P12*AK) - V=P12/E12 - return - end -C==== =============================================================== -C==== =============================================================== - - SUBROUTINE LTR8(Z,T,BETA,GAMMA,ZT,TT) -C===> Lorentz Transf. of Z(Pz) and T(E) to moving ref. frame.(REAL*8) -CInp: Z,T-Zcoord,Time before tr., BETA,GAMMA- velocity, Lor.fact. -COut: ZT,TT- " " after transformation. -C==== =============================================================== - IMPLICIT REAL*8 (A-H,O-Z) - ZH=GAMMA*(Z-BETA*T) - TT=GAMMA*(T-BETA*Z) - ZT=ZH - RETURN - END -C==== - - SUBROUTINE LTR4(Z,T,BETA,GAMMA,ZT,TT) -C===> Lorentz Transf. of Z(Pz) and T(E) to moving ref. frame.(real*4) -CInp: Z,T-Zcoord,Time before tr., BETA,GAMMA- velocity, Lor.fact. -COut: ZT,TT- " " after transformation. -C==== =============================================================== - ZH=GAMMA*(Z-BETA*T) - TT=GAMMA*(T-BETA*Z) - ZT=ZH - RETURN - END -C==== - SUBROUTINE ROT8(X,Y,SF,CF,XR,YR) -C===> Rotation with the angle f. (REAL*8) -CInp: X,Y-coord. before rotation; SF=sin(f), CF=cos(f), -COut: XR,YR - coordinates after rotation. -C==== ================================================= - IMPLICIT REAL*8 (A-H,O-Z) - XH=X*CF+Y*SF !Y - YR=Y*CF-X*SF ! _-X' - XR=XH ! _- f - RETURN !------> - END ! X - - SUBROUTINE SETPDIST(R) -C=====Just sets distance between particles - IMPLICIT REAL*8 (A-H,O-Z) - COMMON/FSI_PRF/PPX,PPY,PPZ,AK,AKS, ! momenta in PRF - 1 X,Y,Z,T,RP,RPS - RP=R - RPS=R*R - RETURN - END diff --git a/HBTAN/volya_complex.h b/HBTAN/volya_complex.h deleted file mode 100644 index b96e69cebdd..00000000000 --- a/HBTAN/volya_complex.h +++ /dev/null @@ -1,800 +0,0 @@ -//This file is part of CRAB -//http://www.nscl.msu.edu/~pratt/freecodes/crab/home.html - -/*-------------------------------------------------- -complex.cxx -Version 1.0.1 - --- Some modification for speed --- Some protections from overflow and underflow --- Solving of equations of order 2,3,4: - Solve2, Solve3, Solve4; ---------------------------------------------------*/ - -#ifndef __COMPLEX_CXX__ -#define __COMPLEX_CXX__ - -#ifndef small_epsilon -#define small_epsilon 1e-12 -#endif - -#ifndef PI -#define PI 3.141592653589793238462643 -#endif - - -#include -#include -//#include -#include - -/////////////////////////// Helper Error Function - -void ComplexError (const char *msg) -{ - cout << endl << msg << endl; - exit (1); -} - -void ComplexWarning (const char *msg) -{ - cout << endl << msg << endl; -} - -class Complex -{ -public: - double Re,Im; - - Complex (double a=0, double b=0): Re(a),Im(b) {} - - double GetRe () { return Re; } - double GetIm () { return Im; } - void SetRe (double a) { Re = a; } - void SetIm (double a) { Im = a; } - void Set (double a, double b) { Re = a; Im = b; } - void SetPolar (double, double); - void SetAbs (double); - void SetArg (double); - Complex operator ! () const; - Complex operator ! (); - Complex operator + () const; - Complex operator + (); - Complex operator - () const; - Complex operator - (); - Complex operator += (const Complex &); - Complex operator += (double); - Complex operator -= (const Complex &); - Complex operator -= (double); - Complex operator *= (const Complex &); - Complex operator *= (double); - Complex operator /= (const Complex &); - Complex operator /= (double); - - friend ostream& operator << (ostream&, const Complex &); - friend istream& operator >> (istream&, Complex &); -}; - - const Complex ImUnit (0,1); - - void Zero (Complex &); - Complex Polar (double, double); - double real (const Complex &); - double imag (const Complex &); - double Arg (const Complex &); - double phase(const Complex &); - double abs (const Complex &); - void Solve2 (Complex*, const Complex&, const Complex&); - void Solve3 (Complex*, const Complex&, const Complex&, const Complex&); - void Solve4 (Complex*, const Complex&, const Complex&, const Complex&, const Complex&); - Complex Solve2 (const Complex&, const Complex&, int RootNumber); - Complex Solve3 (const Complex&, const Complex&, const Complex&, int RootNumber); - Complex Solve4 (const Complex&, const Complex&, const Complex&, const Complex&, int RootNumber); - Complex conj (const Complex &); - Complex sqr (const Complex &); - Complex sqrt (const Complex &, int=0); - Complex pow (Complex, int); - Complex pow (Complex, double); - Complex pow (Complex, Complex); - Complex root (const Complex &, int, int=0); - Complex exp (const Complex &); - Complex log (const Complex &); - Complex sin (const Complex &); - Complex cos (const Complex &); - Complex tan (const Complex &); - Complex cot (const Complex &); - Complex sec (const Complex &); - Complex csc (const Complex &); - Complex sinh (const Complex &); - Complex cosh (const Complex &); - Complex tanh (const Complex &); - Complex coth (const Complex &); - Complex sech (const Complex &); - Complex csch (const Complex &); - Complex asin (const Complex &, int=0); - Complex acos (const Complex &, int=0); - Complex atan (const Complex &); - Complex acot (const Complex &); - Complex asec (const Complex &, int=0); - Complex acsc (const Complex &, int=0); - Complex asinh(const Complex &, int=0); - Complex acosh(const Complex &, int=0); - Complex atanh(const Complex &); - Complex acoth(const Complex &); - Complex asech(const Complex &, int=0); - Complex acsch(const Complex &, int=0); - - Complex operator ^ (const Complex &, int); - Complex operator ^ (const Complex &, double); - Complex operator ^ (const Complex &, const Complex &); - - double operator += (double&, const Complex &); - double operator -= (double&, const Complex &); - double operator *= (double&, const Complex &); - double operator /= (double&, const Complex &); - - Complex operator + (const Complex &, const Complex &); - Complex operator + (const Complex &, double); - Complex operator + (double, const Complex &); - Complex operator - (const Complex &, const Complex &); - Complex operator - (const Complex &, double); - Complex operator - (double, const Complex &); - Complex operator * (const Complex &, const Complex &); - Complex operator * (const Complex &, double); - Complex operator * (double, const Complex &); - Complex operator / (const Complex &, const Complex &); - Complex operator / (const Complex &, double); - Complex operator / (double, const Complex &); - - int operator == (const Complex &, double); - int operator == (double, const Complex &); - int operator == (const Complex &, const Complex &); - int operator != (const Complex &, double); - int operator != (double, const Complex &); - int operator != (const Complex &, const Complex &); - int operator >= (const Complex &, double); - int operator >= (double, const Complex &); - int operator >= (const Complex &, const Complex &); - int operator <= (const Complex &, double); - int operator <= (double, const Complex &); - int operator <= (const Complex &, const Complex &); - int operator > (const Complex &, double); - int operator > (double, const Complex &); - int operator > (const Complex &, const Complex &); - int operator < (const Complex &, double); - int operator < (double, const Complex &); - int operator < (const Complex &, const Complex &); - -//////////////////////////////////////////////// - - -inline Complex Complex::operator + () const -{ - return *this; -} - -inline Complex Complex::operator + () -{ - return *this; -} - -inline Complex Complex::operator - () const -{ - return Complex (-Re, -Im); -} - -inline Complex Complex::operator - () -{ - return Complex (-Re, -Im); -} - -inline Complex Complex::operator ! () const // complex conjugate // -{ - return Complex (Re, -Im); -} - -inline Complex Complex::operator ! () // complex conjugate // -{ - return Complex (Re, -Im); -} - -/////////////////////// +=,-=,*=,/= - -double operator += (double &a, const Complex &b) -{ - if (TMath::Abs(b.Im) < small_epsilon) a+=b.Re; - else - ComplexError ("Error in double+=Complex: Complex is not double number"); - return a; -} - -double operator -= (double &a, const Complex &b) -{ - if (TMath::Abs(b.Im) < small_epsilon) a-=b.Re; - else - ComplexError ("Error in double -=Complex: Complex is not double number"); - return a; -} - -double operator *= (double &a, const Complex &b) -{ - if (TMath::Abs(b.Im) < small_epsilon) a*=b.Re; - else - ComplexError ("Error in double *=Complex: Complex is not double number"); - return a; -} - -double operator /= (double &a, const Complex &b) -{ - if (TMath::Abs(b.Im) < small_epsilon) a/=b.Re; - else - ComplexError ("Error in double /=Complex: Complex is not double number"); - return a; -} - -inline Complex Complex::operator += (const Complex &a) -{ - Re+=a.Re; - Im+=a.Im; - return *this; -} - -inline Complex Complex::operator += (double a) -{ - Re+=a; - return *this; -} - -inline Complex Complex::operator -= (const Complex &a) -{ - Re-=a.Re; - Im-=a.Im; - return *this; -} - -inline Complex Complex::operator -= (double a) -{ - Re-=a; - return *this; -} - -Complex Complex::operator *= (const Complex &a) -{ - double t1=Re*a.Re, t2=Im*a.Im; - Im = (Re+Im) * (a.Re+a.Im) - t1 - t2; - Re = t1 - t2; - return *this; -} - -inline Complex Complex::operator *= (double a) -{ - Re*=a; - Im*=a; - return *this; -} - -Complex Complex::operator /= (const Complex &a) -{ - double t1, t2, temp; - if (TMath::Abs(a.Re) >= TMath::Abs(a.Im)) - { - t1 = a.Im / a.Re; - t2 = a.Re + a.Im * t1; - temp = (Re + Im * t1) / t2; - Im = (Im - Re * t1) / t2; - Re = temp; - } - else - { - t1 = a.Re / a.Im; - t2 = a.Re * t1 + a.Im; - temp = (Re * t1 + Im) / t2; - Im = (Im * t1 - Re) / t2; - Re = temp; - } - return *this; -} - -inline Complex Complex::operator /= (double a) -{ - Re/=a; - Im/=a; - return *this; -} - -/////////////////////////// +,-,*,/ - -inline Complex operator + (const Complex &a, const Complex &b) -{ - return Complex (a.Re+b.Re, a.Im+b.Im); -} - -inline Complex operator + (const Complex &a, double b) -{ - return Complex (a.Re+b, a.Im); -} - -inline Complex operator + (double b, const Complex &a) -{ - return Complex (a.Re+b, a.Im); -} - -inline Complex operator - (const Complex &a, const Complex &b) -{ - return Complex (a.Re-b.Re, a.Im-b.Im); -} - -inline Complex operator - (const Complex &a, double b) -{ - return Complex (a.Re-b, a.Im); -} - -inline Complex operator - (double b, const Complex &a) -{ - return Complex (b-a.Re, -a.Im); -} - -Complex operator * (const Complex &a, const Complex &b) -{ - double t1 = a.Re * b.Re; - double t2 = a.Im * b.Im; - return Complex (t1 - t2, (a.Re+a.Im) * (b.Re+b.Im) - t1 - t2); -} - -inline Complex operator * (const Complex &a, double b) -{ - return Complex (a.Re*b, a.Im*b); -} - -inline Complex operator * (double b, const Complex &a) -{ - return Complex (a.Re*b, a.Im*b); -} - -inline Complex operator / (const Complex &a, double b) -{ - return Complex (a.Re/b, a.Im/b); -} - -inline Complex operator / (const Complex &a, const Complex &b) -{ - double t1, t2; - if (TMath::Abs(b.Re) >= TMath::Abs(b.Im)) - { - t1 = b.Im / b.Re; - t2 = b.Re + b.Im * t1; - return Complex ((a.Re + a.Im * t1) / t2, (a.Im - a.Re * t1) / t2); - } - else - { - t1 = b.Re / b.Im; - t2 = b.Re * t1 + b.Im; - return Complex ((a.Re * t1 + a.Im) / t2, (a.Im * t1 - a.Re) / t2); - } -} - -inline Complex operator / (double b, const Complex &a) -{ - return (Complex (b,0)) / a; -} - -//////////////////////// <<,>> - -ostream& operator << (ostream &stream, const Complex &a) -{ - stream<<" "<> (istream &stream, Complex &a) -{ - stream>>a.Re>>a.Im; - return stream; -} - -/////////////////////// ==,!= - -inline int operator == (const Complex &a, double b) -{ - return (a.Re==b) && (TMath::Abs(a.Im)small_epsilon); -} - -inline int operator != (double b, const Complex &a) -{ - return (a.Re!=b) || (TMath::Abs(a.Im)>small_epsilon); -} - -inline int operator != (const Complex &a, const Complex &b) -{ - return (a.Re!=b.Re) || (a.Im!=b.Im); -} - -/////////////////////// >=,<= - -inline int operator >= (const Complex &a, double b) -{ - return abs(a) >= b; -} - -inline int operator >= (double b, const Complex &a) -{ - return b >= abs(a); -} - -inline int operator >= (const Complex &a, const Complex &b) -{ - return abs(a) >= abs(b); -} - -inline int operator <= (const Complex &a, double b) -{ - return abs(a) <= b; -} - -inline int operator <= (double b, const Complex &a) -{ - return b <= abs(a); -} - -inline int operator <= (const Complex &a, const Complex &b) -{ - return abs(a) <= abs(b); -} - -/////////////////////// >,< - -inline int operator > (const Complex &a, double b) -{ - return abs(a) > b; -} - -inline int operator > (double b, const Complex &a) -{ - return b > abs(a); -} - -inline int operator > (const Complex &a, const Complex &b) -{ - return abs(a) > abs(b); -} - -inline int operator < (const Complex &a, double b) -{ - return abs(a) < b; -} - -inline int operator < (double b, const Complex &a) -{ - return b < abs(a); -} - -inline int operator < (const Complex &a, const Complex &b) -{ - return abs(a) < abs(b); -} - -///////////////////////// Functions -double real (const Complex &a) -{ - return a.Re; -} -double imag (const Complex &a) -{ - return a.Im; -} -double abs (const Complex &a) -{ - if (a.Im == 0) return TMath::Abs(a.Re); - if (a.Re == 0) return TMath::Abs(a.Im); - double R = TMath::Abs(a.Re), I = TMath::Abs(a.Im); - return (R >= I) ? - (R * sqrt (1 + a.Im*a.Im/a.Re/a.Re)) : - (I * sqrt (1 + a.Re*a.Re/a.Im/a.Im)) ; -} - -double Arg (const Complex &a) -{ - return atan2(a.Im,a.Re); -} - -double phase (const Complex &a) -{ - return atan2(a.Im,a.Re); -} - -inline void Zero (Complex &a) { a.Re=a.Im=0; } - -Complex conj (const Complex &a) { return !a; } -Complex pow (Complex a, int n) { return a^n; } -Complex pow (Complex a, double n) { return a^n; } -Complex pow (Complex a, Complex b) { return a^b; } - -inline Complex sqr (const Complex &a) { return a*a; } - -Complex sqrt (const Complex &a, int flag) -{ - if ((a.Re>=0) && (TMath::Abs(a.Im)= I) ? - sqrt (R/2 * ( 1 + sqrt (1 + a.Im*a.Im/a.Re/a.Re))): - sqrt (I/2 * (R/I + sqrt (1 + a.Re*a.Re/a.Im/a.Im))); - Complex c; - if (a.Re >= 0) - { - c.Re = w; - c.Im = a.Im / (2*w); - } - else - { - c.Re = I / (2*w); - c.Im = (a.Im >= 0) ? w : -w; - } - return ((flag && (c.Re<0)) || (!flag && (c.Re>=0))) ? c : -c; -} - -Complex operator ^ (const Complex &a, int n) -{ - Complex c(1,0); - if (n==0) return c; - if (n>0) for (int i=0;in;j--) c*=a; - if (n>0) return c; - else return 1/c; -} - -Complex operator ^ (const Complex &a, double n) -{ - return exp(n*log(a)); -} - -Complex operator ^ (const Complex &a, const Complex &b) -{ - return exp(b*log(a)); -} - -Complex root (const Complex &z, int n, int k) -{ - double c=exp(log(abs(z))/n); - double t=(Arg(z)+2*PI*k)/n; - return Complex (c*cos(t), c*sin(t)); -} - -Complex exp (const Complex &a) -{ - double t=exp(a.Re); - return Complex (t*cos(a.Im), t*sin(a.Im)); -} - -Complex log (const Complex &a) -{ - if (a==0) - ComplexError("Error in function log(Complex): argument is 0"); - return Complex (log(abs(a)), Arg(a)); -} - -Complex sin (const Complex &a) -{ - return Complex (sin(a.Re)*cosh(a.Im), cos(a.Re)*sinh(a.Im)); -} - -Complex cos (const Complex &a) -{ - return Complex (cos(a.Re)*cosh(a.Im), -sin(a.Re)*sinh(a.Im)); -} - -Complex tan (const Complex &a) -{ - return sin(a)/cos(a); -} - -Complex cot (const Complex &a) -{ - return cos(a)/sin(a); -} - -Complex sec (const Complex &a) -{ - return 1/cos(a); -} - -Complex csc (const Complex &a) -{ - return 1/sin(a); -} - -Complex sinh (const Complex &a) -{ - return Complex (sinh(a.Re)*cos(a.Im), cosh(a.Re)*sin(a.Im)); -} - -Complex cosh (const Complex &a) -{ - return Complex (cosh(a.Re)*cos(a.Im), sinh(a.Re)*sin(a.Im)); -} - -Complex tanh (const Complex &a) -{ - return sinh(a)/cosh(a); -} - -Complex coth (const Complex &a) -{ - return cosh(a)/sinh(a); -} - -Complex sech (const Complex &a) -{ - return 1/cosh(a); -} - -Complex csch (const Complex &a) -{ - return 1/sinh(a); -} -//////////////////////// Inverce trigonometric functions - -Complex asin (const Complex &a, int flag) -{ - return -ImUnit * log(ImUnit*a + sqrt(1-sqr(a), flag)); -} - -Complex acos (const Complex &a, int flag) -{ - return -ImUnit * log(a + ImUnit*sqrt(1-sqr(a), flag)); -} - -Complex atan (const Complex &a) -{ - return ImUnit/2 * log((ImUnit+a)/(ImUnit-a)); -} - -Complex acot (const Complex &a) -{ - return ImUnit/2 * log((a-ImUnit)/(a+ImUnit)); -} - -Complex asec (const Complex &a, int flag) -{ - return acos(1/a, flag); -} - -Complex acsc (const Complex &a, int flag) -{ - return asin(1/a, flag); -} - -Complex asinh (const Complex &a, int flag) -{ - return log(a + sqrt(sqr(a)+1, flag)); -} - -Complex acosh (const Complex &a, int flag) -{ - return log(a + sqrt(sqr(a)-1, flag)); -} - -Complex atanh (const Complex &a) -{ - return log((1+a)/(1-a)) / 2; -} - -Complex acoth (const Complex &a) -{ - return log((a+1)/(a-1)) / 2; -} - -Complex asech (const Complex &a, int flag) -{ - return acosh(1/a, flag); -} - -Complex acsch (const Complex &a, int flag) -{ - return asinh(1/a, flag); -} - -Complex Polar (double a, double b) -{ - return Complex (a*cos(b), a*sin(b)); -} - -void Complex::SetPolar (double a, double b) -{ - Re=a*cos(b); - Im=a*sin(b); -} - -void Complex::SetAbs (double a) -{ - double b=Arg(*this); - Re=a*cos(b); - Im=a*sin(b); -} - -void Complex::SetArg (double b) -{ - double a=abs(*this); - Re=a*cos(b); - Im=a*sin(b); -} - -void Solve2 (Complex* z, const Complex &b, const Complex &c) - // finding z of equation: z^2 + b*z + c = 0 -{ - Complex t = sqrt(sqr(b)-4*c); - Complex q = ((!b * t).Re >= 0) ? (-(b + t) / 2) : (-(b - t) / 2); - z[0] = q; - z[1] = c/q; -} - -Complex Solve2 (const Complex &b, const Complex &c, int RootNumber) -{ - if ((RootNumber < 0) || (RootNumber > 1)) - ComplexError ("Error in Solve2: wrong root number"); - Complex z[2]; - Solve2 (z,b,c); - return z[RootNumber]; -} - -void Solve3 (Complex* z, const Complex &a2, const Complex &a1, const Complex &a0) - // finding z of equation: z^3 + a2*z^2 + a1*z + a0 = 0 -{ - Complex q, r, t, a, b, zero(0,0); - q = (sqr(a2) - 3*a1) / 9; - r = (2*(a2^3) - 9*a2*a1 + 27*a0) / 54; - t = sqrt((r^2) - (q^3)); - a = ((!r * t) >=0.0) ? -((r+t)^(1.0/3)) : -((r-t)^(1.0/3)); - b = ((a == zero) ? zero : (q/a)); - z[0] = -(a+b)/2 - a2/3 + ImUnit*sqrt(3.0)*(a-b)/2; - z[1] = -(a+b)/2 - a2/3 - ImUnit*sqrt(3.0)*(a-b)/2; - z[2] = a + b - a2/3; -} - -Complex Solve3 (const Complex &a2, const Complex &a1, const Complex &a0, int RootNumber) -{ - if ((RootNumber < 0) || (RootNumber > 2)) - ComplexError ("Error in Solve3: wrong root number"); - Complex z[3]; - Solve3 (z,a2,a1,a0); - return z[RootNumber]; -} - -void Solve4 (Complex* z, const Complex &a3, const Complex &a2, const Complex &a1, const Complex &a0) - // finding z of equation: z^4 + a3*z^3 + a2*z^2 + a1*z + a0 = 0 -{ - Complex u[3], t1, t2, t; - Solve3 (u, -a2, (a1*a3 - 4*a0), -((a1^2) + a0*(a3^2) - 4*a0*a2)); - t = *u; - t1 = sqrt((a3^2)/4 - a2 + t); - t2 = sqrt((t^2)/4 - a0); - Solve2 ( z, (a3/2 - t1), (t/2 + t2)); - Solve2 (&(z[2]), (a3/2 + t1), (t/2 - t2)); -} - -Complex Solve4 (const Complex &a3, const Complex &a2, const Complex &a1, const Complex &a0, int RootNumber) -{ - if ((RootNumber < 0) || (RootNumber > 3)) - ComplexError ("Error in Solve4: wrong root number"); - Complex z[4]; - Solve4 (z,a3,a2,a1,a0); - return z[RootNumber]; -} - - -#endif // __COMPLEX_CXX__ // diff --git a/HMPID/AliHMPID.h b/HMPID/AliHMPID.h index 52a12e16bbc..bd110c573d0 100644 --- a/HMPID/AliHMPID.h +++ b/HMPID/AliHMPID.h @@ -19,7 +19,6 @@ public: AliHMPID( ):AliDetector( ),fDoFeed(kTRUE),fSdi(0),fDig(0),fClu(0) {} //default ctor virtual ~AliHMPID(); //framework part - void BuildGeometry ( ) {} //from AliModule invoked from AliMC::InitGeometry() to build geometry for old event display virtual void CreateMaterials ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to define detector materials virtual void CreateGeometry ( )=0; //from AliModule invoked from AliMC::ConstructGeometry() to build detector for simulation diff --git a/ITS/AliITS.h b/ITS/AliITS.h index e8ab7397873..eb39b9c8ae5 100644 --- a/ITS/AliITS.h +++ b/ITS/AliITS.h @@ -40,7 +40,6 @@ class AliITS : public AliDetector { AliITS(const char *name, const char *title); // extended standard Creator virtual ~AliITS(); // destructor virtual Int_t IsVersion() const {return 1;} - virtual Int_t DistancetoPrimitive(Int_t , Int_t ) {return 999;} //===================== Simulation Geometry ======================== // get geometry version - detailed (major) or coarse (minor) diff --git a/ITS/AliITSv11.cxx b/ITS/AliITSv11.cxx index 03307f9ba49..cb4a1a6bf0b 100644 --- a/ITS/AliITSv11.cxx +++ b/ITS/AliITSv11.cxx @@ -23,53 +23,38 @@ // B. Nilsen, L. Gaudichet //************************************************************************ - #include +#include +#include +#include #include +#include #include "AliITS.h" +#include "AliITSCalibrationSDD.h" #include "AliITSDetTypeSim.h" -#include - #include "AliITSgeom.h" #include "AliITShit.h" - -#include "AliITSCalibrationSDD.h" - #include "AliITSsegmentationSDD.h" #include "AliITSsegmentationSPD.h" #include "AliITSsegmentationSSD.h" -#include "AliMagF.h" -#include "AliRun.h" -#include "AliTrackReference.h" -#include "AliMC.h" - -#include -#include -#include #include "AliITSv11.h" -#include "AliITSv11GeometrySPD.h" #include "AliITSv11GeometrySDD.h" +#include "AliITSv11GeometrySPD.h" #include "AliITSv11GeometrySSD.h" #include "AliITSv11GeometrySupport.h" - - +#include "AliMC.h" +#include "AliMagF.h" +#include "AliRun.h" +#include "AliTrackReference.h" ClassImp(AliITSv11) - - //______________________________________________________________________ AliITSv11::AliITSv11() : -AliITS(), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fByThick(kTRUE), fMajorVersion(IsVersion()), fMinorVersion(0), -fEuclidGeomDet(), -fRead(), -fWrite(), fSPDgeom(), fSDDgeom(0), fSSDgeom(), @@ -81,25 +66,15 @@ fIgm(kv11) fIdN = 0; fIdName = 0; fIdSens = 0; - Int_t i; - for(i=0;i<60;i++) fRead[i] = '\0'; - for(i=0;i<60;i++) fWrite[i] = '\0'; - for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0'; - strncpy(fRead,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det",60); } //______________________________________________________________________ AliITSv11::AliITSv11(const char *name, const char *title): AliITS("ITS", title), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fByThick(kTRUE), fMajorVersion(IsVersion()), fMinorVersion(0), -fEuclidGeomDet(), -fRead(), -fWrite(), fSPDgeom(), fSDDgeom(0), fSSDgeom(), @@ -124,25 +99,14 @@ fIgm(kv11) for(i=0;iGetSenstiveVolumeName6(); fIdSens = new Int_t[fIdN]; for(i=0;iWriteNewFile(fWrite); // /* - if(fRead[0]=='\0') strncpy(fRead,fEuclidGeomDet,60); - if(fWrite[0]=='\0') strncpy(fWrite,fEuclidGeomDet,60); if(GetITSgeom()!=0) SetITSgeom(0x0); AliITSgeom* geom = new AliITSgeom(); SetITSgeom(geom); - if(fGeomDetIn) GetITSgeom()->ReadNewFile(fRead); - else this->InitAliITSgeom(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); AliITS::Init(); */ // } diff --git a/ITS/AliITSv11.h b/ITS/AliITSv11.h index f2246f03052..2a555429b09 100644 --- a/ITS/AliITSv11.h +++ b/ITS/AliITSv11.h @@ -25,7 +25,6 @@ class AliITSv11 : public AliITS { AliITSv11(Int_t debugITS, Int_t debugSPD = 0, Int_t debugSDD = 0, Int_t debugSSD = 0, Int_t debugSUP = 0); virtual ~AliITSv11() ; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); @@ -40,18 +39,6 @@ class AliITSv11 : public AliITS { return fMajorVersion;} virtual Int_t GetMinorVersion() const {// return Major Version Number return fMinorVersion;} - - - virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} virtual void SetMinorVersion(Int_t v=0){ // Choose between existing minor versions fMinorVersion = v;} @@ -61,33 +48,16 @@ class AliITSv11 : public AliITS { virtual void SetDensityServicesByMass(){// uses services density // calculation based on the Mass of the services. fByThick = kFALSE;} - virtual Bool_t GetEUCLID() const {return fEuclidOut;}// returns value Euclid flag. - virtual const char *GetEULIIDFileName() const{ // return .euc file name - return fEuclidGeometry.Data();} - virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag. - return fGeomDetOut;} - virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag. - return fGeomDetIn;} - virtual char *GetReadDetFileName(){ // return .det read file name - if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;} - virtual char *GetWriteDetFileName(){ // return .det write file name - if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;} - private: AliITSv11(const AliITSv11 &source); // copy constructor AliITSv11& operator=(const AliITSv11 &source); // assignment operator //void InitAliITSgeom(); - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Bool_t fByThick; // Flag to use services materials by thickness // ture, or mass false. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file AliITSv11GeometrySPD *fSPDgeom; //SPD Geometry AliITSv11GeometrySDD *fSDDgeom; //! SDD Geometry AliITSv11GeometrySSD *fSSDgeom; //SSD Geometry diff --git a/ITS/AliITSv11Hybrid.cxx b/ITS/AliITSv11Hybrid.cxx index d4a32ba56fe..8cd7c4eb78e 100644 --- a/ITS/AliITSv11Hybrid.cxx +++ b/ITS/AliITSv11Hybrid.cxx @@ -72,16 +72,13 @@ #include -#include -#include +#include #include #include -#include -#include -#include -#include #include #include +#include +#include #include #include "AliITS.h" @@ -110,9 +107,6 @@ ClassImp(AliITSv11Hybrid) //______________________________________________________________________ AliITSv11Hybrid::AliITSv11Hybrid(): - AliITS(), - fGeomDetOut(kFALSE), - fGeomDetIn(kFALSE), fByThick(kTRUE), fMajorVersion(IsVersion()), fMinorVersion(-1), @@ -141,8 +135,6 @@ AliITSv11Hybrid::AliITSv11Hybrid(): //______________________________________________________________________ AliITSv11Hybrid::AliITSv11Hybrid(const char *title) : AliITS("ITS", title), - fGeomDetOut(kFALSE), - fGeomDetIn(kFALSE), fByThick(kTRUE), fMajorVersion(IsVersion()), fMinorVersion(1), @@ -208,18 +200,11 @@ AliITSv11Hybrid::AliITSv11Hybrid(const char *title) SetThicknessChip2(); SetDensityServicesByThickness(); - fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.euc"; - strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det",60); - strncpy(fRead,fEuclidGeomDet,60); - strncpy(fWrite,fEuclidGeomDet,60); - strncpy(fRead,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det",60); } //______________________________________________________________________ AliITSv11Hybrid::AliITSv11Hybrid(const char *name, const char *title) : AliITS("ITS", title), - fGeomDetOut(kFALSE), - fGeomDetIn(kFALSE), fByThick(kTRUE), fMajorVersion(IsVersion()), fMinorVersion(1), @@ -288,11 +273,6 @@ AliITSv11Hybrid::AliITSv11Hybrid(const char *name, const char *title) SetThicknessChip2(); SetDensityServicesByThickness(); - fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.euc"; - strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det",60); - strncpy(fRead,fEuclidGeomDet,60); - strncpy(fWrite,fEuclidGeomDet,60); - strncpy(fRead,"$ALICE_ROOT/ITS/ITSgeometry_vPPRasymmFMD.det",60); } //______________________________________________________________________ @@ -993,63 +973,6 @@ void AliITSv11Hybrid::AddAlignableVolumes() const{ } // end SSD geometry } -//______________________________________________________________________ -void AliITSv11Hybrid::BuildGeometry(){ - // Geometry builder for the ITS version 10. Event Display geometry. - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - - TNode *node, *top; - - const Int_t kColorITS=kYellow; - // - top = gAlice->GetGeometry()->GetNode("alice"); - - - new TTUBE("S_layer1","Layer1 of ITS","void", - 3.8095,3.8095+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer1","Layer1","S_layer1",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer2","Layer2","S_layer2",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.94*9.36/100.,25.1); - top->cd(); - node = new TNode("Layer3","Layer3","S_layer3",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer4","Layer4 of ITS","void",24.1,24.1+0.95*9.36/100.,32.1); - top->cd(); - node = new TNode("Layer4","Layer4","S_layer4",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer5","Layer5 of ITS","void", - 38.5,38.5+0.91*9.36/100.,49.405); - top->cd(); - node = new TNode("Layer5","Layer5","S_layer5",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer6","Layer6 of ITS","void", - 43.5765,43.5765+0.87*9.36/100.,55.27); - top->cd(); - node = new TNode("Layer6","Layer6","S_layer6",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); -} - //______________________________________________________________________ void AliITSv11Hybrid::CreateGeometry() { @@ -4937,14 +4860,6 @@ void AliITSv11Hybrid::CreateOldGeometry(){ } - - // --- Outputs the geometry tree in the EUCLID/CAD format - - if (fEuclidOut) { - gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5); - } - - { if (!gGeoManager) { AliError("TGeoManager doesn't exist !"); @@ -5820,7 +5735,6 @@ void AliITSv11Hybrid::Init(){ fMinorVersion)); UpdateInternalGeometry(); AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID. } diff --git a/ITS/AliITSv11Hybrid.h b/ITS/AliITSv11Hybrid.h index 89d996127c8..d529d42adfa 100644 --- a/ITS/AliITSv11Hybrid.h +++ b/ITS/AliITSv11Hybrid.h @@ -52,7 +52,6 @@ class AliITSv11Hybrid : public AliITS { AliITSv11Hybrid(const char *title); AliITSv11Hybrid(const char *name, const char *title); virtual ~AliITSv11Hybrid() ; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual Int_t IsVersion() const {// returns the ITS version number @@ -62,16 +61,6 @@ class AliITSv11Hybrid : public AliITS { virtual void DrawModule() const; virtual void StepManager(); virtual void AddAlignableVolumes() const; - virtual void SetWriteDet(Bool_t det=kFALSE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kFALSE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f; SetEUCLID();} virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions fMinorVersion = v;} virtual void SetThicknessDet1(Float_t v=200.){ @@ -98,16 +87,6 @@ class AliITSv11Hybrid : public AliITS { virtual void SetDensityServicesByMass(){// uses services density // calculation based on the Mass of the services. fByThick = kFALSE;} - virtual const char *GetEULIIDFileName() const{ // return .euc file name - return fEuclidGeometry.Data();} - virtual Bool_t GetWriteDet() const { // returns value GeomDetOut flag. - return fGeomDetOut;} - virtual Bool_t GetReadDet() const { // returns value GeomDetIn flag. - return fGeomDetIn;} - virtual char *GetReadDetFileName(){ // return .det read file name - if(fRead[0]!='\0') return fRead; else return fEuclidGeomDet;} - virtual char *GetWriteDetFileName(){ // return .det write file name - if(fWrite[0]!='\0') return fWrite; else return fEuclidGeomDet;} virtual Int_t GetMajorVersion() const {// return Major Version Number return fMajorVersion;} virtual Int_t GetMinorVersion() const {// return Major Version Number @@ -155,15 +134,10 @@ class AliITSv11Hybrid : public AliITS { AliITSv11Hybrid& operator=(const AliITSv11Hybrid &source); // assignment operator void InitAliITSgeom() const; - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Bool_t fByThick; // Flag to use services materials by thickness // ture, or mass false. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file Float_t fDet1; // thickness of detector in SPD layer 1 Float_t fDet2; // thickness of detector in SPD layer 2 Float_t fChip1; // thickness of chip in SPD layer 1 diff --git a/ITS/AliITSvPPRasymmFMD.cxx b/ITS/AliITSvPPRasymmFMD.cxx index aaf72a7de7a..7de81b999c2 100644 --- a/ITS/AliITSvPPRasymmFMD.cxx +++ b/ITS/AliITSvPPRasymmFMD.cxx @@ -30,15 +30,12 @@ // See AliITSvPPRasymmFMD::StepManager(). #include -#include #include #include #include #include #include #include -#include -#include #include #include #include @@ -73,15 +70,10 @@ ClassImp(AliITSvPPRasymmFMD) //______________________________________________________________________ AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(): AliITS(), // Default AliITS Constructor -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. fByThick(kTRUE), // Flag to use services materials by thickness // ture, or mass false. fMajorVersion(IsVersion()), // Major version number == IsVersion fMinorVersion(2), // Minor version number -fEuclidGeomDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),// file where detector transormation are define. -fRead("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm.det"),//! file name to read .det file -fWrite("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),//! file name to write .det file fDet1(200.0), // thickness of detector in SPD layer 1 [microns] fDet2(200.0), // thickness of detector in SPD layer 2 [microns] fChip1(150.0), // thickness of chip in SPD layer 1 [microns] @@ -105,15 +97,10 @@ fIgm((AliITSVersion_t)fMajorVersion,fMinorVersion)//! Get access to decoding //______________________________________________________________________ AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const Char_t *title): AliITS(title), // Standard AliITS Constructor -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. fByThick(kTRUE), // Flag to use services materials by thickness // ture, or mass false. fMajorVersion(IsVersion()), // Major version number == IsVersion fMinorVersion(2), // Minor version number -fEuclidGeomDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),// file where detector transormation are define. -fRead("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm.det"),//! file name to read .det file -fWrite("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),//! file name to write .det file fDet1(200.0), // thickness of detector in SPD layer 1 [microns] fDet2(200.0), // thickness of detector in SPD layer 2 [microns] fChip1(150.0), // thickness of chip in SPD layer 1 [microns] @@ -155,15 +142,10 @@ fIgm((AliITSVersion_t)fMajorVersion,fMinorVersion)//! Get access to decoding //______________________________________________________________________ AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const char *name, const char *title): AliITS(name,title), // Extended AliITS Constructor -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. fByThick(kTRUE), // Flag to use services materials by thickness // ture, or mass false. fMajorVersion(IsVersion()), // Major version number == IsVersion fMinorVersion(2), // Minor version number -fEuclidGeomDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),// file where detector transormation are define. -fRead("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm.det"),//! file name to read .det file -fWrite("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"),//! file name to write .det file fDet1(200.0), // thickness of detector in SPD layer 1 [microns] fDet2(200.0), // thickness of detector in SPD layer 2 [microns] fChip1(150.0), // thickness of chip in SPD layer 1 [microns] @@ -213,18 +195,13 @@ fIgm((AliITSVersion_t)fMajorVersion,fMinorVersion)//! Get access to decoding //______________________________________________________________________ AliITSvPPRasymmFMD::AliITSvPPRasymmFMD(const AliITSvPPRasymmFMD &source): AliITS(source.GetName(),source.GetTitle()),// Extended AliITS Constructor -fGeomDetOut(source.GetWriteDet()),// Flag to write .det file out -fGeomDetIn(source.GetReadDet()), // Flag to read .det file or directly // from Geat. fByThick(source.IsDensityServicesByThickness()),// Flag to use services // materials by thickness // ture, or mass false. fMajorVersion(source.IsVersion()), // Major version number == IsVersion fMinorVersion(source.GetMinorVersion()),// Minor version number -fEuclidGeomDet(source.GetEuclidFile()),// file where detector transormation // are define. -fRead(source.GetReadDetFileName()), //! file name to read .det file -fWrite(source.GetWriteDetFileName()),//! file name to write .det file fDet1(source.GetThicknessDet1()),//thickness of detector in SPD layer 1[micron] fDet2(source.GetThicknessDet2()),//thickness of detector in SPD layer 2[micron] fChip1(source.GetThicknessChip1()),//thickness of chip in SPD layer 1 [microns] @@ -732,63 +709,6 @@ void AliITSvPPRasymmFMD::AddAlignableVolumes() const } } -//______________________________________________________________________ -void AliITSvPPRasymmFMD::BuildGeometry(){ - // Geometry builder for the ITS version 10. Event Display geometry. - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - - TNode *node, *top; - - const Int_t kColorITS=kYellow; - // - top = gAlice->GetGeometry()->GetNode("alice"); - - - new TTUBE("S_layer1","Layer1 of ITS","void", - 3.8095,3.8095+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer1","Layer1","S_layer1",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer2","Layer2","S_layer2",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.94*9.36/100.,25.1); - top->cd(); - node = new TNode("Layer3","Layer3","S_layer3",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer4","Layer4 of ITS","void",24.1,24.1+0.95*9.36/100.,32.1); - top->cd(); - node = new TNode("Layer4","Layer4","S_layer4",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer5","Layer5 of ITS","void", - 38.5,38.5+0.91*9.36/100.,49.405); - top->cd(); - node = new TNode("Layer5","Layer5","S_layer5",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer6","Layer6 of ITS","void", - 43.5765,43.5765+0.87*9.36/100.,55.27); - top->cd(); - node = new TNode("Layer6","Layer6","S_layer6",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); -} - //______________________________________________________________________ void AliITSvPPRasymmFMD::CreateGeometry(){ // This routine defines and Creates the geometry for version 10 of @@ -5130,11 +5050,6 @@ void AliITSvPPRasymmFMD::CreateGeometry(){ // --- Outputs the geometry tree in the EUCLID/CAD format - if (fEuclidOut) { - gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5); - } - - { if (!gGeoManager) { AliError("TGeoManager doesn't exist !"); @@ -6000,16 +5915,12 @@ void AliITSvPPRasymmFMD::Init(){ fMinorVersion)); // /* obsolete initialization of AliITSgeom from external "det" file - if(fRead[0]=='\0') strncpy(fRead,fEuclidGeomDet,60); - if(fWrite[0]=='\0') strncpy(fWrite,fEuclidGeomDet,60); AliITSgeom* geom = new AliITSgeom(); SetITSgeom(geom); - if(fGeomDetIn) GetITSgeom()->ReadNewFile(fRead); else this->InitAliITSgeom(); */ UpdateInternalGeometry(); AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); // fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID. @@ -6417,11 +6328,8 @@ void AliITSvPPRasymmFMD::PrintAscii(ostream *os)const{ #endif #endif - *os << fGeomDetOut << " " << fGeomDetIn << " " << fByThick << " "; + *os << fByThick << " "; *os << fMajorVersion << " " << fMinorVersion << " "; - *os << "\"" << fEuclidGeomDet.Data() << "\"" << " "; - *os << "\"" << fRead.Data() << "\"" << " "; - *os << "\"" << fWrite.Data() << "\"" << " "; fmt = os->setf(ios::scientific); // set scientific floating point output *os << fDet1 << " " << fDet2 << " " << fChip1 << " " << fChip2 << " "; *os << fRails << " " << fFluid << " " << fIDMother; @@ -6438,16 +6346,9 @@ void AliITSvPPRasymmFMD::ReadAscii(istream *is){ // none. // Return: // none. - Char_t name[120]; - *is >> fGeomDetOut >> fGeomDetIn >> fByThick; + *is >> fByThick; *is >> fMajorVersion >> fMinorVersion; - *is >> name; - fEuclidGeomDet = name; - *is >> name; - fRead = name; - *is >> name; - fWrite = name; *is >> fDet1 >> fDet2 >> fChip1 >> fChip2; *is >> fRails >> fFluid >> fIDMother; fIgm.SetVersion((AliITSVersion_t)fMajorVersion,fMinorVersion); diff --git a/ITS/AliITSvPPRasymmFMD.h b/ITS/AliITSvPPRasymmFMD.h index 3c4d4ac59b4..2b8e66c2afb 100644 --- a/ITS/AliITSvPPRasymmFMD.h +++ b/ITS/AliITSvPPRasymmFMD.h @@ -20,7 +20,6 @@ class AliITSvPPRasymmFMD : public AliITS { // Extended Standard constructor AliITSvPPRasymmFMD(const char *name, const char *title); virtual ~AliITSvPPRasymmFMD() ; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual Int_t IsVersion() const {// returns the ITS version number @@ -30,17 +29,6 @@ class AliITSvPPRasymmFMD : public AliITS { virtual void DrawModule() const; virtual void StepManager(); virtual void AddAlignableVolumes() const; - //set .det write - virtual void SetWriteDet(Bool_t det=kFALSE){fGeomDetOut=det;} - // set write file - virtual void SetWriteDet(const Char_t *f){fWrite=f;fGeomDetOut=kTRUE;} - //set .det read - virtual void SetReadDet(Bool_t det=kFALSE){fGeomDetIn = det;} - // set read file - virtual void SetReadDet(const Char_t *f){fRead=f;fGeomDetIn=kTRUE;} - // set write file - virtual void SetEUCLIDFileName(const Char_t *f){fEuclidGeometry=f; - SetEUCLID();} virtual void SetMinorVersion(Int_t v=2){ // Choose between existing minor versions fMinorVersion = v;} virtual void SetThicknessDet1(Float_t v=200.){ @@ -67,18 +55,6 @@ class AliITSvPPRasymmFMD : public AliITS { virtual void SetDensityServicesByMass(){// uses services density // calculation based on the Mass of the services. fByThick = kFALSE;} - virtual const Char_t *GetEULIIDFileName() const{ // return .euc file name - return fEuclidGeometry.Data();} - // returns value GeomDetOut flag. - virtual Bool_t GetWriteDet() const {return fGeomDetOut;} - // returns value GeomDetIn flag. - virtual Bool_t GetReadDet() const{return fGeomDetIn;} - virtual const Char_t *GetReadDetFileName()const{//return .det read file name - if(fRead.IsNull()) return fRead.Data(); - else return GetEULIIDFileName();} - virtual const Char_t *GetWriteDetFileName()const{//return .det write file name - if(fWrite.IsNull()) return fWrite.Data(); - else return GetEULIIDFileName();} virtual Int_t GetMajorVersion() const {// return Major Version Number return fMajorVersion;} virtual Int_t GetMinorVersion() const {// return Major Version Number @@ -114,23 +90,15 @@ class AliITSvPPRasymmFMD : public AliITS { AliITSvPPRasymmFMD& operator=(const AliITSvPPRasymmFMD &source); void InitAliITSgeom(); Bool_t IsDensityServicesByThickness()const {return fByThick;} - // returns Euclid file name with where Euclid geometry is kept. - const TString & GetEuclidFile()const{return fEuclidGeomDet;} // Return Mother volume ID Int_t GetMotherID()const {return fIDMother;} // Return AliITSInitGeometry object const AliITSInitGeometry & GetGeomInit()const{return fIgm;} - // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule. - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Bool_t fByThick; // Flag to use services materials by thickness // ture, or mass false. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number - TString fEuclidGeomDet; // file where detector transormation are define. - TString fRead; //! file name to read .det file - TString fWrite; //! file name to write .det file Float_t fDet1; // thickness of detector in SPD layer 1 Float_t fDet2; // thickness of detector in SPD layer 2 Float_t fChip1; // thickness of chip in SPD layer 1 @@ -140,7 +108,7 @@ class AliITSvPPRasymmFMD : public AliITS { Int_t fIDMother; //! ITS Mother Volume id. AliITSInitGeometry fIgm;//! Get access to decoding and AliITSgeom init functins - ClassDef(AliITSvPPRasymmFMD,4) //Hits manager for set:ITS version 10 + ClassDef(AliITSvPPRasymmFMD,5) //Hits manager for set:ITS version 10 // PPR detailed Geometry asymmetric }; // Input and output function for standard C++ input/output. diff --git a/ITS/AliITSvPPRcoarseasymm.cxx b/ITS/AliITSvPPRcoarseasymm.cxx index 8befa6e4c7e..e94f424dad7 100644 --- a/ITS/AliITSvPPRcoarseasymm.cxx +++ b/ITS/AliITSvPPRcoarseasymm.cxx @@ -96,52 +96,6 @@ AliITSvPPRcoarseasymm::~AliITSvPPRcoarseasymm() { //////////////////////////////////////////////////////////////////////// } -//__________________________________________________________________________ -void AliITSvPPRcoarseasymm::BuildGeometry(){ -//////////////////////////////////////////////////////////////////////// -// Geometry builder for the ITS version 6. -//////////////////////////////////////////////////////////////////////// - TNode *node, *top; - const Int_t kColorITS=kYellow; - // - top = gAlice->GetGeometry()->GetNode("alice"); - - new TTUBE("S_layer1","Layer1 of ITS","void",3.8095,3.8095+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer1","Layer1","S_layer1",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer2","Layer2 of ITS","void",7.,7.+1.03*9.36/100.,14.35); - top->cd(); - node = new TNode("Layer2","Layer2","S_layer2",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer3","Layer3 of ITS","void",15.,15.+0.94*9.36/100.,25.1); - top->cd(); - node = new TNode("Layer3","Layer3","S_layer3",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer4","Layer4 of ITS","void",24.1,24.1+0.95*9.36/100.,32.1); - top->cd(); - node = new TNode("Layer4","Layer4","S_layer4",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer5","Layer5 of ITS","void",38.5,38.5+0.91*9.36/100.,49.405); - top->cd(); - node = new TNode("Layer5","Layer5","S_layer5",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); - - new TTUBE("S_layer6","Layer6 of ITS","void",43.5765,43.5765+0.87*9.36/100.,55.27); - top->cd(); - node = new TNode("Layer6","Layer6","S_layer6",0,0,0,""); - node->SetLineColor(kColorITS); - fNodes->Add(node); -} //_____________________________________________________________________________ void AliITSvPPRcoarseasymm::CreateGeometry(){ //////////////////////////////////////////////////////////////////////// diff --git a/ITS/AliITSvPPRcoarseasymm.h b/ITS/AliITSvPPRcoarseasymm.h index f6b17eec0c7..59d0f787934 100644 --- a/ITS/AliITSvPPRcoarseasymm.h +++ b/ITS/AliITSvPPRcoarseasymm.h @@ -17,7 +17,6 @@ class AliITSvPPRcoarseasymm : public AliITS { AliITSvPPRcoarseasymm(); AliITSvPPRcoarseasymm(const char *name, const char *title); virtual ~AliITSvPPRcoarseasymm() ; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/ITS/AliITSvSDD03.cxx b/ITS/AliITSvSDD03.cxx index 42de93cc2de..fe49cbcfe5b 100644 --- a/ITS/AliITSvSDD03.cxx +++ b/ITS/AliITSvSDD03.cxx @@ -22,10 +22,7 @@ // // ///////////////////////////////////////////////////////////////// -#include #include -#include -#include #include #include #include @@ -56,13 +53,8 @@ ClassImp(AliITSvSDD03) //______________________________________________________________________ AliITSvSDD03::AliITSvSDD03() : AliITS(), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fMajorVersion(IsVersion()), fMinorVersion(2), -fEuclidGeomDet(), -fRead(), -fWrite(), fIDMother(0), fYear(2003), fTarg(kNoTarg), @@ -77,26 +69,16 @@ fIgm(kvSDD03){ // Return: // A default created class. //////////////////////////////////////////////////////////////////////// - Int_t i; fIdN = 0; fIdName = 0; fIdSens = 0; - fEuclidOut = kFALSE; // Don't write Euclide file - for(i=0;i<60;i++) fRead[i] = '\0'; - for(i=0;i<60;i++) fWrite[i] = '\0'; - for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0'; } //______________________________________________________________________ AliITSvSDD03::AliITSvSDD03(const char *title,Int_t year): AliITS("ITS", title), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fMajorVersion(IsVersion()), fMinorVersion(2), -fEuclidGeomDet(), -fRead(), -fWrite(), fIDMother(0), fYear(year), fTarg(kNoTarg), @@ -120,12 +102,7 @@ fIgm(kvSDD03){ fIdName[2] = "ISNT"; fIdSens = new Int_t[fIdN]; for(i=0;iGetGeometry()->GetNode("alice"); - nALIC->cd(); - - // Define ITS Mother Volume - Float_t data[3]; - Float_t ddettest=200.0E-4,ddettelescope=300.0E-4; - //Float_t yposition= 0.0; - TRotMatrix *r0 = new TRotMatrix("ITSidrotm0","ITSidrotm0", - 90.0,0,0.0,0,90.0,270.0); - data[0] = 10.0; - data[1] = 10.0; - data[2] = 100.0; - TBRIK *sITSVshape =new TBRIK("ITSVshape","ITS Logical Mother Volume","Air", - data[0],data[1],data[2]); - TNode *sITSV = new TNode("ITSV","ITS Mother Volume",sITSVshape, - 0.0,0.0,0.0,0,0); - sITSV->cd(); // set ourselve into ITSV subvolume of ALIC - - // SSD part of telescope (MiniBuS) - data[0] = 1.06; - data[1] = 0.5*ddettelescope; - data[2] = 1.1; - TBRIK *sIMB0shape = new TBRIK("IMB0shape","SDD wafer","Si", - data[0],data[1],data[2]); - Float_t detMiniBusX,detMiniBusY,detMiniBusZ; - data[0] = detMiniBusX = 0.5*384*50.0E-4; - data[1] = detMiniBusY = 0.5*ddettelescope; - data[2] = detMiniBusZ = 1.0; - TBRIK *sIMBSshape = new TBRIK("IMBSshape","SDD Sensitive volume","Si", - data[0],data[1],data[2]); - - data[0] = 1.36; - data[1] = 0.47; - data[2] = 1.36; - TBRIK *sITELshape = new TBRIK("ITELshape","ITELshape","Air", - data[0],data[1],data[2]); - - - // SDD under test - Float_t spdX,spdY,spdZ; - data[0] = 3.62500; - data[1] = 0.5*ddettest; - data[2] = 4.37940; - TBRIK *sITS0shape = new TBRIK("ITS0shape","SDD wafer","Si", - data[0],data[1],data[2]); // contains detector - data[0] = spdX = 3.50860; - data[1] = spdY = 0.5*ddettest; - data[2] = spdZ = 3.76320; - TBRIK *sITSTshape = new TBRIK("ITSTshape","SDD sensitive volume","Si", - data[0],data[1],data[2]); - - data[0] = 4.2; - data[1] = 0.52; - data[2] = 5.2; - TBRIK *sIDETshape = new TBRIK("IDETshape","Detector Under Test","Air", - data[0],data[1],data[2]); - - - // Place volumes in geometry - char name[20],title[50]; - - //place SDD under test - Double_t px=0.0,py=0.0; - Double_t pz[2]={0.0,5.2}; - TNode *nIDET[2],*nITS0[2],*nITST[2]; - for(Int_t i=0;i<2;i++){ - sITSV->cd(); - sprintf(name,"IDET%d",i); - sprintf(title,"SDD #%d under test",i+1); - nIDET[i] = new TNode(name,title,sIDETshape,px,py,pz[i],r0,0); - nIDET[i]->cd(); - nITS0[i] = new TNode("ITS0","SDD wafer",sITS0shape,0.0,0.0,0.0,0,0); - nITS0[i]->cd(); - nITST[i] = new TNode("ITST","SDD sensitive volume",sITSTshape, - 0.0,0.0,0.0,0,0); - nITST[i]->SetLineColor(kYellow); - fNodes->Add(nITST[i]); - } // end for i - - //place SSD telescope planes - Double_t qx=0.0,qy=0.0; - Double_t qz[10]={-58.4,-57.4,-50.4,-49.4,60.1,61.1,68.4,69.4,87.7,88.7}; - TNode *nITEL[10],*nIMB0[10],*nIMBS[10]; - for(Int_t i=0;i<10;i++){ - sITSV->cd(); - sprintf(name,"ITEL%d",i); - sprintf(title,"Test beam telescope element #%d",i+1); - nITEL[i] = new TNode(name,title,sITELshape,qx,qy,qz[i],r0,0); - nITEL[i]->cd(); - nIMB0[i] = new TNode("IMB0","Chip MiniBus",sIMB0shape, - 0.0, 0.0,0.0,0,0); - nIMB0[i]->cd(); - nIMBS[i] = new TNode("IMBS","IMBS",sIMBSshape,0.0,0.0,0.0,0,0); - nIMBS[i]->SetLineColor(kGreen); - fNodes->Add(nIMBS[i]); - } // end for i - nALIC->cd(); - sITSV->Draw(); -} /* //______________________________________________________________________ Int_t AliITSvSDD03::DecodeDetector(Int_t id,Int_t cpy,Int_t &lay, @@ -771,8 +627,6 @@ void AliITSvSDD03::Init(){ // UpdateInternalGeometry(); AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); - // fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID. diff --git a/ITS/AliITSvSDD03.h b/ITS/AliITSvSDD03.h index 5b2a9c74abf..ddbe0fec55f 100644 --- a/ITS/AliITSvSDD03.h +++ b/ITS/AliITSvSDD03.h @@ -24,7 +24,6 @@ class AliITSvSDD03 : public AliITS{ AliITSvSDD03(); // default constructor AliITSvSDD03(const char *title,Int_t year); // standard constructor virtual ~AliITSvSDD03(); // destructor - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual Int_t IsVersion() const {// returns the ITS version number @@ -37,16 +36,6 @@ class AliITSvSDD03 : public AliITS{ fTarg=tt;} virtual void SetTargThick(Float_t th=1){ // set target thickness fTargThick=th;} - virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions fMinorVersion = v;} // Replacement default simulation initilization. @@ -60,19 +49,14 @@ class AliITSvSDD03 : public AliITS{ private: AliITSvSDD03(const AliITSvSDD03 &source); // Copy constructor AliITSvSDD03& operator=(const AliITSvSDD03 &source); // = operator - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file Int_t fIDMother; //! ITS Mother Volume id. Int_t fYear; // Year flag to select different geometries. TargTyp_t fTarg; // Target material Float_t fTargThick; // TargetThickness in mm AliITSInitGeometry fIgm; //! Get Access to decoding an dAliITSgeom init functions - ClassDef(AliITSvSDD03,3) // Hits manager and geometry for SDD testbeam + ClassDef(AliITSvSDD03,4) // Hits manager and geometry for SDD testbeam }; #endif diff --git a/ITS/AliITSvSPD02.cxx b/ITS/AliITSvSPD02.cxx index ba4fbd318c8..2a197a88435 100644 --- a/ITS/AliITSvSPD02.cxx +++ b/ITS/AliITSvSPD02.cxx @@ -53,14 +53,9 @@ ClassImp(AliITSvSPD02) //______________________________________________________________________ AliITSvSPD02::AliITSvSPD02(): AliITS(), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fMajorVersion((Int_t)kvSPD02), fMinorVersion(2), fGeomNumber(2002), -fEuclidGeomDet(), -fRead(), -fWrite(), fDet1(300.0), fDet2(300.0), fChip1(300.0), @@ -76,22 +71,12 @@ fIgm(kvSPD02){ // Return: // A default created class. //////////////////////////////////////////////////////////////////////// - Int_t i; - - for(i=0;i<60;i++) fRead[i] = '\0'; - for(i=0;i<60;i++) fWrite[i] = '\0'; - for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0'; } //______________________________________________________________________ AliITSvSPD02::AliITSvSPD02(const char *title,Int_t gn) : AliITS("ITS", title), -fGeomDetOut(kFALSE), -fGeomDetIn(kFALSE), fMajorVersion(1), fMinorVersion(2), fGeomNumber(2002), -fEuclidGeomDet(), -fRead(), -fWrite(), fDet1(300.0), fDet2(300.0), fChip1(300.0), @@ -122,10 +107,6 @@ fIgm(kvSPD02){ SetThicknessChip1(); SetThicknessChip2(); - fEuclidGeometry="$ALICE_ROOT/ITS/ITSgeometry_vSPD022.euc"; - strncpy(fEuclidGeomDet,"$ALICE_ROOT/ITS/ITSgeometry_vSPD022.det",60); - strncpy(fRead,fEuclidGeomDet,60); - strncpy(fWrite,fEuclidGeomDet,60); } //______________________________________________________________________ AliITSvSPD02::~AliITSvSPD02() { @@ -140,174 +121,6 @@ AliITSvSPD02::~AliITSvSPD02() { //////////////////////////////////////////////////////////////////////// } //______________________________________________________________________ -void AliITSvSPD02::BuildGeometry(){ - //////////////////////////////////////////////////////////////////////// - // Geometry builder for the ITS SPD test beam 2002 version 1. - // ALIC ALICE Mother Volume - // |- ITSV ITS Mother Volume - // |- IDET Detector under Test - // | |- ITS0 SPD Si Chip - // | | |- ITST SPD Sensitivve Volume - // | |- IPC0 *5 Readout chip - // |- ITEL *4 SPD Telescope - // |- IMB0 SPD Si Chip - // | |- IMBS SPD Sensitive volume - // |- ICMB Chip MiniBus. - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - //////////////////////////////////////////////////////////////////////// - // Get the top alice volume. - - switch (fGeomNumber){ - case 2002: - BuildGeometry2002(); - break; - default: - BuildGeometry2002(); - break; - } // end switch -} -//______________________________________________________________________ -void AliITSvSPD02::BuildGeometry2002(){ - //////////////////////////////////////////////////////////////////////// - // Geometry builder for the ITS SPD test beam 2002 version 1. - // ALIC ALICE Mother Volume - // |- ITSV ITS Mother Volume - // |- IDET Detector under Test - // | |- ITS0 SPD Si Chip - // | | |- ITST SPD Sensitivve Volume - // | |- IPC0 *5 Readout chip - // |- ITEL *4 SPD Telescope - // |- IMB0 SPD Si Chip - // | |- IMBS SPD Sensitive volume - // |- ICMB Chip MiniBus. - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - //////////////////////////////////////////////////////////////////////// - // Get the top alice volume. - TNode *aALIC = gAlice->GetGeometry()->GetNode("alice"); - aALIC->cd(); - - // Define ITS Mother Volume - Float_t data[3]; - Float_t ddettest=200.0E-4,ddettelescope=300.0E-4; - Float_t dchipMiniBus=750.0E-4,dchiptest=300.0E-4; - //Float_t yposition= 0.0; - TRotMatrix *r0 = new TRotMatrix("ITSidrotm0","ITSidrotm0", - 90.0,0,0.0,0,90.0,270.0); - data[0] = 10.0; - data[1] = 50.0; - data[2] = 100.0; - TBRIK *iITSVshape = new TBRIK("ITSVshape", - "ITS Logical Mother Volume","Air", - data[0],data[1],data[2]); - TNode *iITSV = new TNode("ITSV","ITS Mother Volume",iITSVshape, - 0.0,0.0,0.0,0,0); - iITSV->cd(); // set ourselve into ITSV subvolume of aALIC - - // SPD part of telescope (MiniBuS) - data[0] = 0.705; - data[1] = 0.5*ddettelescope; - data[2] = 3.536; - TBRIK *iIMB0shape = new TBRIK("IMB0shape","SPD wafer","Si", - data[0],data[1],data[2]); - Float_t detMiniBusX,detMiniBusY,detMiniBusZ; - data[0] = detMiniBusX = 0.64; - data[1] = detMiniBusY = 0.5*ddettelescope; - data[2] = detMiniBusZ = 3.48; - TBRIK *iIMBSshape = new TBRIK("IMBSshape","SPD Sensitive volume","Si", - data[0],data[1],data[2]); - Float_t chipMiniBusX,chipMiniBusY,chipMiniBusZ; - data[0] = chipMiniBusX = 0.793; - data[1] = chipMiniBusY = 0.5*dchipMiniBus; - data[2] = chipMiniBusZ = 0.68; - TBRIK *iICMBshape = new TBRIK("ICMBshape","chip Minibus","Si", - data[0],data[1],data[2]); - data[0] = TMath::Max(detMiniBusX,chipMiniBusX); - data[1] = detMiniBusY+chipMiniBusY; - data[2] = TMath::Max(detMiniBusZ,chipMiniBusZ); - TBRIK *iITELshape = new TBRIK("ITELshape","ITELshape","Air", - data[0],data[1],data[2]); - - // SPD under test - Float_t spdX,spdY,spdZ,spdchipX,spdchipY,spdchipZ; - data[0] = 0.705; - data[1] = ddettest; - data[2] = 3.536; - TBRIK *iITS0shape = new TBRIK("ITS0shape","SPD wafer","Si", - data[0],data[1],data[2]); // contains detector - data[0] = spdX = 0.64; - data[1] = spdY = ddettest; - data[2] = spdZ = 3.48; - TBRIK *iITSTshape = new TBRIK("ITSTshape","SPD sensitive volume","Si", - data[0],data[1],data[2]); - // ITS0 with no translation and unit rotation matrix. - data[0] = spdchipX = 0.793; - data[1] = spdchipY = dchiptest; - data[2] = spdchipZ = 0.68; - TBRIK *iIPC0shape = new TBRIK("IPC0shape","Readout Chips","Si", - data[0],data[1],data[2]); // chip under test - data[0] = TMath::Max(spdchipX,spdX); - data[1] = spdY+spdchipY; - data[2] = TMath::Max(spdchipZ,spdZ); - TBRIK *iIDETshape = new TBRIK("IDETshape","Detector Under Test","Air", - data[0],data[1],data[2]); - // Place volumes in geometry - Int_t i,j; - char name[20],title[50]; - Double_t px=0.0,py=0.0,pz[4]={-38.0,0.0,0.0,0.0}; - pz[1] = pz[0]+2.0; - pz[2] = pz[1]+38.0+spdY+spdchipY+34.5; - pz[3] = pz[2]+2.0; - TNode *iITEL[4],*iICMB[4],*iIMB0[4],*iIMBS[4]; - TNode *iIDET = new TNode("IDET","Detector Under Test",iIDETshape, - 0.0,0.0,pz[1]+38.0,r0,0); - iIDET->cd(); - TNode *iITS0 = new TNode("ITS0","SPD Chip",iITS0shape, - 0.0,iIDETshape->GetDy()-spdY,0.0,0,0); - TNode *iIPC0[5]; - for(i=0;i<5;i++) { //place readout chips on the back of SPD chip under test - sprintf(name,"IPC0%d",i); - sprintf(title,"Readout chip #%d",i+1); - j = i-2; - iIPC0[i] = new TNode(name,title,iIPC0shape, - 0.0,spdchipY-iIDETshape->GetDy(), - j*2.0*spdchipZ+j*0.25*(spdZ-5.*spdchipZ),0,0); - } // end for i - iITS0->cd(); - TNode *iITST = new TNode("ITST","SPD sensitive volume",iITSTshape, - 0.0,0.0,0.0,0,0); - for(i=0;i<4;i++){ - iITSV->cd(); - sprintf(name,"ITEL%d",i); - sprintf(title,"Test beam telescope element #%d",i+1); - iITEL[i] = new TNode(name,title,iITELshape,px,py,pz[i],r0,0); - iITEL[i]->cd(); - iICMB[i] = new TNode("ICMB","Chip MiniBus",iICMBshape, - 0.0,-iITELshape->GetDy()+detMiniBusY,0.0,0,0); - iIMB0[i] = new TNode("IMB0","Chip MiniBus",iIMB0shape, - 0.0, iITELshape->GetDy()-detMiniBusY,0.0,0,0); - iIMB0[i]->cd(); - iIMBS[i] = new TNode("IMBS","IMBS",iIMBSshape,0.0,0.0,0.0,0,0); - // place IMBS inside IMB0 with no translation and unit rotation matrix. - } // end for i - aALIC->cd(); - iITST->SetLineColor(kYellow); - fNodes->Add(iITST); - for(i=0;i<4;i++){ - iIMBS[i]->SetLineColor(kGreen); - fNodes->Add(iIMBS[i]); - } // end for i -} -//______________________________________________________________________ void AliITSvSPD02::CreateGeometry(){ //////////////////////////////////////////////////////////////////////// // This routine defines and Creates the geometry for version 1 of the ITS. @@ -567,7 +380,6 @@ void AliITSvSPD02::Init(){ // UpdateInternalGeometry(); AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); // fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID. diff --git a/ITS/AliITSvSPD02.h b/ITS/AliITSvSPD02.h index 5fe55f17203..13300e03cb1 100644 --- a/ITS/AliITSvSPD02.h +++ b/ITS/AliITSvSPD02.h @@ -23,7 +23,6 @@ class AliITSvSPD02 : public AliITS{ AliITSvSPD02(); // default constructor AliITSvSPD02(const char *title,Int_t geomnum=2002); // standard constructor virtual ~AliITSvSPD02(); // destructor - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual Int_t IsVersion() const {// returns the ITS version number @@ -32,16 +31,6 @@ class AliITSvSPD02 : public AliITS{ //virtual void SetDefaults(); virtual void DrawModule() const; virtual void StepManager(); - virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions fMinorVersion = v;} virtual void SetThicknessDet1(Float_t v=300.){ @@ -67,14 +56,9 @@ class AliITSvSPD02 : public AliITS{ private: AliITSvSPD02(const AliITSvSPD02 &source); // Copy constructor AliITSvSPD02& operator=(const AliITSvSPD02 &source); // = operator - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number Int_t fGeomNumber; // Geometry version number (year) - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file Float_t fDet1; // thickness of detector in SPD layer 1 Float_t fDet2; // thickness of detector in SPD layer 2 Float_t fChip1; // thickness of chip in SPD layer 1 @@ -82,6 +66,6 @@ class AliITSvSPD02 : public AliITS{ Int_t fIDMother; //! ITS Mother Volume id. AliITSInitGeometry fIgm;//! Get access to decoding and AliITSgeom init functins - ClassDef(AliITSvSPD02,3) // Hits manager and geometry for SPD testbeam + ClassDef(AliITSvSPD02,5) // Hits manager and geometry for SPD testbeam }; #endif diff --git a/ITS/AliITSvSSD03.cxx b/ITS/AliITSvSSD03.cxx index a8bad6d4854..e2339ccdbe9 100644 --- a/ITS/AliITSvSSD03.cxx +++ b/ITS/AliITSvSSD03.cxx @@ -16,11 +16,8 @@ // Enrico Fragiacomo - 15/03/2004 // Geometry for the June 2003 SSD beam test -#include -#include #include #include -#include #include #include #include @@ -53,14 +50,9 @@ ClassImp(AliITSvSSD03) //______________________________________________________________________ AliITSvSSD03::AliITSvSSD03(): AliITS(), // Base Class -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. fMajorVersion(IsVersion()),// Major version number == IsVersion fMinorVersion(-1), // Minor version number fGeomNumber(2003), // Geometry version number (year) -fEuclidGeomDet(), // file where detector transormation are define. -fRead(), //! file name to read .det file -fWrite(), //! file name to write .det file fIDMother(0), //! ITS Mother Volume id. fIgm(kvSSD03){ //! AliITSInitGeometry object { //////////////////////////////////////////////////////////////////////// @@ -72,26 +64,17 @@ fIgm(kvSSD03){ //! AliITSInitGeometry object { // Return: // A default created class. //////////////////////////////////////////////////////////////////////// - Int_t i; fIdN = 0; fIdName = 0; fIdSens = 0; - for(i=0;i<60;i++) fRead[i] = '\0'; - for(i=0;i<60;i++) fWrite[i] = '\0'; - for(i=0;i<60;i++) fEuclidGeomDet[i] = '\0'; } //______________________________________________________________________ AliITSvSSD03::AliITSvSSD03(const char *title,Int_t gn) : AliITS("ITS",title), // Base Class -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. fMajorVersion(IsVersion()),// Major version number == IsVersion fMinorVersion(2), // Minor version number fGeomNumber(gn), // Geometry version number (year) -fEuclidGeomDet(), // file where detector transormation are define. -fRead(), //! file name to read .det file -fWrite(), //! file name to write .det file fIDMother(0), //! ITS Mother Volume id. fIgm(kvSSD03){ //! AliITSInitGeometry object { //////////////////////////////////////////////////////////////////////// @@ -113,10 +96,6 @@ fIgm(kvSSD03){ //! AliITSInitGeometry object { fIdSens = new Int_t[fIdN]; for(i=0;iGetGeometry()->GetNode("alice"); - aALIC->cd(); - - // Define ITS Mother Volume - Float_t data[3]; - Float_t ddettest=300.0E-4; - //Float_t yposition= 0.0; - TRotMatrix *r0 = new TRotMatrix("ITSidrotm0","ITSidrotm0", - 90.0,0,0.0,0,90.0,270.0); - - // Mother volume (beam along z) - data[0] = 10.0; // in centimeter - data[1] = 50.0; - data[2] = 100.0; - TBRIK *iITSVshape = new TBRIK("ITSVshape", - "ITS Logical Mother Volume","Air", - data[0],data[1],data[2]); - TNode *iITSV = new TNode("ITSV","ITS Mother Volume",iITSVshape, - 0.0,0.0,0.0,0,0); - iITSV->cd(); // set ourselve into ITSV subvolume of aALIC - - // SSD part of telescope (Note. strips in local xz plan) - data[0] = 3.5; // half-length of the SSD module - data[1] = 0.5*ddettest; // half-width of the SSD module - data[2] = 2.0; // half-heigth of the SSD module - TBRIK *iITSTshape = new TBRIK("ITSTshape","SSD sensitive volume","Si", - data[0],data[1],data[2]); - TNode *iITST = new TNode("ITST","SSD sensitive volume",iITSTshape, - 0.0,0.0,0.0,r0,0); - - aALIC->cd(); - iITST->SetLineColor(kYellow); - fNodes->Add(iITST); -} //______________________________________________________________________ void AliITSvSSD03::CreateGeometry(){ //////////////////////////////////////////////////////////////////////// @@ -526,9 +430,7 @@ void AliITSvSSD03::Init(){ // UpdateInternalGeometry(); AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite); - // fIDMother = gMC->VolId("ITSV"); // ITS Mother Volume ID. }/* diff --git a/ITS/AliITSvSSD03.h b/ITS/AliITSvSSD03.h index eb3fead27ae..560f1ab8b08 100644 --- a/ITS/AliITSvSSD03.h +++ b/ITS/AliITSvSSD03.h @@ -15,7 +15,6 @@ class AliITSvSSD03 : public AliITS{ AliITSvSSD03(); // default constructor AliITSvSSD03(const char *title,Int_t geomnum=2003); // standard constructor virtual ~AliITSvSSD03(); // destructor - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual Int_t IsVersion() const {// returns the ITS version number @@ -24,18 +23,6 @@ class AliITSvSSD03 : public AliITS{ //virtual void SetDefaults(); virtual void DrawModule() const; virtual void StepManager(); - virtual void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - virtual void SetWriteDet(const char *f){ // set write file - strncpy(fWrite,f,60);fGeomDetOut = kTRUE;} - virtual void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - virtual void SetReadDet(const char *f){ // set read file - strncpy(fRead,f,60);fGeomDetIn = kTRUE;} - virtual void SetEUCLID(Bool_t euclid=kTRUE){ // set write Euclid file - fEuclidOut = euclid;} - virtual void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} virtual void SetMinorVersion(Int_t v=22){ // Choose between existing minor versions fMinorVersion = v;} // Replacement default simulation initilization. @@ -49,14 +36,9 @@ class AliITSvSSD03 : public AliITS{ private: AliITSvSSD03(const AliITSvSSD03 &source); // Copy constructor AliITSvSSD03& operator=(const AliITSvSSD03 &source); // = operator - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. Int_t fMajorVersion; // Major version number == IsVersion Int_t fMinorVersion; // Minor version number Int_t fGeomNumber; // Geometry version number (year) - char fEuclidGeomDet[60];// file where detector transormation are define. - char fRead[60]; //! file name to read .det file - char fWrite[60]; //! file name to write .det file Int_t fIDMother; //! ITS Mother Volume id. AliITSInitGeometry fIgm; //! AliITSInitGeometry object diff --git a/ITS/AliITSvtest.cxx b/ITS/AliITSvtest.cxx deleted file mode 100644 index f915886725c..00000000000 --- a/ITS/AliITSvtest.cxx +++ /dev/null @@ -1,716 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -/////////////////////////////////////////////////////////////////////////////// -// // -// Inner Traking System version Test // -// This class contains the base procedures for the Inner Tracking System // -// // -// Authors: R. Barbera, B. S. Nilsen. // -// version Test // -// Created October 16 1999. // -// // -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "AliRun.h" -#include "AliMC.h" -#include "AliMagF.h" -#include "AliITSgeom.h" -#include "AliITSgeomSDD.h" -#include "AliITSgeomSPD.h" -#include "AliITSgeomSSD.h" -#include "AliITShit.h" -#include "AliITSvtest.h" - -ClassImp(AliITSvtest) - -const Double_t AliITSvtest::fgkmicron = 1.0E-4; -const Double_t AliITSvtest::fgkmm = 0.10; -const Double_t AliITSvtest::fgkcm = 1.00; -const Double_t AliITSvtest::fgkDegree = 1.0; -const Double_t AliITSvtest::fgkRadian = 180./3.14159265358979323846; -const Double_t AliITSvtest::fgkgcm3 = 1.0; // assume default is g/cm^3 -const Double_t AliITSvtest::fgkCelsius = 1.0; // Assume default is C -const Double_t AliITSvtest::fgkPascal = 1.0E-3; // Assume kPascal -const Double_t AliITSvtest::fgkKPascal = 1.0; // Asume kPascal -const Double_t AliITSvtest::fgkeV = 1.0E-9; // GeV default -const Double_t AliITSvtest::fgkKeV = 1.0e-6; // GeV default -const Double_t AliITSvtest::fgkMeV = 1.0e-3; // GeV default -const Double_t AliITSvtest::fgkGeV = 1.0; // GeV default - - -//_____________________________________________________________________________ -AliITSvtest::AliITSvtest() : -AliITS(), // Base Class -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. -fMajorVersion(IsVersion()), // Major version number == IsVersion -fMinorVersion(-1), // Minor version number -fEuclidGeomDet(), // file where detector transormation are define. -fRead(), //! file name to read .det file -fWrite(), //! file name to write .det file -fIgm() //! Geometry initilization object -{ - // Default constructor for the ITS - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. -} -//_____________________________________________________________________________ -AliITSvtest::AliITSvtest(const Char_t *title,Int_t version) : -AliITS("ITS",title), // Base Class -fGeomDetOut(kFALSE), // Flag to write .det file out -fGeomDetIn(kFALSE), // Flag to read .det file or directly from Geat. -fMajorVersion(IsVersion()), // Major version number == IsVersion -fMinorVersion(version), // Minor version number -fEuclidGeomDet("$ALICE_ROOT/ITS/ITSgeometry_test.det"),// file where detector transormation are define. -fRead("$ALICE_ROOT/ITS/ITSgeometry_test.det"),//! file name to read .det file -fWrite("$ALICE_ROOT/ITS/ITSgeometry_test.det"),//! file name to write .det file -fIgm() //! Geometry initilization object -{ - // Default constructor for the ITS. version=1 reads Euclide file for - // geometry. version=2 use's internal geometry - // Inputs: - // Char_t *title Geomety title - // Int_t version Minor version number to use. - // =-1 Not defined - // = 1 read Euclid geometry - // = 2 use internal geometry minor verion 2. - // Outputs: - // none. - // Return: - // none. - Int_t i; - - fIdN = 6; - fIdName = new TString[fIdN]; - fIdName[0] = "ITS1"; - fIdName[1] = "ITS2"; - fIdName[2] = "ITS3"; - fIdName[3] = "ITS4"; - fIdName[4] = "ITS5"; - fIdName[5] = "ITS6"; - fIdSens = new Int_t[fIdN]; - for(i=0;iExpandPathName(fEuclidMaterial.Data()); - // FILE *file = fopen(fEuclidMaterial.Data(),"r"); - FILE *file = fopen(filtmp,"r"); - if(file) { - fclose(file); - // ReadEuclidMedia(fEuclidMaterial.Data(),this); - ReadEuclidMedia(filtmp); - } else { - Error("CreateMaterials"," THE MEDIA FILE %s DOES NOT EXIST !", - // fEuclidMaterial.Data()); - filtmp); - exit(1); - } // end if(file) -} -//_____________________________________________________________________________ -void AliITSvtest::CreateMaterials2(){ - // Read materials for the ITS - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - //TGeoManager *mgr = gGeoManager; - TGeoMaterial *si,*n2; - TGeoMedium *sims,*simn,*simN2; - Double_t params[8]; - Int_t ifield = gAlice->Field()->Integ(); - Double_t fieldm = gAlice->Field()->Max(); // [kilogauss] - - params[0] = 1.0; // sensitive volume flag - params[1] = (Double_t)ifield; // magnetic field type - params[2] = fieldm; // magnetic field stregth - params[3] = 0.1*fgkDegree; // tmaxfd Theta max deviation over step - params[4] = 0.0075*fgkcm; // maximum step size - params[5] = 0.1; // Maximum fractional energy loss over a step - params[6] = 1.0E-4*fgkcm; // tracking precision - params[7] = 0.0*fgkcm; // Minimum step (=0 compute automatically) - // must always be =0! - - si = new TGeoMaterial("SI",28.86,14.0,2.33*fgkgcm3, - TGeoMaterial::kMatStateSolid,25.0*fgkCelsius, - 0.0*fgkPascal); - sims = new TGeoMedium("ITSsensitiveSi",4,si,params); - params[0] = 0.0; // non sesitive. - simn = new TGeoMedium("ITSnonsensitiveSi",5,si,params); - // - n2 = new TGeoMaterial("Nitrogen Gas",14.00674,7.0,1.250E-3*fgkgcm3, - TGeoMaterial::kMatStateGas,25.0*fgkCelsius, - 101325.0*fgkPascal); - simN2 = new TGeoMedium("ITSN2",6,n2,params); - // - if(sims==0 || simn==0 || simN2==0) - Error("CreateMaterial","Error getting medium ITSsensitiveSi=%p" - " ITSnonsensitiveSi=%p ITSN2=%p",sims,simn,simN2); -} -//_____________________________________________________________________________ -void AliITSvtest::CreateGeometry(){ - // Read geometry for the ITS - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - - switch(GetMinorVersion()){ - case 1: - CreateGeometryEuclid(); - break; - case 2: - CreateGeometry2(); - break; - default: - Warning("CreateGeometry","No CreateMaterials for minor version=%d", - GetMinorVersion()); - break; - } // end switch - return; -} -//_____________________________________________________________________________ -void AliITSvtest::CreateGeometryEuclid(){ - // Read geometry for the ITS - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - char topvol[5]; - char *filtmp; - - filtmp = gSystem->ExpandPathName(fEuclidGeometry.Data()); - FILE *file = fopen(filtmp,"r"); - delete [] filtmp; - if(file) { - fclose(file); - printf("Ready to read Euclid geometry file\n"); - ReadEuclid(fEuclidGeometry.Data(),topvol); - printf("Read in euclid geometries\n"); - } else { - Error("CreateGeometry"," THE GEOM FILE %s DOES NOT EXIST !", - fEuclidGeometry.Data()); - exit(1); - } // end if(file) - // - //---Place the ITS logical volume ITSV in its mother volume (ALIC) - // and make it invisible - // - gMC->Gspos("ITSV",1,"ALIC",0,0,0,0,"ONLY"); - // - //---Outputs the geometry tree in the EUCLID/CAD format - - if (fEuclidOut) { - gMC->WriteEuclid("ITSgeometry", "ITSV", 1, 5); - } // end if (fEuclidOut) - cout <<"finished with euclid geometrys"<< endl; -} -//_____________________________________________________________________________ -void AliITSvtest::CreateGeometry2(){ - // Test geometry verion 2. - // /ALIC_1/ITSV_1/ITSspd1_1/ITS1_1/ lay=1 - // /ALIC_1/ITSV_1/ITSspd2_1/ITS2_1/ lay=2 - // /ALIC_1/ITSV_1/ITSsdd1_1/ITS3_1/ lay=3 - // /ALIC_1/ITSV_1/ITSsdd2_1/ITS4_1/ lay=4 - // /ALIC_1/ITSV_1/ITSssd1_1/ITS5_1/ lay=5 - // /ALIC_1/ITSV_1/ITSssd2_1/ITS6_1/ Lay=6 - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - // These constant character strings are set by cvs during commit - // do not change them unless you know what you are doing! - const Char_t *cvsDate="$Date$"; - const Char_t *cvsRevision="$Revision$"; - const Double_t ksensitiveSPD[3]={0.6*fgkcm,0.01*fgkcm,3.5*fgkcm}; - const Double_t ksensitiveSDD[3]={3.5085*fgkcm,0.01499*fgkcm,3.7485*fgkcm}; - const Double_t ksensitiveSSD[3]={3.75*fgkcm,0.0150*fgkcm,2.1*fgkcm}; - const Double_t kwaferSPD[3]={0.7*fgkcm,0.01*fgkcm,3.6*fgkcm}; - const Double_t kwaferSDD[3]={3.61*fgkcm,0.0150*fgkcm,4.38*fgkcm}; - const Double_t kwaferSSD[3]={3.85*fgkcm,0.0150*fgkcm,2.2*fgkcm}; - TGeoManager *mgr = gGeoManager; - TGeoVolume *vALIC=0; - TGeoMedium *sensitiveSi=0,*bulckSi=0,*n2=0; - TGeoBBox *sITS,*sSPD,*sSDD,*sSSD; - TGeoBBox *sITS1,*sITS2,*sITS3,*sITS4,*sITS5,*sITS6; - TGeoVolume *vITS,*vSPD1,*vSPD2,*vSDD1,*vSDD2,*vSSD1,*vSSD2; - TGeoVolume *vITS1,*vITS2,*vITS3,*vITS4,*vITS5,*vITS6; - - vALIC = mgr->GetTopVolume(); - if(vALIC==0) { - vALIC = mgr->GetVolume("ALIC"); - if(vALIC==0) { - Error("CreateGeometry2","vALIC=0"); - return; - }// end if - } // end if - //sensitiveSi = mgr->GetMedium("ITSsensitiveSi"); - sensitiveSi = mgr->GetMedium(4); - //bulckSi = mgr->GetMedium("ITSnonesensitiveSi"); - bulckSi = mgr->GetMedium(5); - //n2 = mgr->GetMedium("ITSN2"); - n2 = mgr->GetMedium(6); - if(sensitiveSi==0 || bulckSi==0 || n2==0){ - Error("CreateGeometry2","Error getting medium sensitiveSi=%p" - " bulckSi=%p n2=%p",sensitiveSi,bulckSi,n2); - TList *lmed = mgr->GetListOfMedia(); - TIter next(lmed); - while(TGeoMedium *med = (TGeoMedium*) next()) - med->Inspect(); - } // - sITS1 = new TGeoBBox((Double_t*)ksensitiveSPD); - vITS1 = new TGeoVolume("ITS1",sITS1,sensitiveSi); - sITS2 = new TGeoBBox((Double_t*)ksensitiveSPD); - vITS2 = new TGeoVolume("ITS2",sITS2,sensitiveSi); - sSPD = new TGeoBBox((Double_t*)kwaferSPD); - vSPD1 = new TGeoVolume("ITSspd1",sSPD,bulckSi); - vSPD2 = new TGeoVolume("ITSspd2",sSPD,bulckSi); - vSPD1->AddNode(vITS1,1,0); // one copy no translation/rotation - vSPD2->AddNode(vITS2,1,0); // one copy no translation/rotation - // - sITS3 = new TGeoBBox((Double_t*)ksensitiveSDD); - vITS3 = new TGeoVolume("ITS3",sITS3,sensitiveSi); - sITS4 = new TGeoBBox((Double_t*)ksensitiveSDD); - vITS4 = new TGeoVolume("ITS4",sITS4,sensitiveSi); - sSDD = new TGeoBBox((Double_t*)kwaferSDD); - vSDD1 = new TGeoVolume("ITSsdd1",sSDD,bulckSi); - vSDD2 = new TGeoVolume("ITSsdd2",sSDD,bulckSi); - vSDD1->AddNode(vITS3,1,0); // one copy no translation/rotation - vSDD2->AddNode(vITS4,1,0); // one copy no translation/rotation - // - sITS5 = new TGeoBBox((Double_t*)ksensitiveSSD); - vITS5 = new TGeoVolume("ITS5",sITS5,sensitiveSi); - sITS6 = new TGeoBBox((Double_t*)ksensitiveSSD); - vITS6 = new TGeoVolume("ITS6",sITS6,sensitiveSi); - sSSD = new TGeoBBox((Double_t*)kwaferSSD); - vSSD1 = new TGeoVolume("ITSssd1",sSSD,bulckSi); - vSSD2 = new TGeoVolume("ITSssd2",sSSD,bulckSi); - vSSD1->AddNode(vITS5,1,0); // one copy no translation/rotation - vSSD2->AddNode(vITS6,1,0); // one copy no translation/rotation - // - sITS = new TGeoBBox(100.0,100.,100.0); - vITS = new TGeoVolume("ITSV",sITS,n2); // one copy of vacume ITSV - const Int_t length=100; - Char_t vstrng[length]; - if(fIgm.WriteVersionString(vstrng,length,(AliITSVersion_t)IsVersion(), - fMinorVersion,cvsDate,cvsRevision)) - vITS->SetTitle(vstrng); - else Error("CreateGeometry2","Error writing/setting version string"); - - vALIC->AddNode(vITS,1,0);// one copy no translation/rotation - // - TGeoTranslation *t1,*t2,*t3,*t4,*t5,*t6; - TGeoRotation *r1,*r2,*r3,*r4,*r5,*r6; - TGeoCombiTrans *tr1,*tr2,*tr3,*tr4,*tr5,*tr6; - t1 = new TGeoTranslation( +4.0,+0.0,+0.0); // "perfect" location - r1 = new TGeoRotation("",90.0,0.0,0.0); // "perfect" location - tr1= new TGeoCombiTrans(*t1,*r1);// "perfect" location - t2 = new TGeoTranslation( +7.0,+0.2,-0.5); - r2 = new TGeoRotation("",-91.0,10.0,-5.0); - tr2= new TGeoCombiTrans(*t2,*r2); - t3 = new TGeoTranslation(+14.9,-0.6,+0.1); - r3 = new TGeoRotation("",93.0,-7.0,5.0); - tr3= new TGeoCombiTrans(*t3,*r3); - t4 = new TGeoTranslation(+23.8,+0.3,-0.2); - r4 = new TGeoRotation("",91.0,10.0,-5.0); - tr4= new TGeoCombiTrans(*t4,*r4); - t5 = new TGeoTranslation(+39.1,+0.1,+0.4); - r5 = new TGeoRotation("",88.0,1.0,5.0); - tr5= new TGeoCombiTrans(*t5,*r5); - t6 = new TGeoTranslation(+43.6,-0.5,+0.2); - r6 = new TGeoRotation("",92.0,0.0,-5.0); - tr6= new TGeoCombiTrans(*t6,*r6); - // - vITS->AddNode(vSPD1,1,tr1); - vITS->AddNode(vSPD2,1,tr2); - vITS->AddNode(vSDD1,1,tr3); - vITS->AddNode(vSDD2,1,tr4); - vITS->AddNode(vSSD1,1,tr5); - vITS->AddNode(vSSD2,1,tr6); - // - return; -} -//_____________________________________________________________________________ -void AliITSvtest::Init(){ - // Initialise the ITS after it has been created. - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - Int_t i; - - cout << endl; - for(i=0;i<29;i++) cout << "*";cout << " ITSvtest_Init "; - for(i=0;i<28;i++) cout << "*";cout << endl; - - switch(GetMinorVersion()){ - case 1: - InitEuclid(); - break; - case 2: - Init2(); - break; - default: - break; - } // end switch - UpdateInternalGeometry(); - AliITS::Init(); - if(fGeomDetOut) GetITSgeom()->WriteNewFile(fWrite.Data()); - - for(i=0;i<72;i++) cout << "*"; - cout << endl; -} -//_____________________________________________________________________________ -void AliITSvtest::InitEuclid(){ - // Initialise the ITS after it has been created. Euclid version - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. -} -//_____________________________________________________________________________ -void AliITSvtest::Init2(){ - // Initialise the ITS after it has been created. Geometry 2 verion - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - Int_t i,n=3,imed[3]; - TGeoManager *mgr = gGeoManager; - if(mgr==0) Error("Init2","mgr=0"); - TGeoMedium *sensitiveSi = mgr->GetMedium("ITSsensitiveSi"); - TGeoMedium *bulckSi = mgr->GetMedium("ITSnonsensitiveSi"); - TGeoMedium *n2 = mgr->GetMedium("ITSN2"); - - if(sensitiveSi==0) Error("Init2","sensitiveSi=0"); - if(bulckSi==0) Error("Init2","bulckSi=0"); - if(n2==0) Error("Init2","n2=0"); - imed[0] = sensitiveSi->GetId(); - imed[1] = bulckSi->GetId(); - imed[2] = n2->GetId(); - for(i=0;iGstpar(imed[i],"CUTGAM",30.0*fgkKeV); - gMC->Gstpar(imed[i],"CUTELE",30.0*fgkKeV); - gMC->Gstpar(imed[i],"CUTNEU",30.0*fgkKeV); - gMC->Gstpar(imed[i],"CUTHAD",30.0*fgkKeV); - gMC->Gstpar(imed[i],"CUTMUO",30.0*fgkKeV); - gMC->Gstpar(imed[i],"BCUTE",30.0*fgkKeV); - gMC->Gstpar(imed[i],"BCUTM",30.0*fgkKeV); - gMC->Gstpar(imed[i],"DCUTE",30.0*fgkKeV); - gMC->Gstpar(imed[i],"DCUTM",30.0*fgkKeV); - //gMC->Gstpar(imed[i],"PPCUTM",); - //gMC->Gstpar(imed[i],"PAIR",); - //gMC->Gstpar(imed[i],"COMPT",); - //gMC->Gstpar(imed[i],"PHOT",); - //gMC->Gstpar(imed[i],"PFIS",); - gMC->Gstpar(imed[i],"DRAY",1); - //gMC->Gstpar(imed[i],"ANNI",); - //gMC->Gstpar(imed[i],"BREM",); - //gMC->Gstpar(imed[i],"HADR",); - //gMC->Gstpar(imed[i],"MUNU",); - //gMC->Gstpar(imed[i],"DCAY",); - gMC->Gstpar(imed[i],"LOSS",1); - //gMC->Gstpar(imed[i],"MULS",); - //gMC->Gstpar(imed[i],"GHCOR1",); - //gMC->Gstpar(imed[i],"BIRK1",); - //gMC->Gstpar(imed[i],"BRIK2",); - //gMC->Gstpar(imed[i],"BRIK3",); - //gMC->Gstpar(imed[i],"LABS",); - //gMC->Gstpar(imed[i],"SYNC",); - //gMC->Gstpar(imed[i],"STRA",); - } // end for i - return; -} -//_____________________________________________________________________________ -void AliITSvtest::StepManager(){ - // Called for every step in the ITS - // Inputs: - // none. - // Outputs: - // none. - // Return: - // none. - // - // Fill hit structure. - static TLorentzVector position, momentum; // Saves on calls to construtors - static AliITShit hit; // Saves on calls to construtors - Int_t cpn0,cpn1,cpn2,status,lay,mod,id; - - if(!(gMC->TrackCharge())) return; - if(!(this->IsActive())) return; - TClonesArray &lhits = *(Hits()); - // Track status - status = 0; - if(gMC->IsTrackInside()) status += 1; - if(gMC->IsTrackEntering()) status += 2; - if(gMC->IsTrackExiting()) status += 4; - if(gMC->IsTrackOut()) status += 8; - if(gMC->IsTrackDisappeared()) status += 16; - if(gMC->IsTrackStop()) status += 32; - if(gMC->IsTrackAlive()) status += 64; - // Only entering charged tracks - id = gMC->CurrentVolID(cpn0); - for(lay=0;lay<6;lay++) if(id == fIdSens[lay]) break; - lay++; - if(lay>6) return; // not in detector - cpn0=cpn1=cpn2=1; - fIgm.DecodeDetector(mod,lay,cpn0,cpn1,cpn2); - // Fill hit structure. - hit.SetModule(mod); - hit.SetTrack(gAlice->GetMCApp()->GetCurrentTrackNumber()); - gMC->TrackPosition(position); - gMC->TrackMomentum(momentum); - hit.SetPosition(position); - hit.SetTime(gMC->TrackTime()); - hit.SetMomentum(momentum); - hit.SetStatus(status); - hit.SetEdep(gMC->Edep()); - hit.SetShunt(GetIshunt()); - if(gMC->IsTrackEntering()){ - hit.SetStartPosition(position); - hit.SetStartTime(gMC->TrackTime()); - hit.SetStartStatus(status); - return; // don't save entering hit. - } // end if IsEntering - // Fill hit structure with this new hit. - new(lhits[fNhits++]) AliITShit(hit); // Use Copy Construtor. - // Save old position... for next hit. - hit.SetStartPosition(position); - hit.SetStartTime(gMC->TrackTime()); - hit.SetStartStatus(status); - // - Double_t g0[4],l0[4],g1[4]; - position.GetXYZT(g0); - gMC->Gmtod(g0,l0,1); // flag=1 convert coordiantes - gMC->Gdtom(l0,g1,1); // flag=1 convert coordinates - printf(" gMC: mod=%d g=%g %g %g %g -> l= %g %g %g %g ->g=%g %g %g %g\n", - mod,g0[0],g0[1],g0[2],g0[3],l0[0],l0[1],l0[2],l0[3],g1[0],g1[2],g1[2],g1[3]); - GetITSgeom()->GtoL(mod,g0,l0); - GetITSgeom()->LtoG(mod,l0,g1); - printf("ITSgeom: mod=%d g=%g %g %g %g -> l= %g %g %g %g ->g=%g %g %g %g\n", - mod,g0[0],g0[1],g0[2],g0[3],l0[0],l0[1],l0[2],l0[3],g1[0],g1[2],g1[2],g1[3]); - TGeoNode *cur = gGeoManager->GetCurrentNode(); - cur->MasterToLocal(g0,l0); - cur->LocalToMaster(l0,g1); - printf(" TGeo: mod=%d g=%g %g %g %g -> l= %g %g %g %g ->g=%g %g %g %g\n", - mod,g0[0],g0[1],g0[2],g0[3],l0[0],l0[1],l0[2],l0[3],g1[0],g1[2],g1[2],g1[3]); - printf("=====================\n"); - // - - return; -} -//______________________________________________________________________ -void AliITSvtest::PrintAscii(ostream *os)const{ - // Print out class data values in Ascii Form to output stream - // Inputs: - // ostream *os Output stream where Ascii data is to be writen - // Outputs: - // none. - // Return: - // none. -#if defined __GNUC__ -#if __GNUC__ > 2 - ios::fmtflags fmt; -#else - Int_t fmt; -#endif -#else -#if defined __ICC || defined __ECC || defined __xlC__ - ios::fmtflags fmt; -#else - Int_t fmt; -#endif -#endif - - *os << fGeomDetOut << " " << fGeomDetIn << " "; - *os << fMajorVersion << " " << fMinorVersion << " "; - *os << "\"" << fEuclidGeomDet.Data() << "\"" << " "; - *os << "\"" << fRead.Data() << "\"" << " "; - *os << "\"" << fWrite.Data() << "\"" << " "; - fmt = os->setf(ios::scientific); // set scientific floating point output - os->flags(fmt); // reset back to old Formating. - return; -} -//______________________________________________________________________ -void AliITSvtest::ReadAscii(istream *is){ - // Read in class data values in Ascii Form to output stream - // Inputs: - // istream *is Input stream where Ascii data is to be read in from - // Outputs: - // none. - // Return: - // none. - Char_t name[120]; - - *is >> fGeomDetOut >> fGeomDetIn ; - *is >> fMajorVersion >> fMinorVersion; - *is >> name; - fEuclidGeomDet = name; - *is >> name; - fRead = name; - *is >> name; - fWrite = name; - fIgm.SetVersion((AliITSVersion_t)fMajorVersion,fMinorVersion); - fIgm.SetGeometryName("ITS test geometry"); -} -//______________________________________________________________________ -ostream &operator<<(ostream &os,const AliITSvtest &s){ - // Standard output streaming function - // Inputs: - // ostream &os output steam - // AliITSvtest &s class to be streamed. - // Output: - // none. - // Return: - // ostream &os The stream pointer - - s.PrintAscii(&os); - return os; -} -//______________________________________________________________________ -istream &operator>>(istream &is,AliITSvtest &s){ - // Standard inputput streaming function - // Inputs: - // istream &is input steam - // AliITSvtest &s class to be streamed. - // Output: - // none. - // Return: - // ostream &os The stream pointer - - s.ReadAscii(&is); - return is; -} diff --git a/ITS/AliITSvtest.h b/ITS/AliITSvtest.h deleted file mode 100644 index eab5e165818..00000000000 --- a/ITS/AliITSvtest.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef ALIITSVTEST_H -#define ALIITSVTEST_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -//////////////////////////////////////////////////////////////////////// -// Manager and hits classes for ITS version 5 -//////////////////////////////////////////////////////////////////////// - -#include "AliITSInitGeometry.h" -#include "AliITS.h" - -class TBRIK; -class AliITSvtest : public AliITS { - public: - AliITSvtest(); // Default constructor - AliITSvtest(const Char_t *title,Int_t version=0); // Standard Constructor - // Constructor for Euclid geometries - AliITSvtest(const char *fileeuc,const char *filetme, - const char *name, const char *title); - virtual ~AliITSvtest(); // Destructor - void CreateGeometry(); // Create test geometry - void CreateMaterials(); // Create test geometry materials - void Init(); // Initlizie test geometry for transport - Int_t IsVersion() const {// returns the ITS version number - return kvtest;} - void StepManager(); // Transport step manager - void SetWriteDet(Bool_t det=kTRUE){ // set .det write - fGeomDetOut = det;} - void SetWriteDet(const char *f){ // set write file - fWrite=f;fGeomDetOut = kTRUE;} - void SetReadDet(Bool_t det=kTRUE){ //set .det read - fGeomDetIn = det;} - void SetReadDet(const char *f){ // set read file - fRead=f;fGeomDetIn = kTRUE;} - void SetEUCLIDFileName(const char *f){ // set write file - fEuclidGeometry=f;fEuclidOut = kTRUE;} - void SetMinorVersion(Int_t v){ // Choose between existing minor versions - fMinorVersion = 1;if(v==1) fMinorVersion = 1; - else if(v==2) fMinorVersion = 2; - else Warning("SetMinorVersion","Undefined Minor Version setting =1");} - Bool_t GetWriteDet() const { // returns value GeomDetOut flag. - return fGeomDetOut;} - Bool_t GetReadDet() const { // returns value GeomDetIn flag. - return fGeomDetIn;} - Char_t *GetEULIIDFileName() const{ // return .euc file name - return (Char_t*)(fEuclidGeometry.Data());} - Char_t *GetReadDetFileName()const{ // return .det read file name - if(!fRead.IsNull()) return (Char_t*)(fRead.Data()); - else return GetEULIIDFileName();} - Char_t *GetWriteDetFileName()const{ // return .det write file name - if(!fWrite.IsNull()) return (Char_t*)(fWrite.Data()); - else return GetEULIIDFileName();} - Int_t GetMajorVersion() const {// return Major Version Number - return fMajorVersion;} - Int_t GetMinorVersion() const {// return Major Version Number - return fMinorVersion;} - // Print class in ascii form to stream - void PrintAscii(ostream *os)const; - // Read in class in ascii form from stream - void ReadAscii(istream *is); - - protected: - // Units, Convert from k?? to cm,degree,GeV,seconds, - static const Double_t fgkmicron; // Convert micron to TGeom's cm. - static const Double_t fgkmm; // Convert mm to TGeom's cm. - static const Double_t fgkcm; // Convert cm to TGeom's cm. - static const Double_t fgkDegree; //Convert degrees to TGeom's degrees - static const Double_t fgkRadian; //To Radians - static const Double_t fgkgcm3; // Density in g/cm^3 - static const Double_t fgkCelsius; // Temperature in degrees Celcius - static const Double_t fgkPascal; // Preasure in Pascal - static const Double_t fgkKPascal; // Preasure in KPascal - static const Double_t fgkeV; // Energy in eV - static const Double_t fgkKeV; // Energy in KeV - static const Double_t fgkMeV; // Energy in MeV - static const Double_t fgkGeV; // Energy in GeV - - - private: - AliITSvtest(const AliITSvtest &source); // copy constructor - AliITSvtest& operator=(const AliITSvtest &source); // assignment operator - void CreateMaterialsEuclid(); // Create test geometry materials from Euclid - void CreateGeometryEuclid(); // Create test geometry Geometry from Euclid - void InitEuclid(); // Create test geometry Init for Euclid - void CreateMaterials2(); // Create test geometry materials from geometry2 - void CreateGeometry2(); // Create test geometry Geometry from geometry2 - void Init2(); // Create test geometry Init for geometry2 - // TString fEuclidGeomtery,fEuclidMaterial defined in AliModule. - Bool_t fGeomDetOut; // Flag to write .det file out - Bool_t fGeomDetIn; // Flag to read .det file or directly from Geat. - Int_t fMajorVersion; // Major version number == IsVersion - Int_t fMinorVersion; // Minor version number - TString fEuclidGeomDet;// file where detector transormation are define. - TString fRead; //! file name to read .det file - TString fWrite; //! file name to write .det file - AliITSInitGeometry fIgm;//! Geometry initilization object - - ClassDef(AliITSvtest,2) //Hits manager for ITS test version, Private ITS class for different test geometries -}; -// Input and output function for standard C++ input/output. -ostream &operator<<(ostream &os,const AliITSvtest &s); -istream &operator>>(istream &is,AliITSvtest &s); - -#endif diff --git a/ITS/CMake_libITSsim.txt b/ITS/CMake_libITSsim.txt index ec4ef00f24b..63599d072de 100644 --- a/ITS/CMake_libITSsim.txt +++ b/ITS/CMake_libITSsim.txt @@ -7,7 +7,6 @@ set(SRCS AliITSvPPRcoarseasymm.cxx AliITSvPPRasymmFMD.cxx AliITSvBeamTestITS04.cxx - AliITSvtest.cxx AliITSvSSD03.cxx AliITShit.cxx AliITSSimuParam.cxx diff --git a/ITS/ITSsimLinkDef.h b/ITS/ITSsimLinkDef.h index d21e14d54dd..30c1806a13b 100644 --- a/ITS/ITSsimLinkDef.h +++ b/ITS/ITSsimLinkDef.h @@ -19,7 +19,6 @@ #pragma link C++ class AliITSvBeamTestITS04+; #pragma link C++ class AliITSvSPD02+; #pragma link C++ class AliITSvSDD03+; -#pragma link C++ class AliITSvtest+; #pragma link C++ class AliITSvSSD03+; #pragma link C++ class AliITSv11+; #pragma link C++ class AliITSv11GeomCable+; diff --git a/ITS/libITSsim.pkg b/ITS/libITSsim.pkg index 7fbc1bfe871..c426e5a85d6 100644 --- a/ITS/libITSsim.pkg +++ b/ITS/libITSsim.pkg @@ -6,7 +6,6 @@ SRCS = AliITS.cxx \ AliITSvPPRcoarseasymm.cxx \ AliITSvPPRasymmFMD.cxx \ AliITSvBeamTestITS04.cxx \ - AliITSvtest.cxx \ AliITSvSSD03.cxx \ AliITShit.cxx \ AliITSSimuParam.cxx \ diff --git a/MUON/AliMUON.cxx b/MUON/AliMUON.cxx index 3cf30d3cd86..094492eb753 100644 --- a/MUON/AliMUON.cxx +++ b/MUON/AliMUON.cxx @@ -235,18 +235,6 @@ void AliMUON::AddGeometryBuilder(AliMUONVGeometryBuilder* geomBuilder) fGeometryBuilder->AddBuilder(geomBuilder); } -//____________________________________________________________________ -void AliMUON::BuildGeometry() -{ -/// Geometry for event display - - -// for (Int_t i = 0; i < AliMUONConstants::NCh(); i++) -// this->Chamber(i).SegmentationModel2(1)->Draw("eventdisplay");// to be check ! - - -} - //____________________________________________________________________ const AliMUONGeometry* AliMUON::GetGeometry() const { diff --git a/MUON/AliMUON.h b/MUON/AliMUON.h index 4bd61b0ad6b..75f02c3ba32 100644 --- a/MUON/AliMUON.h +++ b/MUON/AliMUON.h @@ -49,7 +49,6 @@ class AliMUON : public AliDetector void AddGeometryBuilder(AliMUONVGeometryBuilder* geomBuilder); void ResetGeometryBuilder(); - virtual void BuildGeometry(); /// Return geometry builder AliMUONGeometryBuilder* GetGeometryBuilder() const {return fGeometryBuilder;} diff --git a/MUON/Doxymodules_STEER.h b/MUON/Doxymodules_STEER.h index 6beb6563322..6f95f724141 100644 --- a/MUON/Doxymodules_STEER.h +++ b/MUON/Doxymodules_STEER.h @@ -86,7 +86,6 @@ class AliDigit {}; class AliHit {}; class AliDisplay {}; - class AliPoints {}; class AliMagFC {}; class AliMagFCM {}; class AliMagFMaps {}; diff --git a/Makefile b/Makefile index ca9dd2e4bea..4678064c99f 100644 --- a/Makefile +++ b/Makefile @@ -112,7 +112,7 @@ endif ALIROOTMODULES := STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS \ ACORDE HMPID T0 BCM STRUCT EVGEN RALICE VZERO \ - THijing THbtp EMCAL HBTAN \ + THijing THbtp EMCAL \ THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS \ JETAN HLT LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet \ PWG0 PWG1 PWG2 PWG3 PWG4 diff --git a/PHOS/AliPHOSv0.cxx b/PHOS/AliPHOSv0.cxx index cb21bc66075..ca1ca6d1a82 100644 --- a/PHOS/AliPHOSv0.cxx +++ b/PHOS/AliPHOSv0.cxx @@ -117,237 +117,6 @@ AliPHOSv0::AliPHOSv0(const char *name, const char *title): GetGeometry() ; } -//____________________________________________________________________________ -void AliPHOSv0::BuildGeometry() -{ - // Build the PHOS geometry for the ROOT display - //BEGIN_HTML - /* -

- PHOS in ALICE displayed by root -

-
    -
  • All Views -

    -

    - All Views -

  • -
  • Front View -

    -

    - Front View -

  • -
  • 3D View 1 -

    -

    - 3D View 1 -

  • -
  • 3D View 2 -

    -

    - 3D View 2 -

  • -
- */ - //END_HTML - - this->BuildGeometryforEMC() ; - this->BuildGeometryforCPV() ; - -} - -//____________________________________________________________________________ -void AliPHOSv0:: BuildGeometryforEMC(void) -{ - // Build the PHOS-EMC geometry for the ROOT display - - const Int_t kColorPHOS = kRed ; - const Int_t kColorXTAL = kBlue ; - - Double_t const kRADDEG = 180.0 / TMath::Pi() ; - - AliPHOSGeometry * geom = GetGeometry() ; - AliPHOSEMCAGeometry * emcg = geom->GetEMCAGeometry() ; - Float_t * boxparams = emcg->GetEMCParams() ; - - new TTRD1("OuterBox", "PHOS box", "void",boxparams[0],boxparams[1],boxparams[2], boxparams[3] ); - - - // Crystals Box - - Float_t * cribox = emcg->GetInnerThermoHalfSize() ; - new TBRIK( "CrystalsBox", "PHOS crystals box", "void", cribox[0], cribox[2], cribox[1] ) ; - - // position PHOS into ALICE - - Float_t r = geom->GetIPtoOuterCoverDistance() + boxparams[3] ; - Int_t number = 988 ; - TNode * top = gAlice->GetGeometry()->GetNode("alice") ; - - char * nodename = new char[20] ; - char * rotname = new char[20] ; - - new TRotMatrix("cribox", "cribox", 90, 0, 90, 90, 0, 0); - - for( Int_t i = 1; i <= geom->GetNModules(); i++ ) { - - Float_t angle = geom->GetPHOSAngle(i) ; - sprintf(rotname, "%s%d", "rot", number++) ; - new TRotMatrix(rotname, rotname, 90, angle, 0, 0, 90, 270 + angle); - - top->cd(); - sprintf(nodename,"%s%d", "Module", i) ; - Float_t x = r * TMath::Sin( angle / kRADDEG ) ; - Float_t y = -r * TMath::Cos( angle / kRADDEG ) ; - TNode * outerboxnode = new TNode(nodename, nodename, "OuterBox", x, y, 0, rotname ) ; - outerboxnode->SetLineColor(kColorPHOS) ; - fNodes->Add(outerboxnode) ; - outerboxnode->cd() ; - - Float_t z = -boxparams[3] - geom->GetIPtoOuterCoverDistance() + - cribox[1] + geom->GetIPtoCrystalSurface() ; - TNode * crystalsboxnode = new TNode(nodename, nodename, "CrystalsBox", 0, 0, z) ; - crystalsboxnode->SetLineColor(kColorXTAL) ; - fNodes->Add(crystalsboxnode) ; - } - - delete[] rotname ; - delete[] nodename ; -} - - -//____________________________________________________________________________ -void AliPHOSv0:: BuildGeometryforCPV(void) -{ - // Build the PHOS-CPV geometry for the ROOT display - // Author: Yuri Kharlov 11 September 2000 - // - //BEGIN_HTML - /* -

- CPV displayed by root -

- - - - - - - - - - - - -
CPV perspective viewCPV front view
- - */ - //END_HTML - - const Double_t kRADDEG = 180.0 / TMath::Pi() ; - const Int_t kColorCPV = kGreen ; - const Int_t kColorFrame = kYellow ; - const Int_t kColorGassiplex = kRed; - const Int_t kColorPCB = kCyan; - - AliPHOSGeometry * geom = GetGeometry() ; - - // Box for a full PHOS module - - new TBRIK ("CPVBox", "CPV box", "void", geom->GetCPVBoxSize(0)/2, - geom->GetCPVBoxSize(1)/2, - geom->GetCPVBoxSize(2)/2 ); - new TBRIK ("CPVFrameLR", "CPV frame Left-Right", "void", geom->GetCPVFrameSize(0)/2, - geom->GetCPVFrameSize(1)/2, - geom->GetCPVBoxSize(2)/2 ); - new TBRIK ("CPVFrameUD", "CPV frame Up-Down", "void", geom->GetCPVBoxSize(0)/2 - geom->GetCPVFrameSize(0), - geom->GetCPVFrameSize(1)/2, - geom->GetCPVFrameSize(2)/2); - new TBRIK ("CPVPCB", "CPV PCB", "void", geom->GetCPVActiveSize(0)/2, - geom->GetCPVTextoliteThickness()/2, - geom->GetCPVActiveSize(1)/2); - new TBRIK ("CPVGassiplex", "CPV Gassiplex PCB", "void", geom->GetGassiplexChipSize(0)/2, - geom->GetGassiplexChipSize(1)/2, - geom->GetGassiplexChipSize(2)/2); - - // position CPV into ALICE - - char * nodename = new char[25] ; - char * rotname = new char[25] ; - - Float_t r = geom->GetIPtoCPVDistance() + geom->GetCPVBoxSize(1) / 2.0 ; - Int_t number = 988 ; - TNode * top = gAlice->GetGeometry()->GetNode("alice") ; - - Int_t lastModule = 0 ; - lastModule = geom->GetNModules(); - - for( Int_t i = 1; i <= lastModule; i++ ) { // the number of PHOS modules - - // One CPV module - - Float_t angle = geom->GetPHOSAngle(i) ; - sprintf(rotname, "%s%d", "rotg", number+i) ; - new TRotMatrix(rotname, rotname, 90, angle, 90, 90 + angle, 0, 0); - top->cd(); - sprintf(nodename, "%s%d", "CPVModule", i) ; - Float_t x = r * TMath::Sin( angle / kRADDEG ) ; - Float_t y = -r * TMath::Cos( angle / kRADDEG ) ; - Float_t z; - TNode * cpvBoxNode = new TNode(nodename , nodename ,"CPVBox", x, y, 0, rotname ) ; - cpvBoxNode->SetLineColor(kColorCPV) ; - fNodes->Add(cpvBoxNode) ; - cpvBoxNode->cd() ; - - // inside each CPV box: - - // Frame around CPV - Int_t j; - for (j=0; j<=1; j++) { - sprintf(nodename, "CPVModule%d Frame%d", i, j+1) ; - x = TMath::Sign(1,2*j-1) * (geom->GetCPVBoxSize(0) - geom->GetCPVFrameSize(0)) / 2; - TNode * cpvFrameNode = new TNode(nodename , nodename ,"CPVFrameLR", x, 0, 0) ; - cpvFrameNode->SetLineColor(kColorFrame) ; - fNodes->Add(cpvFrameNode) ; - - sprintf(nodename, "CPVModule%d Frame%d", i, j+3) ; - z = TMath::Sign(1,2*j-1) * (geom->GetCPVBoxSize(2) - geom->GetCPVFrameSize(2)) / 2; - cpvFrameNode = new TNode(nodename , nodename ,"CPVFrameUD", 0, 0, z) ; - cpvFrameNode->SetLineColor(kColorFrame) ; - fNodes->Add(cpvFrameNode) ; - } - - // 4 printed circuit boards - for (j=0; j<4; j++) { - sprintf(nodename, "CPVModule%d PCB%d", i, j+1) ; - y = geom->GetCPVFrameSize(1) / 2 - geom->GetFTPosition(j) + geom->GetCPVTextoliteThickness()/2; - TNode * cpvPCBNode = new TNode(nodename , nodename ,"CPVPCB", 0, y, 0) ; - cpvPCBNode->SetLineColor(kColorPCB) ; - fNodes->Add(cpvPCBNode) ; - } - - // Gassiplex chips - Float_t xStep = geom->GetCPVActiveSize(0) / (geom->GetNumberOfCPVChipsPhi() + 1); - Float_t zStep = geom->GetCPVActiveSize(1) / (geom->GetNumberOfCPVChipsZ() + 1); - y = geom->GetCPVFrameSize(1)/2 - geom->GetFTPosition(0) + - geom->GetCPVTextoliteThickness() / 2 + geom->GetGassiplexChipSize(1) / 2 + 0.1; - for (Int_t ix=0; ixGetNumberOfCPVChipsPhi(); ix++) { - x = xStep * (ix+1) - geom->GetCPVActiveSize(0)/2; - for (Int_t iz=0; izGetNumberOfCPVChipsZ(); iz++) { - z = zStep * (iz+1) - geom->GetCPVActiveSize(1)/2; - sprintf(nodename, "CPVModule%d Chip(%dx%d)", i, ix+1,iz+1) ; - TNode * cpvGassiplexNode = new TNode(nodename , nodename ,"CPVGassiplex", x, y, z) ; - cpvGassiplexNode->SetLineColor(kColorGassiplex) ; - fNodes->Add(cpvGassiplexNode) ; - } - } - - } // PHOS modules - - delete[] rotname ; - delete[] nodename ; -} - //____________________________________________________________________________ void AliPHOSv0::CreateGeometry() { diff --git a/PHOS/AliPHOSv0.h b/PHOS/AliPHOSv0.h index f29d59e941d..d3fe3efc208 100644 --- a/PHOS/AliPHOSv0.h +++ b/PHOS/AliPHOSv0.h @@ -48,10 +48,6 @@ class AliPHOSv0 : public AliPHOS { // useless since there are no hits Fatal("AddHit", "not to be used with v0") ; } - virtual void BuildGeometry(void) ; // creates the geometry for the ROOT display - void BuildGeometryforEMC(void) ; // creates the PHOS geometry for the ROOT display - // void BuildGeometryforPPSD(void) ; // creates the PPSD geometry for the ROOT display - void BuildGeometryforCPV(void) ; // creates the CPV geometry for the ROOT display virtual void CreateGeometry(void) ; // creates the geometry for GEANT void CreateGeometryforEMC(void) ; // creates the PHOS geometry for GEANT // void CreateGeometryforPPSD(void) ; // creates the PPSD geometry for GEANT diff --git a/PHOS/AliPHOSvFast.cxx b/PHOS/AliPHOSvFast.cxx index 53b0c2332e8..f2b0a2b73c9 100644 --- a/PHOS/AliPHOSvFast.cxx +++ b/PHOS/AliPHOSvFast.cxx @@ -119,63 +119,6 @@ void AliPHOSvFast::AddRecParticle(const AliPHOSFastRecParticle & rp) fNRecParticles++ ; } -//____________________________________________________________________________ -void AliPHOSvFast::BuildGeometry() -{ - // Build the PHOS geometry for the ROOT display - //BEGIN_HTML - /* -

- PHOS FAST in ALICE displayed by root -

-

All Views

-

-

- Fast All Views -

-

Front View

-

-

- Fast Front View -

- */ - //END_HTML - - const Int_t kColorPHOS = kRed ; - - Double_t const kRADDEG = 180.0 / TMath::Pi() ; - - new TBRIK( "BigBox", "PHOS box", "void", GetBigBox(0)/2, - GetBigBox(1)/2, - GetBigBox(2)/2 ); - - // position PHOS into ALICE - - Float_t r = GetGeometry()->GetIPtoCrystalSurface() + GetBigBox(1) / 2.0 ; - Int_t number = 988 ; - Float_t pphi = TMath::ATan( GetBigBox(0) / ( 2.0 * GetGeometry()->GetIPtoCrystalSurface() ) ) ; - pphi *= kRADDEG ; - TNode * top = gAlice->GetGeometry()->GetNode("alice") ; - - char * nodename = new char[20] ; - char * rotname = new char[20] ; - - for( Int_t i = 1; i <= GetGeometry()->GetNModules(); i++ ) { - Float_t angle = pphi * 2 * ( i - GetGeometry()->GetNModules() / 2.0 - 0.5 ) ; - sprintf(rotname, "%s%d", "rot", number++) ; - new TRotMatrix(rotname, rotname, 90, angle, 90, 90 + angle, 0, 0); - top->cd(); - sprintf(nodename,"%s%d", "Module", i) ; - Float_t x = r * TMath::Sin( angle / kRADDEG ) ; - Float_t y = -r * TMath::Cos( angle / kRADDEG ) ; - TNode * bigboxnode = new TNode(nodename, nodename, "BigBox", x, y, 0, rotname ) ; - bigboxnode->SetLineColor(kColorPHOS) ; - fNodes->Add(bigboxnode) ; - } - delete[] nodename ; - delete[] rotname ; -} - //____________________________________________________________________________ void AliPHOSvFast::CreateGeometry() { diff --git a/PHOS/AliPHOSvFast.h b/PHOS/AliPHOSvFast.h index e72c1865e1e..b49095c9784 100644 --- a/PHOS/AliPHOSvFast.h +++ b/PHOS/AliPHOSvFast.h @@ -47,7 +47,6 @@ public: virtual ~AliPHOSvFast(void) ; void AddRecParticle(const AliPHOSFastRecParticle & rp) ; // adds primary particle to the RecParticles list - virtual void BuildGeometry(void) ; // creates the geometry for the ROOT display virtual void CreateGeometry(void) ; // creates the geometry for GEANT Float_t GetBigBox(Int_t index) const; virtual void Init(void) ; // does nothing diff --git a/PMD/AliPMD.cxx b/PMD/AliPMD.cxx index c1954da1da9..604e344bc7a 100644 --- a/PMD/AliPMD.cxx +++ b/PMD/AliPMD.cxx @@ -157,27 +157,6 @@ void AliPMD::AddHit(Int_t track, Int_t *vol, Float_t *hits) delete newcell; } -//_____________________________________________________________________________ -void AliPMD::BuildGeometry() -{ - // - // Build simple ROOT TNode geometry for event display - // - - TNode *node, *top; - const int kColorPMD = kRed; - - // - top=gAlice->GetGeometry()->GetNode("alice"); - - // PMD - new TBRIK("S_PMD","PMD box","void",300,300,5); - top->cd(); - node = new TNode("PMD","PMD","S_PMD",0,0,-600,""); - node->SetLineColor(kColorPMD); - fNodes->Add(node); -} - //_____________________________________________________________________________ void AliPMD::SetPAR(Float_t p1, Float_t p2, Float_t p3,Float_t p4) { diff --git a/PMD/AliPMD.h b/PMD/AliPMD.h index 31508f090a9..c22d440463f 100644 --- a/PMD/AliPMD.h +++ b/PMD/AliPMD.h @@ -28,7 +28,6 @@ public: virtual ~AliPMD(); virtual void AddHit(Int_t track, Int_t* vol, Float_t* hits); - virtual void BuildGeometry(); virtual void CreateGeometry() {} virtual void CreateMaterials() {} virtual void Init() {} diff --git a/STEER/AliDetector.cxx b/STEER/AliDetector.cxx index 86120738210..573df6c4028 100644 --- a/STEER/AliDetector.cxx +++ b/STEER/AliDetector.cxx @@ -41,7 +41,6 @@ #include "AliConfig.h" #include "AliDetector.h" #include "AliHit.h" -#include "AliPoints.h" #include "AliLoader.h" #include "AliRun.h" #include "AliMC.h" @@ -61,7 +60,6 @@ AliDetector::AliDetector(): fCurIterHit(0), fHits(0), fDigits(0), - fPoints(0), fLoader(0x0) { // @@ -81,7 +79,6 @@ AliDetector::AliDetector(const char* name,const char *title): fCurIterHit(0), fHits(0), fDigits(0), - fPoints(0), fLoader(0x0) { // @@ -102,12 +99,6 @@ AliDetector::~AliDetector() // Destructor // - // Delete space point structure - if (fPoints) { - fPoints->Delete(); - delete fPoints; - fPoints = 0; - } // Delete digits structure if (fDigits) { fDigits->Delete(); @@ -248,91 +239,6 @@ AliHit* AliDetector::NextHit() } } -//_______________________________________________________________________ -void AliDetector::LoadPoints(Int_t) -{ - // - // Store x, y, z of all hits in memory - // - if (fHits == 0) - { - AliError(Form("fHits == 0. Name is %s",GetName())); - return; - } - // - Int_t nhits = fHits->GetEntriesFast(); - if (nhits == 0) - { -// Error("LoadPoints","nhits == 0. Name is %s",GetName()); - return; - } - Int_t tracks = gAlice->GetMCApp()->GetNtrack(); - if (fPoints == 0) fPoints = new TObjArray(tracks); - AliHit *ahit; - // - Int_t *ntrk=new Int_t[tracks]; - Int_t *limi=new Int_t[tracks]; - Float_t **coor=new Float_t*[tracks]; - for(Int_t i=0;i(fHits->UncheckedAt(hit)); - trk=ahit->GetTrack(); - if(trk>tracks) { - AliError(Form("Found track number %d, max track %d",trk, tracks)); - continue; - } - if(ntrk[trk]==limi[trk]) - { - // - // Initialise a new track - fp=new Float_t[3*(limi[trk]+chunk)]; - if(coor[trk]) - { - memcpy(fp,coor[trk],sizeof(Float_t)*3*limi[trk]); - delete [] coor[trk]; - } - limi[trk]+=chunk; - coor[trk] = fp; - } - else - { - fp = coor[trk]; - } - fp[3*ntrk[trk] ] = ahit->X(); - fp[3*ntrk[trk]+1] = ahit->Y(); - fp[3*ntrk[trk]+2] = ahit->Z(); - ntrk[trk]++; - } - // - for(trk=0; trkSetMarkerColor(3); //PH color=3 was set in AliModule - points->SetMarkerSize(1); //PH size-1 is the default value - points->SetDetector(this); - points->SetParticle(trk); - points->SetPolyMarker(ntrk[trk],coor[trk],1);//PH style=1 is the default value - fPoints->AddAt(points,trk); - delete [] coor[trk]; - coor[trk]=0; - } - } - delete [] coor; - delete [] ntrk; - delete [] limi; -} - //_______________________________________________________________________ void AliDetector::MakeBranch(Option_t *option) { @@ -369,19 +275,6 @@ void AliDetector::ResetHits() if (fHits) fHits->Clear(); } -//_______________________________________________________________________ -void AliDetector::ResetPoints() -{ - // - // Reset array of points - // - if (fPoints) { - fPoints->Delete(); - delete fPoints; - fPoints = 0; - } -} - //_______________________________________________________________________ void AliDetector::SetTreeAddress() { diff --git a/STEER/AliDetector.h b/STEER/AliDetector.h index f5576452e15..fc13a1cf34a 100644 --- a/STEER/AliDetector.h +++ b/STEER/AliDetector.h @@ -33,8 +33,9 @@ public: virtual int GetNhits() const {return fNhits;} TClonesArray *Digits() const {return fDigits;} TClonesArray *Hits() const {return fHits;} + virtual Bool_t IsModule() const {return kFALSE;} + virtual Bool_t IsDetector() const {return kTRUE;} - TObjArray *Points() const {return fPoints;} Int_t GetIshunt() const {return fIshunt;} void SetIshunt(Int_t ishunt) {fIshunt=ishunt;} @@ -42,13 +43,11 @@ public: virtual void Publish(const char *dir, void *c, const char *name=0) const; virtual void Browse(TBrowser *b); virtual void FinishRun(); - virtual void LoadPoints(Int_t track); virtual void MakeBranch(Option_t *opt=" "); virtual void ResetDigits(); virtual void ResetHits(); virtual void AddAlignableVolumes() const; - virtual void ResetPoints(); virtual void SetTreeAddress(); virtual void SetTimeGate(Float_t gate) {fTimeGate=gate;} virtual Float_t GetTimeGate() const {return fTimeGate;} @@ -80,7 +79,6 @@ protected: Int_t fCurIterHit; //!Counter for the hit iterator TClonesArray *fHits; //!List of hits for one track only TClonesArray *fDigits; //!List of digits for this detector - TObjArray *fPoints; //!Array of points for each track (all tracks in memory) AliLoader* fLoader;//! pointer to getter for this module skowron diff --git a/STEER/AliDisplay.cxx b/STEER/AliDisplay.cxx deleted file mode 100644 index f67ffb2ac7e..00000000000 --- a/STEER/AliDisplay.cxx +++ /dev/null @@ -1,991 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -////////////////////////////////////////////////////////////////////////// -// // -// AliDisplay // -// // -// Utility class to display ALICE outline, tracks, hits,.. // -// // -////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -//#include -#if ROOT_VERSION_CODE>= 331523 -#include -#else -#include -#endif -#include - -#include "AliLog.h" -#include "AliDetector.h" -#include "AliDisplay.h" -#include "AliHeader.h" -#include "AliPoints.h" -#include "AliRun.h" -#include "AliStack.h" -#include "TGeometry.h" -#include "TParticle.h" -#include "AliMC.h" - -const Float_t AliDisplay::fgkPtCutMax = 2; -const Float_t AliDisplay::fgkEtaCutMax = 1.5; -const Int_t AliDisplay::fgkMaxZooms = 20; - - -ClassImp(AliDisplay) - - -//_______________________________________________________________________ -AliDisplay::AliDisplay(): - fZoomMode(0), - fDrawAllViews(0), - fDrawParticles(0), - fDrawHits(0), - fPTcut(0), - fTheta(0), - fPhi(0), - fPsi(0), - fRrange(0), - fZrange(0), - fZooms(0), - fHitsCuts(0), - fCanvas(0), - fTrigPad(0), - fCutPad(0), - fEtaPad(0), - fButtons(0), - fPad(0), - fCutSlider(0), - fEtaSlider(0), - fRangeSlider(0), - fPickButton(0), - fZoomButton(0), - fArcButton(0), - fFruits(0), - fTracksToDisplay(0), - fNTracksToDisplay(0) -{ - // - // Default constructor - // -} - -//_____________________________________________________________________________ -AliDisplay::AliDisplay(Int_t size): - fZoomMode(1), - fDrawAllViews(kFALSE), - fDrawParticles(kTRUE), - fDrawHits(kTRUE), - fPTcut(0), - fTheta(0), - fPhi(-90), - fPsi(0), - fRrange(0), - fZrange(0), - fZooms(1), - fHitsCuts(0), - fCanvas(0), - fTrigPad(0), - fCutPad(0), - fEtaPad(0), - fButtons(0), - fPad(0), - fCutSlider(0), - fEtaSlider(0), - fRangeSlider(0), - fPickButton(0), - fZoomButton(0), - fArcButton(0), - fFruits(0), - fTracksToDisplay(0), - fNTracksToDisplay(0) -{ -// Create an event display object. -// A canvas named "edisplay" is created with a vertical size in pixels -// -// A QUICK Overview of the Event Display functions -// =============================================== -// -// The event display can ve invoked by executing the macro "display.C" -// A canvas like in the picture below will appear. -// -// On the left side of the canvas, the following buttons appear: -// *Next* to move to the next event -// *Previous* to move to the previous event -// *Top View* to display a top view of the current event -// *Side View* to display a side view of the current event -// *Front View* to display a front view of the current event -// *All Views* to display front/side/top/30-30 views of the current event -// *OpenGL* to use OpenGl to view the current event. -// Note that OpenGL cannot be used across the network. -// Before using OpenGL, load the GL libraries -// by executing the macro GL.C (in $ROOTSYS/macros/GL.C. -// Once in GL, click the HELP button of the GL canvas. -// *X3D* to use X3D to view the current event (Unix only). -// Once in X3D, type M to see the list of all possible options. -// for example type J to zoom, K to unzoom -// use the mouse to rotate. -// *Pick* Select this option to be able to point on a track with the -// mouse. Once on the track, use the right button to select -// an action. For example, select SetMarkerAttributes to -// change the marker type/color/size for the track. -// *Zoom* Select this option (default) if you want to zoom. -// To zoom, simply select the selected area with the left button. -// *UnZoom* To revert to the previous picture size. -// -// slider R On the left side, the vertical slider can be used to -// set the default picture size. -// slider pcut At the top of the canvas, a slider can be used to change -// the momentum cut (or range) to display tracks. -// slider eta On the right side of the canvas, a vertical slider can be used -// to specify a rapidity range for the tracks. -// -// When you are in Zoom mode, you can click on the black part of the canvas -// to select special options with the right mouse button. -// This will display a pop-up menu with items like: -// *Disable detector* -// *Enable detector*, etc. -// For example select "Disable detector". You get a dialog box. -// Diable detector TRD for example. -// -// When you are in pick mode, you can "Inspect" the object pointed by the mouse. -// When you are on a track, select the menu item "InspectParticle" -// to display the current particle attributes. -// -// You can activate the Root browser by selecting the Inspect menu -// in the canvas tool bar menu. Then select "Start Browser" -// This will open a new canvas with the browser. At this point, you may want -// to display some histograms (from the Trees). Go to the "File" menu -// of the browser and click on "New canvas". -// In the browser, click on item "ROOT files" in the left pane. -// Click on galice.root. -// Click on TH -// Click on TPC for example -// Click on any variable (eg TPC.fX) to histogram the variable. -// -// If you are lost, you can click on HELP in any Root canvas or browser. -//Begin_Html -/* - -*/ -//End_Html - - gAlice->SetDisplay(this); - - // Initialize display default parameters - SetRange(); - SetPTcut(); - - // Create display canvas - Int_t ysize = size; - if (ysize < 100) ysize = 750; - Int_t xsize = Int_t(size*830./ysize); - fCanvas = new TCanvas("Canvas", "ALICE Event Display",14,47,xsize,ysize); - fCanvas->ToggleEventStatus(); - - // Create main display pad - fPad = new TPad("viewpad", "Alice display",0.15,0,0.97,0.96); - fPad->Draw(); - fPad->Modified(); - fPad->SetFillColor(1); - fPad->SetBorderSize(2); - - // Create user interface control pad - DisplayButtons(); - fCanvas->cd(); - - // Create Range and mode pad - Float_t dxtr = 0.15; - Float_t dytr = 0.45; - fTrigPad = new TPad("trigger", "range and mode pad",0,0,dxtr,dytr); - fTrigPad->Draw(); - fTrigPad->cd(); - fTrigPad->SetFillColor(22); - fTrigPad->SetBorderSize(2); - fRangeSlider = new TSlider("range","range",0.7,0.42,0.9,0.98); - fRangeSlider->SetObject(this); - char pickmode[] = "gAlice->Display()->SetPickMode()"; - Float_t db = 0.09; - fPickButton = new TButton("Pick",pickmode,0.05,0.32,0.65,0.32+db); - fPickButton->SetFillColor(38); - fPickButton->Draw(); - char zoommode[] = "gAlice->Display()->SetZoomMode()"; - fZoomButton = new TButton("Zoom",zoommode,0.05,0.21,0.65,0.21+db); - fZoomButton->SetFillColor(38); - fZoomButton->Draw(); - fArcButton = new TArc(.8,fZoomButton->GetYlowNDC()+0.5*db,0.33*db); - fArcButton->SetFillColor(kGreen); - fArcButton->Draw(); - char butUnzoom[] = "gAlice->Display()->UnZoom()"; - TButton *button = new TButton("UnZoom",butUnzoom,0.05,0.05,0.95,0.15); - button->SetFillColor(38); - button->Draw(); - AppendPad(); // append display object as last object to force selection - // Create momentum cut slider pad - fCanvas->cd(); - fCutPad = new TPad("cutSlider", "pcut slider pad",dxtr,.96,1,1); - fCutPad->Draw(); - fCutPad->cd(); - fCutPad->SetFillColor(22); - fCutPad->SetBorderSize(2); - fCutSlider = new TSlider("pcut","Momentum cut",0,0,1,1); - fCutSlider->SetRange(fPTcut/fgkPtCutMax,1); - fCutSlider->SetObject(this); - fCutSlider->SetFillColor(45); - TSliderBox *sbox = dynamic_cast(fCutSlider->GetListOfPrimitives()->First()); - sbox->SetFillColor(46); - fCutSlider->cd(); - TGaxis *cutaxis = new TGaxis(0.02,0.8,0.98,0.8,0,fgkPtCutMax,510,""); - cutaxis->SetLabelSize(0.5); - cutaxis->SetTitleSize(0.6); - cutaxis->SetTitleOffset(0.5); - cutaxis->SetTitle("pcut . "); - fCutSlider->GetListOfPrimitives()->AddFirst(cutaxis); - // Create rapidity cut slider pad - fCanvas->cd(); - fEtaPad = new TPad("EtaSlider", "Eta slider pad",0.97,0,1,0.96); - fEtaPad->Draw(); - fEtaPad->cd(); - fEtaPad->SetFillColor(22); - fEtaPad->SetBorderSize(2); - fEtaSlider = new TSlider("etacut","Rapidity cut",0,0,1,1); - fEtaSlider->SetObject(this); - fEtaSlider->SetFillColor(45); - TSliderBox *sbox2 = dynamic_cast(fEtaSlider->GetListOfPrimitives()->First()); - sbox2->SetFillColor(46); - fEtaSlider->cd(); - TGaxis *etaaxis = new TGaxis(0.9,0.02,0.9,0.98,-fgkEtaCutMax,fgkEtaCutMax,510,""); - etaaxis->SetLabelSize(0.5); - etaaxis->SetTitleSize(0.6); - etaaxis->SetTitleOffset(0.2); - cutaxis->SetTitle("Etacut . "); - fEtaSlider->GetListOfPrimitives()->AddFirst(etaaxis); - fCanvas->cd(); - - fTrigPad->SetEditable(kFALSE); - fButtons->SetEditable(kFALSE); - fTracksToDisplay =0; - fNTracksToDisplay =0; - - fCanvas->cd(); - fCanvas->Update(); -} - - -//_______________________________________________________________________ -AliDisplay::AliDisplay(const AliDisplay &disp): - TObject(disp), - fZoomMode(0), - fDrawAllViews(0), - fDrawParticles(0), - fDrawHits(0), - fPTcut(0), - fTheta(0), - fPhi(0), - fPsi(0), - fRrange(0), - fZrange(0), - fZooms(0), - fHitsCuts(0), - fCanvas(0), - fTrigPad(0), - fCutPad(0), - fEtaPad(0), - fButtons(0), - fPad(0), - fCutSlider(0), - fEtaSlider(0), - fRangeSlider(0), - fPickButton(0), - fZoomButton(0), - fArcButton(0), - fFruits(0), - fTracksToDisplay(0), - fNTracksToDisplay(0) -{ - // - // Copy constructor - // - disp.Copy(*this); -} - -//_____________________________________________________________________________ -AliDisplay::~AliDisplay() -{ - // - // Destructor - // -} - -//_____________________________________________________________________________ -void AliDisplay::Clear(Option_t *) -{ -// Delete graphics temporary objects -} - -//_____________________________________________________________________________ -void AliDisplay::Copy(TObject &) const -{ - // - // Copy *this onto disp -- not implemented - // - AliFatal("Not implemented"); -} - -//---------------------------------------------------------------------------- -void AliDisplay::ShowTrack(Int_t idx) -{ - // - // Display track idx - // - AliDetector *mTPC=dynamic_cast(gAlice->GetModule("TPC")); - TObjArray *points=mTPC->Points(); - int ntracks=points->GetEntriesFast(); - for (int track=0;track(points->UncheckedAt(track)); - if (!pm) continue; - if (idx == pm->GetIndex()) { - pm->SetMarkerColor(2); - pm->SetMarkerStyle(22); - pm->Draw("same"); -// fPad->Update(); -// fPad->Modified(); - // TClonesArray *particles=gAlice->Particles(); - // TParticle *p = (TParticle*)particles->UncheckedAt(idx); - TParticle *p = gAlice->GetMCApp()->Particle(idx); - AliInfo(Form("Track index %d",idx)); - AliInfo(Form("Particle ID %d",p->GetPdgCode())); - AliInfo(Form("Parent %d",p->GetFirstMother())); - AliInfo(Form("First child %d",p->GetFirstDaughter())); - AliInfo(Form("Px,Py,Pz %f %f %f",p->Px(),p->Py(),p->Pz())); - return; - } - } -} - -//---------------------------------------------------------------------------- -void AliDisplay::HideTrack(Int_t idx) const -{ - // - // Hide track on display - // - AliDetector *mTPC=dynamic_cast(gAlice->GetModule("TPC")); - TObjArray *points=mTPC->Points(); - int ntracks=points->GetEntriesFast(); - for (int track=0;track(points->UncheckedAt(track)); - if (!pm) continue; - if (idx == pm->GetIndex()) { - pm->SetMarkerColor(5); - pm->SetMarkerStyle(1); - pm->Draw("same"); -// fPad->Update(); -// fPad->Modified(); - return; - } - } -} - -//_____________________________________________________________________________ -void AliDisplay::DisableDetector(const char *name) -{ -// Disable detector name from graphics views - - AliModule *module = dynamic_cast(gAlice->Modules()->FindObject(name)); - if (!module) return; - module->Disable(); - Draw(); -} - -//_____________________________________________________________________________ -void AliDisplay::DisplayButtons() -{ -// Create the user interface buttons - - fButtons = new TPad("buttons", "newpad",0,0.45,0.15,1); - fButtons->Draw(); - fButtons->SetFillColor(38); - fButtons->SetBorderSize(2); - fButtons->cd(); - - Int_t butcolor = 33; - Float_t dbutton = 0.08; - Float_t y = 0.96; - Float_t dy = 0.014; - Float_t x0 = 0.05; - Float_t x1 = 0.95; - - TButton *button; - char but1[] = "gAlice->Display()->ShowNextEvent(1)"; - button = new TButton("Next",but1,x0,y-dbutton,x1,y); - button->SetFillColor(38); - button->Draw(); - - y -= dbutton +dy; - char but2[] = "gAlice->Display()->ShowNextEvent(-1)"; - button = new TButton("Previous",but2,x0,y-dbutton,x1,y); - button->SetFillColor(38); - button->Draw(); - - y -= dbutton +dy; - char but3[] = "gAlice->Display()->SetView(90,-90,90)"; - button = new TButton("Top View",but3,x0,y-dbutton,x1,y); - button->SetFillColor(butcolor); - button->Draw(); - - y -= dbutton +dy; - char but4[] = "gAlice->Display()->SetView(90,0,-90)"; - button = new TButton("Side View",but4,x0,y-dbutton,x1,y); - button->SetFillColor(butcolor); - button->Draw(); - - y -= dbutton +dy; - char but5[] = "gAlice->Display()->SetView(0,-90,0)"; - button = new TButton("Front View",but5,x0,y-dbutton,x1,y); - button->SetFillColor(butcolor); - button->Draw(); - - y -= dbutton +dy; - char but6[] = "gAlice->Display()->DrawAllViews()"; - button = new TButton("All Views",but6,x0,y-dbutton,x1,y); - button->SetFillColor(butcolor); - button->Draw(); - - y -= dbutton +dy; - char but7[] = "gAlice->Display()->DrawViewGL()"; - button = new TButton("OpenGL",but7,x0,y-dbutton,x1,y); - button->SetFillColor(38); - button->Draw(); - - y -= dbutton +dy; - char but8[] = "gAlice->Display()->DrawViewX3D()"; - button = new TButton("X3D",but8,x0,y-dbutton,x1,y); - button->SetFillColor(38); - button->Draw(); - - // display logo - TDiamond *diamond = new TDiamond(0.05,0.015,0.95,0.22); - diamond->SetFillColor(50); - diamond->SetTextAlign(22); - diamond->SetTextColor(5); - diamond->SetTextSize(0.11); - diamond->Draw(); - diamond->AddText(".. "); - diamond->AddText("ROOT"); - diamond->AddText("ALICE"); - diamond->AddText("... "); - diamond->AddText(" "); -} - -//______________________________________________________________________________ -Int_t AliDisplay::DistancetoPrimitive(Int_t px, Int_t) -{ -// Compute distance from point px,py to objects in event - - gPad->SetCursor(kCross); - - if (gPad == fTrigPad) return 9999; - if (gPad == fCutPad) return 9999; - if (gPad == fEtaPad) return 9999; - - const Int_t kbig = 9999; - Int_t dist = kbig; - Float_t xmin = gPad->GetX1(); - Float_t xmax = gPad->GetX2(); - Float_t dx = 0.02*(xmax - xmin); - Float_t x = gPad->AbsPixeltoX(px); - if (x < xmin+dx || x > xmax-dx) return dist; - - if (fZoomMode) return 0; - else return 7; -} - -//_____________________________________________________________________________ -void AliDisplay::Draw(Option_t *) -{ -// Display current event - - if (fDrawAllViews) { - DrawAllViews(); - return; - } - - fPad->cd(); - - DrawView(fTheta, fPhi, fPsi); - - // Display the event number and title - fPad->cd(); - DrawTitle(); -} - -//_____________________________________________________________________________ -void AliDisplay::DrawAllViews() -{ -// Draw front,top,side and 30 deg views - - fDrawAllViews = kTRUE; - fPad->cd(); - fPad->SetFillColor(15); - fPad->Clear(); - fPad->Divide(2,2); - - // draw 30 deg view - fPad->cd(1); - DrawView(30, 30, 0); - DrawTitle(); - - // draw front view - fPad->cd(2); - DrawView(0, -90,0); - DrawTitle("Front"); - - // draw top view - fPad->cd(3); - DrawView(90, -90, 90); - DrawTitle("Top"); - - // draw side view - fPad->cd(4); - DrawView(90, 0, -90); - DrawTitle("Side"); - - fPad->cd(2); -} - -//_____________________________________________________________________________ -void AliDisplay::DrawHits() -{ -// Draw hits for all ALICE detectors - - Float_t cutmin, cutmax, etamin, etamax, pmom, smin, smax, eta, theta, r; - Float_t *pxyz; - Int_t ntracks,track; - TParticle *particle; - TObjArray *points; - AliPoints *pm; - - //Get cut slider - smax = fCutSlider->GetMaximum(); - smin = fCutSlider->GetMinimum(); - cutmin = fgkPtCutMax*smin; - if (smax < 0.98) cutmax = fgkPtCutMax*smax; - else cutmax = 100000; - - //Get eta slider - smax = fEtaSlider->GetMaximum(); - smin = fEtaSlider->GetMinimum(); - etamin = fgkEtaCutMax*(2*smin-1); - etamax = fgkEtaCutMax*(2*smax-1); - if (smin < 0.02) etamin = -1000; - if (smax > 0.98) etamax = 1000; - - TIter next(gAlice->Modules()); - AliModule *module; - fHitsCuts = 0; - while((module = dynamic_cast(next()))) { - if (!module->IsActive()) continue; - points = module->Points(); - if (!points) continue; - ntracks = points->GetEntriesFast(); - for (track=0;track(points->UncheckedAt(track)); - if (!pm) continue; - particle = pm->GetParticle(); - if (!particle) continue; - pmom = particle->P(); - if (pmom < cutmin) continue; - if (pmom > cutmax) continue; - // as a first approximation, take eta of first point - pxyz = pm->GetP(); - r = TMath::Sqrt(pxyz[0]*pxyz[0] + pxyz[1]*pxyz[1]); - theta = TMath::ATan2(r,TMath::Abs(pxyz[2])); - if(theta) eta = -TMath::Log(TMath::Abs(TMath::Tan(0.5*theta))); else eta = 1e10; - if (pxyz[2] < 0) eta = -eta; - if (eta < etamin || eta > etamax) continue; - pm->Draw(); - fHitsCuts += pm->GetN(); - } - } -} - -//_____________________________________________________________________________ -void AliDisplay::DrawTitle(Option_t *option) -{ -// Draw the event title - - Float_t xmin = gPad->GetX1(); - Float_t xmax = gPad->GetX2(); - Float_t ymin = gPad->GetY1(); - Float_t ymax = gPad->GetY2(); - Float_t dx = xmax-xmin; - Float_t dy = ymax-ymin; - - if (strlen(option) == 0) { - TPaveText *title = new TPaveText(xmin +0.01*dx, ymax-0.09*dy, xmin +0.5*dx, ymax-0.01*dy); - title->SetBit(kCanDelete); - title->SetFillColor(42); - title->Draw(); - char ptitle[100]; - sprintf(ptitle,"Alice event: %d, Run:%d",AliRunLoader::GetRunLoader()->GetHeader()->GetEvent(), AliRunLoader::GetRunLoader()->GetHeader()->GetRun()); - title->AddText(ptitle); - Int_t nparticles = gAlice->GetMCApp()->Particles()->GetEntriesFast(); - sprintf(ptitle,"Nparticles = %d Nhits = %d",nparticles, fHitsCuts); - title->AddText(ptitle); - } else { - TPaveLabel *label = new TPaveLabel(xmin +0.01*dx, ymax-0.07*dy, xmin +0.2*dx, ymax-0.01*dy,option); - label->SetBit(kCanDelete); - label->SetFillColor(42); - label->Draw(); - } -} - -//_____________________________________________________________________________ -void AliDisplay::DrawView(Float_t theta, Float_t phi, Float_t psi) -{ -// Draw a view of ALICE - - gPad->SetCursor(kWatch); - gPad->SetFillColor(1); - gPad->Clear(); - - Int_t iret; -#if ROOT_VERSION_CODE>= 331523 - Double_t rmin[]={-1,-1,-1}; - Double_t rmax[]={ 1, 1, 1}; - TView *view = new TView3D(1,rmin,rmax); -#else - TView *view = new TView(1); -#endif - Float_t range = fRrange*fRangeSlider->GetMaximum(); - view->SetRange(-range,-range,-range,range, range, range); - fZoomX0[0] = -1; - fZoomY0[0] = -1; - fZoomX1[0] = 1; - fZoomY1[0] = 1; - fZooms = 0; - - // Display Alice Geometry - gAlice->GetGeometry()->Draw("same"); - - //Loop on all detectors to add their products to the pad - DrawHits(); - - // add itself to the list (must be last) - AppendPad(); - - view->SetView(phi, theta, psi, iret); -} - -//_____________________________________________________________________________ -void AliDisplay::DrawViewGL() -{ -// Draw current view using OPENGL - - TPad *pad = dynamic_cast(gPad->GetPadSave()); - pad->cd(); - TView *view = pad->GetView(); - if (!view) return; - pad->x3d("OPENGL"); -} - -//_____________________________________________________________________________ -void AliDisplay::DrawViewX3D() -{ -// Draw current view using X3D - - TPad *pad = dynamic_cast(gPad->GetPadSave()); - pad->cd(); - TView *view = pad->GetView(); - if (!view) return; - pad->x3d(); -} - -//_____________________________________________________________________________ -void AliDisplay::EnableDetector(const char *name) -{ -// Enable detector name in graphics views - - AliModule *module = dynamic_cast(gAlice->Modules()->FindObject(name)); - if (!module) return; - module->Enable(); - Draw(); -} - -//______________________________________________________________________________ -void AliDisplay::ExecuteEvent(Int_t event, Int_t px, Int_t py) -{ -// Execute action corresponding to the mouse event - - static Float_t x0, y0, x1, y1; - - static Int_t pxold, pyold; - static Int_t px0, py0; - static Int_t linedrawn; - Float_t temp; - - if (px == 0 && py == 0) { //when called by sliders - if (event == kButton1Up) { - Draw(); - } - return; - } - if (!fZoomMode && gPad->GetView()) { - gPad->GetView()->ExecuteRotateView(event, px, py); - return; - } - - // something to zoom ? -// fPad->SetCursor(kCross); - gPad->SetCursor(kCross); - - switch (event) { - - case kButton1Down: - gVirtualX->SetLineColor(-1); - gPad->TAttLine::Modify(); //Change line attributes only if necessary - x0 = gPad->AbsPixeltoX(px); - y0 = gPad->AbsPixeltoY(py); - px0 = px; py0 = py; - pxold = px; pyold = py; - linedrawn = 0; - return; - - case kButton1Motion: - if (linedrawn) gVirtualX->DrawBox(px0, py0, pxold, pyold, TVirtualX::kHollow); - pxold = px; - pyold = py; - linedrawn = 1; - gVirtualX->DrawBox(px0, py0, pxold, pyold, TVirtualX::kHollow); - return; - - case kButton1Up: - gPad->GetCanvas()->FeedbackMode(kFALSE); - if (px == px0) return; - if (py == py0) return; - x1 = gPad->AbsPixeltoX(px); - y1 = gPad->AbsPixeltoY(py); - - if (x1 < x0) {temp = x0; x0 = x1; x1 = temp;} - if (y1 < y0) {temp = y0; y0 = y1; y1 = temp;} - gPad->Range(x0,y0,x1,y1); - if (fZooms < fgkMaxZooms-1) { - fZooms++; - fZoomX0[fZooms] = x0; - fZoomY0[fZooms] = y0; - fZoomX1[fZooms] = x1; - fZoomY1[fZooms] = y1; - } - gPad->Modified(kTRUE); - return; - } - -} - - -void AliDisplay::SetTracksToDisplay(Int_t *tracks, Int_t n){ - // - // set tracks to display - MI - fTracksToDisplay = tracks; - fNTracksToDisplay = n; -} -//___________________________________________ -void AliDisplay::LoadPoints() -{ -// Read hits info and store x,y,z info in arrays fPoints -// Loop on all detectors - - gAlice->ResetPoints(); - TIter next(gAlice->Modules()); - AliModule *module; - Int_t ntracks = gAlice->GetMCApp()->GetNtrack(); - - while((module = (AliModule*)next())) - { - AliDetector* detector = dynamic_cast(module); - if(detector) detector->SetTreeAddress(); - } - next.Reset(); - - // load only wanted tracks - if (fNTracksToDisplay>0) - { - Int_t nprim = AliRunLoader::GetRunLoader()->Stack()->GetNprimary(); - for (Int_t track=0; trackResetHits(); - Int_t nev = nprim-1-gAlice->GetMCApp()->GetPrimary(fTracksToDisplay[track]); - while((module = (AliModule*)next())) - { - AliDetector* detector = dynamic_cast(module); - if(detector) - { - detector->TreeH()->GetEvent(nev); - module->LoadPoints(nprim-1-gAlice->GetMCApp()->GetPrimary(fTracksToDisplay[track])); - } - } - next.Reset(); - } - } - else - { - - for (Int_t track=0; trackResetHits(); - while((module = (AliModule*)next())) { - AliDetector* detector = dynamic_cast(module); - if(detector) - { - if (detector->TreeH()->GetEvent(track)) - detector->LoadPoints(track); - } - } - next.Reset(); - } - } -} - -//_____________________________________________________________________________ -void AliDisplay::Paint(Option_t *) -{ -// Paint miscellaneous items - -} - -//_____________________________________________________________________________ -void AliDisplay::SetPickMode() -{ - // - // Set Pick Mode -- disable zoom - // - fZoomMode = 0; - - fArcButton->SetY1(fPickButton->GetYlowNDC()+0.5*fPickButton->GetHNDC()); - fTrigPad->Modified(); -} - -//_____________________________________________________________________________ -void AliDisplay::SetZoomMode() -{ - // - // Set Zoom Mode -- disable pick - // - fZoomMode = 1; - - fArcButton->SetY1(fZoomButton->GetYlowNDC()+0.5*fZoomButton->GetHNDC()); - fTrigPad->Modified(); -} - -//_____________________________________________________________________________ -void AliDisplay::SetPTcut(Float_t ptcut) -{ - // - // Set Pt Cut - // - fPTcut = ptcut; - - if (!fPad) return; - fPad->Clear(); - Draw(); -} - -//_____________________________________________________________________________ -void AliDisplay::SetRange(Float_t rrange, Float_t zrange) -{ -// Set view range along R and Z - fRrange = rrange; - fZrange = zrange; - - if (!fPad) return; - fPad->Clear(); - Draw(); -} - -//_____________________________________________________________________________ -void AliDisplay::SetView(Float_t theta, Float_t phi, Float_t psi) -{ -// change viewing angles for current event - - fPad->cd(); - fDrawAllViews = kFALSE; - fPhi = phi; - fTheta = theta; - fPsi = psi; - Int_t iret = 0; - - TView *view = gPad->GetView(); - if (view) view->SetView(fPhi, fTheta, fPsi, iret); - else Draw(); - - gPad->Modified(); -} - -//_____________________________________________________________________________ -void AliDisplay::ShowNextEvent(Int_t delta) -{ -// Display (current event_number+delta) -// delta = 1 shown next event -// delta = -1 show previous event - - if (delta) { -// gAlice->Clear(); - //Int_t currentEvent = AliRunLoader::GetRunLoader()->GetHeader()->GetEvent();//event number is not filled correctly - Int_t currentEvent = AliRunLoader::GetRunLoader()->GetEventNumber(); - Int_t newEvent = currentEvent + delta; - gAlice->GetEvent(newEvent); - AliInfo(Form("delta = %d currentEvent = %d newEvent = %d", - delta, currentEvent, newEvent)); - } - LoadPoints(); - fPad->cd(); - Draw(); -} - -//______________________________________________________________________________ -void AliDisplay::UnZoom() -{ - // - // Resets ZOOM - // - if (fZooms <= 0) return; - fZooms--; - TPad *pad = dynamic_cast(gPad->GetPadSave()); - pad->Range(fZoomX0[fZooms],fZoomY0[fZooms], fZoomX1[fZooms],fZoomY1[fZooms]); - pad->Modified(); -} - -//_____________________________________________________________________________ -AliDisplay & AliDisplay::operator=(const AliDisplay &disp) -{ - // - // Assignment operator - // - disp.Copy(*this); - return (*this); -} diff --git a/STEER/AliDisplay.h b/STEER/AliDisplay.h deleted file mode 100644 index 8b5ce5c9fca..00000000000 --- a/STEER/AliDisplay.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef ALIDISPLAY_H -#define ALIDISPLAY_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -////////////////////////////////////////////////////////////////////////// -// // -// AliDisplay // -// // -// Utility class to display ALice outline, tracks, hits,.. // -// // -////////////////////////////////////////////////////////////////////////// - -#include - -class TCanvas; -class TPad; -class TList; -class TSlider; -class TButton; -class TArc; - -class AliDisplay : public TObject { - -public: - AliDisplay(); - AliDisplay(Int_t size); - AliDisplay(const AliDisplay &disp); - virtual ~AliDisplay(); - virtual Bool_t AllViews() const {return fDrawAllViews;} - virtual void Clear(Option_t *option=""); - TSlider *CutSlider() {return fCutSlider;} - virtual void ShowTrack(Int_t trackNumber); // *MENU* - virtual void HideTrack(Int_t trackNumber) const; // *MENU* - void Copy(TObject &disp) const; - virtual void DisableDetector(const char *name); // *MENU* - virtual void DisplayButtons(); - virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); - virtual void Draw(Option_t *option=""); - virtual void DrawAllViews(); - virtual void DrawHits(); - virtual void DrawTitle(Option_t *option=""); - virtual void DrawView(Float_t theta, Float_t phi, Float_t psi=0); - virtual void DrawViewGL(); - virtual void DrawViewX3D(); - virtual void EnableDetector(const char *name); // *MENU* - TSlider *EtaSlider() {return fEtaSlider;} - virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); - Int_t GetZoomMode() const {return fZoomMode;} - virtual void LoadPoints(); - TPad *Pad() const {return fPad;} - virtual void Paint(Option_t *option=""); - Float_t PTcut() const {return fPTcut;} - virtual void SetDrawHits(Bool_t draw=kTRUE) {fDrawHits=draw;} // *MENU* - virtual void SetDrawParticles(Bool_t draw=kTRUE) {fDrawParticles=draw;} // *MENU* - virtual void SetPTcut(Float_t ptcut=1.5); // *MENU* - virtual void SetRange(Float_t rrange=350, Float_t zrange=350); // *MENU* - virtual void SetView(Float_t theta, Float_t phi, Float_t psi=0); - virtual void SetPickMode(); - virtual void SetZoomMode(); - virtual void ShowNextEvent(Int_t delta=1); - virtual void UnZoom(); // *MENU* - AliDisplay& operator= (const AliDisplay &disp); - - void SetTracksToDisplay(Int_t *tracks, Int_t n); // set tracks to display -protected: - static const Float_t fgkPtCutMax; //Max Pt cut for the slider - static const Float_t fgkEtaCutMax; //Max eta cut for the slider - static const Int_t fgkMaxZooms; //Max number of zooms - Int_t fZoomMode; //=1 if in zoom mode - Bool_t fDrawAllViews; //Flag True if AllViews selected - Bool_t fDrawParticles; //Flag True if particles to be drawn - Bool_t fDrawHits; //Flag True if Hits to be drawn - Float_t fPTcut; //PT cut to display objects - Float_t fTheta; //Viewing angle theta - Float_t fPhi; //Viewing angle phi - Float_t fPsi; //Viewving angle psi (rotation on display) - Float_t fRrange; //Size of view in R - Float_t fZrange; //Size of view along Z - Float_t fZoomX0[20]; //Low x range of zoom number i - Float_t fZoomY0[20]; //Low y range of zoom number i - Float_t fZoomX1[20]; //High x range of zoom number i - Float_t fZoomY1[20]; //High y range of zoom number i - Int_t fZooms; //Number of zooms - Int_t fHitsCuts; //Number of hits surviving cuts - TCanvas *fCanvas; //Pointer to the display canvas - TPad *fTrigPad; //Pointer to the trigger pad - TPad *fCutPad; //Pointer to the momentum cut slider pad - TPad *fEtaPad; //Pointer to the rapidity cut slider pad - TPad *fButtons; //Pointer to the buttons pad - TPad *fPad; //Pointer to the event display main pad - TSlider *fCutSlider; //Momentum cut slider - TSlider *fEtaSlider; //Rapidity slider - TSlider *fRangeSlider; //Range slider - TButton *fPickButton; //Button to activate Pick mode - TButton *fZoomButton; //Button to activate Zoom mode - TArc *fArcButton; //Gren/Red button to show Pick/Zoom mode - TList *fFruits; //List for fruits - - Int_t *fTracksToDisplay; // array of tracks to display - Int_t fNTracksToDisplay; // number of tracks to display - ClassDef(AliDisplay, 0) //Utility class to display ALICE outline, tracks, hits,.. -}; - -#endif diff --git a/STEER/AliGenInfo.C b/STEER/AliGenInfo.C index 358474b50e9..352d517a93a 100644 --- a/STEER/AliGenInfo.C +++ b/STEER/AliGenInfo.C @@ -66,7 +66,6 @@ t->Exec(); #include "AliTracker.h" #include "AliMagF.h" #include "AliHelix.h" -#include "AliPoints.h" #include "AliMathBase.h" #endif diff --git a/STEER/AliGenInfo.h b/STEER/AliGenInfo.h index 86826993502..a26726ac142 100644 --- a/STEER/AliGenInfo.h +++ b/STEER/AliGenInfo.h @@ -256,24 +256,6 @@ public: ClassImp(AliComparisonDraw) -class AliPointsMI: public TObject{ - public: - AliPointsMI(); - AliPointsMI(Int_t n, Float_t *x,Float_t *y, Float_t *z); - void Reset(); - void Reset(AliDetector * det, Int_t particle); //load points for given particle - ~AliPointsMI(); - Int_t fN; //number of points; - Float_t *fX; //[fN] pointer to x - Float_t *fY; //[fN] pointer to y - Float_t *fZ; //[fN] pointer to Z - Int_t fCapacity; //!allocated size of the x,y,x - Int_t fLabel0; //label - Int_t fLabel1; //label - ClassDef(AliPointsMI,1) -}; -ClassImp(AliPointsMI) - AliTPCParam * GetTPCParam(); diff --git a/STEER/AliMC.cxx b/STEER/AliMC.cxx index a4ae640cd5e..0f1af885921 100644 --- a/STEER/AliMC.cxx +++ b/STEER/AliMC.cxx @@ -107,33 +107,6 @@ AliMC::AliMC(const char *name, const char *title) : for(Int_t i=0;i<1000;i++) (*fImedia)[i]=-99; } -//_______________________________________________________________________ -AliMC::AliMC(const AliMC &mc) : - TVirtualMCApplication(mc), - fGenerator(0), - fEventEnergy(0), - fSummEnergy(0), - fSum2Energy(0), - fTrRmax(1.e10), - fTrZmax(1.e10), - fRDecayMax(1.e10), - fRDecayMin(-1.), - fDecayPdg(0), - fImedia(0), - fTransParName("\0"), - fMCQA(0), - fHitLists(0), - fTmpTreeTR(0), - fTmpFileTR(0), - fTrackReferences(), - fTmpTrackReferences() -{ - // - // Copy constructor for AliMC - // - mc.Copy(*this); -} - //_______________________________________________________________________ AliMC::~AliMC() { @@ -145,13 +118,6 @@ AliMC::~AliMC() // Delete track references } -//_______________________________________________________________________ -void AliMC::Copy(TObject &) const -{ - //dummy Copy function - AliFatal("Not implemented!"); -} - //_______________________________________________________________________ void AliMC::ConstructGeometry() { diff --git a/STEER/AliMC.h b/STEER/AliMC.h index 7883a1d0bb4..7d78e7bac56 100644 --- a/STEER/AliMC.h +++ b/STEER/AliMC.h @@ -30,15 +30,8 @@ class AliMC : public TVirtualMCApplication { public: AliMC(); AliMC(const char *name, const char *title); - AliMC(const AliMC &mc); virtual ~AliMC(); - AliMC& operator= (const AliMC &mc) { - // Assignment operator - mc.Copy(*this); - return *this; - } - // // MC Application // @@ -116,10 +109,11 @@ public: virtual void ResetTrackReferences(); virtual void FixParticleDecaytime(); private: + AliMC(const AliMC&); // Not implemented + AliMC& operator= (const AliMC&); // Not implemented void MakeTmpTrackRefsTree(); void ReorderAndExpandTreeTR(); private: - void Copy (TObject &mc) const; void RemapHits(); AliGenerator *fGenerator; // Generator used in the MC TArrayF fEventEnergy; //! Energy deposit for current event diff --git a/STEER/AliModule.cxx b/STEER/AliModule.cxx index 86643ae066a..714454b6183 100644 --- a/STEER/AliModule.cxx +++ b/STEER/AliModule.cxx @@ -33,7 +33,6 @@ // // /////////////////////////////////////////////////////////////////////////////// -#include #include #include #include @@ -61,15 +60,11 @@ Float_t AliModule::fgDensityFactor = 1.0; //_______________________________________________________________________ AliModule::AliModule(): - fEuclidMaterial(""), - fEuclidGeometry(""), fIdtmed(0), fIdmate(0), fLoMedium(0), fHiMedium(0), fActive(0), - fHistograms(0), - fNodes(0), fEnable(1), fMaxIterTrackRef(0), fCurrentIterTrackRef(0), @@ -83,15 +78,11 @@ AliModule::AliModule(): //_______________________________________________________________________ AliModule::AliModule(const char* name,const char *title): TNamed(name,title), - fEuclidMaterial(""), - fEuclidGeometry(""), fIdtmed(new TArrayI(100)), fIdmate(new TArrayI(100)), fLoMedium(65536), fHiMedium(0), fActive(0), - fHistograms(new TList()), - fNodes(new TList()), fEnable(1), fMaxIterTrackRef(0), fCurrentIterTrackRef(0), @@ -134,57 +125,12 @@ AliModule::~AliModule() TObjArray * modules = gAlice->Modules(); if (modules) modules->Remove(this); } - // Delete ROOT geometry - if(fNodes) { - fNodes->Clear(); - delete fNodes; - fNodes = 0; - } - // Delete histograms - if(fHistograms) { - fHistograms->Clear(); - delete fHistograms; - fHistograms = 0; - } + // Delete TArray objects delete fIdtmed; delete fIdmate; -} - -//_______________________________________________________________________ -void AliModule::Disable() -{ - // - // Disable Module on viewer - // - fActive = kFALSE; - TIter next(fNodes); - TNode *node; - // - // Loop through geometry to disable all - // nodes for this Module - while((node = dynamic_cast(next()))) { - node->SetVisibility(-1); - } -} - -//_______________________________________________________________________ -void AliModule::Enable() -{ - // - // Enable Module on the viewver - // - fActive = kTRUE; - TIter next(fNodes); - TNode *node; - // - // Loop through geometry to enable all - // nodes for this Module - while((node = dynamic_cast(next()))) { - node->SetVisibility(3); - } -} +} //_______________________________________________________________________ void AliModule::AliMaterial(Int_t imat, const char* name, Float_t a, @@ -366,290 +312,6 @@ Float_t AliModule::ZMax() const return 500; } -//_______________________________________________________________________ -void AliModule::SetEuclidFile(char* material, char* geometry) -{ - // - // Sets the name of the Euclid file - // - fEuclidMaterial=material; - if(geometry) { - fEuclidGeometry=geometry; - } else { - char* name = new char[strlen(material)]; - strcpy(name,material); - strcpy(&name[strlen(name)-4],".euc"); - fEuclidGeometry=name; - delete [] name; - } -} - -//_______________________________________________________________________ -void AliModule::ReadEuclid(const char* filnam, char* topvol) -{ - // - // read in the geometry of the detector in euclid file format - // - // id_det : the detector identification (2=its,...) - // topvol : return parameter describing the name of the top - // volume of geometry. - // - // author : m. maire - // - // 28.07.98 - // several changes have been made by miroslav helbich - // subroutine is rewrited to follow the new established way of memory - // booking for tracking medias and rotation matrices. - // all used tracking media have to be defined first, for this you can use - // subroutine greutmed. - // top volume is searched as only volume not positioned into another - // - - Int_t i, nvol, iret, itmed, irot, numed, npar, ndiv, iaxe; - Int_t ndvmx, nr, flag; - char key[5], card[77], natmed[21]; - char name[5], mother[5], shape[5], konly[5], volst[7000][5]; - char *filtmp; - Float_t par[100]; - Float_t teta1, phi1, teta2, phi2, teta3, phi3, orig, step; - Float_t xo, yo, zo; - const Int_t kMaxRot=5000; - Int_t idrot[kMaxRot],istop[7000]; - FILE *lun; - // - // *** The input filnam name will be with extension '.euc' - filtmp=gSystem->ExpandPathName(filnam); - lun=fopen(filtmp,"r"); - delete [] filtmp; - if(!lun) { - AliError(Form("Could not open file %s",filnam)); - return; - } - //* --- definition of rotation matrix 0 --- - TArrayI &idtmed = *fIdtmed; - for(i=1; i=100 ) { - AliError(Form("TMED illegal medium number %d for %s",itmed,natmed)); - exit(1); - } - //Pad the string with blanks - i=-1; - while(natmed[++i]) ; - while(i<20) natmed[i++]=' '; - natmed[i]='\0'; - // - if( idtmed[itmed]<=0 ) { - AliError(Form("TMED undefined medium number %d for %s",itmed,natmed)); - exit(1); - } - gMC->Gckmat(idtmed[itmed],natmed); - //* - } else if (!strcmp(key,"ROTM")) { - sscanf(&card[4],"%d %f %f %f %f %f %f",&irot,&teta1,&phi1,&teta2,&phi2,&teta3,&phi3); - if( irot<=0 || irot>=kMaxRot ) { - AliError(Form("ROTM rotation matrix number %d illegal",irot)); - exit(1); - } - AliMatrix(idrot[irot],teta1,phi1,teta2,phi2,teta3,phi3); - //* - } else if (!strcmp(key,"VOLU")) { - sscanf(&card[5],"'%[^']' '%[^']' %d %d", name, shape, &numed, &npar); - if (npar>0) { - for(i=0;iGsvolu( name, shape, idtmed[numed], par, npar); - //* save the defined volumes - strcpy(volst[++nvol],name); - istop[nvol]=1; - //* - } else if (!strcmp(key,"DIVN")) { - sscanf(&card[5],"'%[^']' '%[^']' %d %d", name, mother, &ndiv, &iaxe); - gMC->Gsdvn ( name, mother, ndiv, iaxe ); - //* - } else if (!strcmp(key,"DVN2")) { - sscanf(&card[5],"'%[^']' '%[^']' %d %d %f %d",name, mother, &ndiv, &iaxe, &orig, &numed); - gMC->Gsdvn2( name, mother, ndiv, iaxe, orig,idtmed[numed]); - //* - } else if (!strcmp(key,"DIVT")) { - sscanf(&card[5],"'%[^']' '%[^']' %f %d %d %d", name, mother, &step, &iaxe, &numed, &ndvmx); - gMC->Gsdvt ( name, mother, step, iaxe, idtmed[numed], ndvmx); - //* - } else if (!strcmp(key,"DVT2")) { - sscanf(&card[5],"'%[^']' '%[^']' %f %d %f %d %d", name, mother, &step, &iaxe, &orig, &numed, &ndvmx); - gMC->Gsdvt2 ( name, mother, step, iaxe, orig, idtmed[numed], ndvmx ); - //* - } else if (!strcmp(key,"POSI")) { - sscanf(&card[5],"'%[^']' %d '%[^']' %f %f %f %d '%[^']'", name, &nr, mother, &xo, &yo, &zo, &irot, konly); - if( irot<0 || irot>=kMaxRot ) { - Error("ReadEuclid","POSI %s#%d rotation matrix number %d illegal\n",name,nr,irot); - exit(1); - } - if( idrot[irot] == -99) { - Error("ReadEuclid","POSI %s#%d undefined matrix number %d\n",name,nr,irot); - exit(1); - } - //*** volume name cannot be the top volume - for(i=1;i<=nvol;i++) { - if (!strcmp(volst[i],name)) istop[i]=0; - } - //* - gMC->Gspos ( name, nr, mother, xo, yo, zo, idrot[irot], konly ); - //* - } else if (!strcmp(key,"POSP")) { - sscanf(&card[5],"'%[^']' %d '%[^']' %f %f %f %d '%[^']' %d", name, &nr, mother, &xo, &yo, &zo, &irot, konly, &npar); - if( irot<0 || irot>=kMaxRot ) { - Error("ReadEuclid","POSP %s#%d rotation matrix number %d illegal\n",name,nr,irot); - exit(1); - } - if( idrot[irot] == -99) { - Error("ReadEuclid","POSP %s#%d undefined matrix number %d\n",name,nr,irot); - exit(1); - } - if (npar > 0) { - for(i=0;iGsposp ( name, nr, mother, xo,yo,zo, idrot[irot], konly, par, npar); - } - //* - if (strcmp(key,"END")) goto L10; - //* find top volume in the geometry - flag=0; - for(i=1;i<=nvol;i++) { - if (istop[i] && flag) { - AliWarning(Form(" %s is another possible top volume",volst[i])); - } - if (istop[i] && !flag) { - strcpy(topvol,volst[i]); - AliDebug(2, Form("volume %s taken as a top volume",topvol)); - flag=1; - } - } - if (!flag) { - AliWarning("top volume not found"); - } - fclose (lun); - //* - //* commented out only for the not cernlib version - AliDebug(1, Form("file: %s is now read in",filnam)); - // - return; - //* - L20: - AliError("reading error or premature end of file"); -} - -//_______________________________________________________________________ -void AliModule::ReadEuclidMedia(const char* filnam) -{ - // - // read in the materials and tracking media for the detector - // in euclid file format - // - // filnam: name of the input file - // id_det: id_det is the detector identification (2=its,...) - // - // author : miroslav helbich - // - Float_t sxmgmx = gAlice->Field()->Max(); - Int_t isxfld = gAlice->Field()->Integ(); - Int_t end, i, iret, itmed; - char key[5], card[130], natmed[21], namate[21]; - Float_t ubuf[50]; - char* filtmp; - FILE *lun; - Int_t imate; - Int_t nwbuf, isvol, ifield, nmat; - Float_t a, z, dens, radl, absl, fieldm, tmaxfd, stemax, deemax, epsil, stmin; - // - end=strlen(filnam); - for(i=0;iExpandPathName(filnam); - lun=fopen(filtmp,"r"); - delete [] filtmp; - if(!lun) { - AliWarning(Form("Could not open file %s",filnam)); - return; - } - // - // Retrieve Mag Field parameters - Int_t globField=gAlice->Field()->Integ(); - Float_t globMaxField=gAlice->Field()->Max(); - // TArrayI &idtmed = *fIdtmed; - // - L10: - for(i=0;i<130;i++) card[i]=0; - iret=fscanf(lun,"%4s %[^\n]",key,card); - if(iret<=0) goto L20; - fscanf(lun,"%*c"); - //* - //* read material - if (!strcmp(key,"MATE")) { - sscanf(card,"%d '%[^']' %f %f %f %f %f %d",&imate,namate,&a,&z,&dens,&radl,&absl,&nwbuf); - if (nwbuf>0) for(i=0;i0) for(i=0;i -*/ -//End_Html -// // -// // -/////////////////////////////////////////////////////////////////////////////// - -#include "TPad.h" -#include "TParticle.h" -#include "TView.h" - -#include "AliDetector.h" -#include "AliMC.h" -#include "AliPoints.h" -#include "AliRun.h" - -ClassImp(AliPoints) - -//_______________________________________________________________________ -AliPoints::AliPoints(): - fDetector(0), - fIndex(0) -{ - // - // Default constructor - // -} - -//_______________________________________________________________________ -AliPoints::AliPoints(const AliPoints &pts): - TPolyMarker3D(pts), - fDetector(0), - fIndex(0) -{ - // - // Copy constructor - // - pts.Copy(*this); -} - -//_______________________________________________________________________ -AliPoints::AliPoints(Int_t nhits): - TPolyMarker3D(nhits), - fDetector(0), - fIndex(0) -{ - // - // Standard constructor - // - ResetBit(kCanDelete); -} - -//_______________________________________________________________________ -AliPoints::~AliPoints() -{ - // - // Default destructor - // -} - -//_______________________________________________________________________ -void AliPoints::Copy(TObject &pts) const -{ - // - // Copy *this onto pts - // - if((TObject*)this != &pts) { - ((TPolyMarker3D*)this)->Copy(dynamic_cast(pts)); - (dynamic_cast(pts)).fGLList = fGLList; - (dynamic_cast(pts)).fLastPoint = fLastPoint; - (dynamic_cast(pts)).fDetector = fDetector; - (dynamic_cast(pts)).fIndex = fIndex; - } -} - -//_______________________________________________________________________ -Int_t AliPoints::DistancetoPrimitive(Int_t px, Int_t py) -{ - // - //*-*-*-*-*-*-*Compute distance from point px,py to a 3-D polymarker*-*-*-*-* - //*-* ===================================================== - //*-* - //*-* Compute the closest distance of approach from point - //*-* px,py to each segment - //*-* of the polyline. - //*-* Returns when the distance found is below DistanceMaximum. - //*-* The distance is computed in pixels units. - //*-* - //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - - //const Int_t inaxis = 7; - //Int_t dist = 9999; - return TPolyMarker3D::DistancetoPrimitive(px,py); -} - -//_______________________________________________________________________ -void AliPoints::DumpParticle() const -{ - // - // Dump particle corresponding to this point - // - TParticle *particle = GetParticle(); - if (particle) particle->Dump(); -} - -//_______________________________________________________________________ -void AliPoints::ExecuteEvent(Int_t event, Int_t px, Int_t py) -{ - // - //*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*-*-*-*-* - //*-* ========================================= - //*-* - //*-* This member function must be implemented to realize the action - //*-* corresponding to the mouse click on the object in the window - //*-* - //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* - - gPad->SetCursor(kCross); - - if (gPad->GetView()) - gPad->GetView()->ExecuteRotateView(event, px, py); - -} - -//_______________________________________________________________________ -const Text_t *AliPoints::GetName() const -{ - // - // Return name of the Geant3 particle corresponding to this point - // - TParticle *particle = GetParticle(); - if (!particle) return "Particle"; - return particle->GetName(); -} - -//_______________________________________________________________________ -Text_t *AliPoints::GetObjectInfo(Int_t, Int_t) const -{ - // - // Redefines TObject::GetObjectInfo. - // Displays the info (particle,etc - // corresponding to cursor position px,py - // - static char info[64]; - sprintf(info,"%s %d",GetName(),fIndex); - return info; -} - -//_______________________________________________________________________ -TParticle *AliPoints::GetParticle() const -{ - // - // Returns pointer to particle index in AliRun::fParticles - // - if (fIndex < 0 || fIndex >= gAlice->GetMCApp()->GetNtrack()) return 0; - else return gAlice->GetMCApp()->Particle(fIndex); -} - -//_______________________________________________________________________ -void AliPoints::InspectParticle() const -{ - // - // Inspect particle corresponding to this point - // - TParticle *particle = GetParticle(); - if (particle) particle->Inspect(); -} - -//_______________________________________________________________________ -void AliPoints::Propagate() -{ - // - // Set attributes of all detectors to be the attributes of this point - // - Int_t ntracks,track; - TObjArray *points; - AliPoints *pm; - // - TIter next(gAlice->Detectors()); - AliDetector *detector; - while((detector = (AliDetector*)(next()))) { - if (!detector->IsActive()) continue; - points = detector->Points(); - if (!points) continue; - ntracks = points->GetEntriesFast(); - for (track=0;track(points->UncheckedAt(track)); - if (!pm) continue; - if (fIndex == pm->GetIndex()) { - pm->SetMarkerColor(GetMarkerColor()); - pm->SetMarkerSize(GetMarkerSize()); - pm->SetMarkerStyle(GetMarkerStyle()); - } - } - } -} diff --git a/STEER/AliPoints.h b/STEER/AliPoints.h deleted file mode 100644 index 90a15d5785e..00000000000 --- a/STEER/AliPoints.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef ALIPOINTS_H -#define ALIPOINTS_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -// This class contains the points -// that are used for the ALICE -// event display - -#include "TPolyMarker3D.h" -class AliDetector; -class TParticle; - -class AliPoints : public TPolyMarker3D { -public: - AliPoints(); - AliPoints(const AliPoints& pts); - AliPoints(Int_t nhits); - virtual ~AliPoints(); - virtual Int_t DistancetoPrimitive(Int_t px, Int_t py); - virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py); - AliDetector *GetDetector() const {return fDetector;} - Int_t GetIndex() const {return fIndex;} - TParticle *GetParticle() const; - virtual const Text_t *GetName() const; - virtual void InspectParticle() const; // *MENU* - virtual void DumpParticle() const; // *MENU* - virtual Text_t *GetObjectInfo(Int_t px, Int_t py) const; - AliPoints & operator=(const AliPoints &pts) - {pts.Copy(*this); return (*this);} - virtual void Propagate(); // *MENU* - virtual void SetDetector(AliDetector *det) {fDetector = det;} - virtual void SetParticle(Int_t index) {fIndex = index;} - -protected: - void Copy(TObject &pts) const; - - AliDetector *fDetector; //Pointer to AliDetector object - Int_t fIndex; //Particle number in AliRun::fParticles - - ClassDef(AliPoints,1) //Class to draw detector hits (is PolyMarker3D) -}; -#endif diff --git a/STEER/AliRun.cxx b/STEER/AliRun.cxx index 8df27844f55..1dbaecdbf3d 100644 --- a/STEER/AliRun.cxx +++ b/STEER/AliRun.cxx @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include @@ -53,7 +52,6 @@ // #include "AliLog.h" #include "AliDetector.h" -#include "AliDisplay.h" #include "AliHeader.h" #include "AliLego.h" #include "AliLegoGenerator.h" @@ -78,9 +76,7 @@ AliRun::AliRun(): fEventNrInRun(0), fEventsPerRun(0), fModules(0), - fGeometry(0), fMCApp(0), - fDisplay(0), fField(0), fNdets(0), fInitDone(kFALSE), @@ -103,37 +99,6 @@ AliRun::AliRun(): } -//_______________________________________________________________________ -AliRun::AliRun(const AliRun& arun): - TNamed(arun), - fRun(-1), - fEvent(0), - fEventNrInRun(0), - fEventsPerRun(0), - fModules(0), - fGeometry(0), - fMCApp(0), - fDisplay(0), - fField(0), - fNdets(0), - fInitDone(kFALSE), - fLego(0), - fPDGDB(0), //Particle factory object - fConfigFunction("\0"), - fRandom(0), - fBaseFileName(""), - fIsRootGeometry(kFALSE), - fGeometryFromCDB(kFALSE), - fGeometryFileName(""), - fTriggerDescriptor(""), - fRunLoader(0x0) -{ - // - // Copy constructor for AliRun - // - arun.Copy(*this); -} - //_____________________________________________________________________________ AliRun::AliRun(const char *name, const char *title): TNamed(name,title), @@ -142,9 +107,7 @@ AliRun::AliRun(const char *name, const char *title): fEventNrInRun(0), fEventsPerRun(0), fModules(new TObjArray(77)), // Support list for the Detectors - fGeometry(0), fMCApp(0), - fDisplay(0), fField(0), fNdets(0), fInitDone(kFALSE), @@ -211,8 +174,6 @@ AliRun::~AliRun() delete fField; delete fMCApp; delete gMC; gMC=0; - delete fGeometry; - delete fDisplay; delete fLego; if (fModules) { fModules->Delete(); @@ -222,45 +183,6 @@ AliRun::~AliRun() delete fPDGDB; } -//_______________________________________________________________________ -void AliRun::Copy(TObject &) const -{ - AliFatal("Not implemented!"); -} - -//_______________________________________________________________________ -void AliRun::Build() -{ - // - // Initialize Alice geometry - // Dummy routine - // -} - -//_______________________________________________________________________ -void AliRun::BuildSimpleGeometry() -{ - // - // Create a simple TNode geometry used by Root display engine - // - // Initialise geometry - // - fGeometry = new TGeometry("AliceGeom","Galice Geometry for Hits"); - new TMaterial("void","Vacuum",0,0,0); //Everything is void - TBRIK *brik = new TBRIK("S_alice","alice volume","void",2000,2000,3000); - brik->SetVisibility(0); - new TNode("alice","alice","S_alice"); -} - -//_______________________________________________________________________ -void AliRun::CleanDetectors() -{ - // - // Clean Detectors at the end of event - // - fRunLoader->CleanDetectors(); -} - //_______________________________________________________________________ void AliRun::ResetHits() { @@ -365,7 +287,7 @@ void AliRun::FinishRun() if(fLego) { AliDebug(1, "Finish Lego"); - fRunLoader->CdGAFile(); + AliRunLoader::GetRunLoader()->CdGAFile(); fLego->FinishRun(); } @@ -377,16 +299,16 @@ void AliRun::FinishRun() detector->FinishRun(); } - AliDebug(1, "fRunLoader->WriteHeader(OVERWRITE)"); - fRunLoader->WriteHeader("OVERWRITE"); + AliDebug(1, "AliRunLoader::GetRunLoader()->WriteHeader(OVERWRITE)"); + AliRunLoader::GetRunLoader()->WriteHeader("OVERWRITE"); // Write AliRun info and all detectors parameters - fRunLoader->CdGAFile(); + AliRunLoader::GetRunLoader()->CdGAFile(); Write(0,TObject::kOverwrite);//write AliRun - fRunLoader->Write(0,TObject::kOverwrite);//write RunLoader itself + AliRunLoader::GetRunLoader()->Write(0,TObject::kOverwrite);//write RunLoader itself if(fMCApp) fMCApp->FinishRun(); - fRunLoader->Synchronize(); + AliRunLoader::GetRunLoader()->Synchronize(); } //_______________________________________________________________________ @@ -465,7 +387,7 @@ Int_t AliRun::GetEvent(Int_t event) /**** R E L O A D ****/ /*****************************************/ - fRunLoader->GetEvent(event); + AliRunLoader::GetRunLoader()->GetEvent(event); /*****************************************/ /**** P O S T R E L O A D I N G ****/ @@ -479,37 +401,7 @@ Int_t AliRun::GetEvent(Int_t event) detector->SetTreeAddress(); } - return fRunLoader->GetHeader()->GetNtrack(); -} - -//_______________________________________________________________________ -TGeometry *AliRun::GetGeometry() -{ - - // Create the TNode geometry for the event display - if (!fGeometry) { - BuildSimpleGeometry(); - // - // Unlink and relink nodes in detectors - // This is bad and there must be a better way... - // - - TIter next(fModules); - AliModule *detector; - while((detector = dynamic_cast(next()))) { - detector->BuildGeometry(); - TList *dnodes=detector->Nodes(); - Int_t j; - TNode *node, *node1; - for ( j=0; jGetSize(); j++) { - node = dynamic_cast(dnodes->At(j)); - node1 = fGeometry->GetNode(node->GetName()); - dnodes->Remove(node); - dnodes->AddAt(node1,j); - } - } - } - return fGeometry; + return AliRunLoader::GetRunLoader()->GetHeader()->GetNtrack(); } //_______________________________________________________________________ @@ -547,19 +439,6 @@ void AliRun::ResetSDigits() //_______________________________________________________________________ -void AliRun::ResetPoints() -{ - // - // Reset all Detectors points - // - TIter next(fModules); - AliModule *detector; - while((detector = dynamic_cast(next()))) { - detector->ResetPoints(); - } -} -//_______________________________________________________________________ - void AliRun::InitMC(const char *setup) { // @@ -584,43 +463,25 @@ void AliRun::InitMC(const char *setup) AliWarning("Run number not initialized!!"); } - fRunLoader->CdGAFile(); + AliRunLoader::GetRunLoader()->CdGAFile(); - AliPDG::AddParticlesToPdgDataBase(); + AliPDG::AddParticlesToPdgDataBase(); - fNdets = fModules->GetLast()+1; - TIter next(fModules); - for(Int_t i=0; i(fModules->At(i)); - objlast = gDirectory->GetList()->Last(); - - // Add Detector histograms in Detector list of histograms - if (objlast) objfirst = gDirectory->GetList()->After(objlast); - else objfirst = gDirectory->GetList()->First(); - while (objfirst) - { - detector->Histograms()->Add(objfirst); - objfirst = gDirectory->GetList()->After(objfirst); - } - } - fMCApp->Init(); //Must be here because some MCs (G4) adds detectors here and not in Config.C InitLoaders(); - fRunLoader->MakeTree("E"); + AliRunLoader::GetRunLoader()->MakeTree("E"); if (fLego == 0x0) { - fRunLoader->LoadKinematics("RECREATE"); - fRunLoader->LoadTrackRefs("RECREATE"); - fRunLoader->LoadHits("all","RECREATE"); + AliRunLoader::GetRunLoader()->LoadKinematics("RECREATE"); + AliRunLoader::GetRunLoader()->LoadTrackRefs("RECREATE"); + AliRunLoader::GetRunLoader()->LoadHits("all","RECREATE"); } fInitDone = kTRUE; // // Save stuff at the beginning of the file to avoid file corruption - fRunLoader->CdGAFile(); + AliRunLoader::GetRunLoader()->CdGAFile(); Write(); fEventNrInRun = -1; //important - we start Begin event from increasing current number in run } @@ -649,24 +510,6 @@ void AliRun::RunMC(Int_t nevent, const char *setup) if(nevent>0) FinishRun(); } -//_______________________________________________________________________ -void AliRun::RunReco(const char *selected, Int_t first, Int_t last) -{ - // - // Main function to be called to reconstruct Alice event - // - Int_t nev = fRunLoader->GetNumberOfEvents(); - AliDebug(1, Form("Found %d events", nev)); - Int_t nFirst = first; - Int_t nLast = (last < 0)? nev : last; - - for (Int_t nevent = nFirst; nevent <= nLast; nevent++) { - AliDebug(1, Form("Processing event %d", nevent)); - GetEvent(nevent); - Digits2Reco(selected); - } -} - //_______________________________________________________________________ void AliRun::Hits2Digits(const char *selected) @@ -674,7 +517,7 @@ void AliRun::Hits2Digits(const char *selected) // Convert Hits to sumable digits // - for (Int_t nevent=0; neventTreeE()->GetEntries(); nevent++) { + for (Int_t nevent=0; neventTreeE()->GetEntries(); nevent++) { GetEvent(nevent); Hits2SDigits(selected); SDigits2Digits(selected); @@ -900,8 +743,10 @@ void AliRun::Streamer(TBuffer &R__b) void AliRun::SetGenEventHeader(AliGenEventHeader* header) { - fRunLoader->GetHeader()->SetGenEventHeader(header); + AliRunLoader::GetRunLoader()->GetHeader()->SetGenEventHeader(header); } + + //_______________________________________________________________________ Int_t AliRun::GetEvNumber() const diff --git a/STEER/AliRun.h b/STEER/AliRun.h index 3b285631435..074d90ae340 100644 --- a/STEER/AliRun.h +++ b/STEER/AliRun.h @@ -11,16 +11,11 @@ // Containing pointers to data elements for AliRoot // -#include #include -class TGeometry; -class TParticle; class TRandom; -class TTree; #include "AliRunLoader.h" -class AliDisplay; class AliGenEventHeader; class AliGenerator; class AliHeader; @@ -37,17 +32,10 @@ public: // Creators - distructors AliRun(); AliRun(const char *name, const char *title); - AliRun(const AliRun &arun); virtual ~AliRun(); - AliRun& operator = (const AliRun &arun) - {arun.Copy(*this); return (*this);} - virtual void Build(); - virtual void BuildSimpleGeometry(); - virtual void CleanDetectors(); TObjArray *Detectors() const {return fModules;} TObjArray *Modules() const {return fModules;} - AliDisplay *Display() const { return fDisplay;} virtual AliMagF *Field() const {return fField;} virtual void FinishRun(); void AddModule(AliModule* mod); @@ -67,7 +55,6 @@ public: virtual void SetConfigFunction(const char * config="Config();"); virtual const char *GetConfigFunction() const {return fConfigFunction.Data();} - TGeometry *GetGeometry(); virtual void SetGenEventHeader(AliGenEventHeader* header); AliMC* GetMCApp() const {return fMCApp;} virtual void Hits2Digits(const char *detector=0); @@ -91,16 +78,12 @@ public: void SetTriggerDescriptor(const char *name) {fTriggerDescriptor = name;} virtual void ResetDigits(); virtual void ResetSDigits(); - virtual void ResetPoints(); virtual void SetBaseFile(const char *filename="galice.root"); virtual void RunMC(Int_t nevent=1, const char *setup="Config.C"); - virtual void Run(Int_t nevent=1, const char *setup="Config.C") {RunMC(nevent,setup);} virtual void RunLego(const char *setup="Config.C",Int_t nc1=60,Float_t c1min=2,Float_t c1max=178, Int_t nc2=60,Float_t c2min=0,Float_t c2max=360,Float_t rmin=0, Float_t rmax=430,Float_t zmax=10000, AliLegoGenerator* gener=NULL, Int_t nev = -1); virtual Bool_t IsLegoRun() const {return (fLego!=0);} - virtual void RunReco(const char *detector=0, Int_t first = 0, Int_t last = 0); - virtual void SetDisplay(AliDisplay *display) {fDisplay = display;} virtual void SetField(Int_t type=2, Int_t version=1, Float_t scale=1, Float_t maxField=10, const char* filename="$(ALICE_ROOT)/data/field01.dat"); virtual void SetField(AliMagF* magField); virtual TDatabasePDG* PDGDB() const {return fPDGDB;} @@ -122,12 +105,6 @@ public: virtual void Announce() const; virtual void InitLoaders(); //prepares run (i.e. creates getters) - static void Deprecated(TObject *obj, const char *method, const char *replace) - {// Indicates deprecated method - if (obj) ::Warning(Form("%s::%s", obj->ClassName(), method), - "method is depricated\nPlease use: %s", replace); - else ::Warning(method, "method is depricated\nPlease use: %s", replace); - } protected: void SetRunNumber(Int_t run) {fRun=run;} @@ -137,9 +114,7 @@ protected: Int_t fEventNrInRun; //! Current unique event number in run Int_t fEventsPerRun; // Number of events per run TObjArray *fModules; // List of Detectors - TGeometry *fGeometry; // Pointer to geometry AliMC *fMCApp; // Pointer to virtual MC Application - AliDisplay *fDisplay; //! Pointer to event display AliMagF *fField; // Magnetic Field Map Int_t fNdets; // Number of detectors Bool_t fInitDone; //! True when initialisation done @@ -154,9 +129,10 @@ protected: TString fTriggerDescriptor; // Trigger descriptor identifier AliRunLoader *fRunLoader; //!run getter - written as a separate object private: - void Copy(TObject &arun) const; + AliRun(const AliRun&); // Not implemented + AliRun& operator = (const AliRun&); // Not implemented - ClassDef(AliRun,11) //Supervisor class for all Alice detectors + ClassDef(AliRun,12) //Supervisor class for all Alice detectors }; R__EXTERN AliRun *gAlice; diff --git a/STEER/AliRunLoader.cxx b/STEER/AliRunLoader.cxx index d1b1260f346..d3f34eeb763 100644 --- a/STEER/AliRunLoader.cxx +++ b/STEER/AliRunLoader.cxx @@ -893,21 +893,6 @@ AliRun* AliRunLoader::GetAliRun() const } /**************************************************************************/ -Int_t AliRunLoader::WriteGeometry(Option_t* /*opt*/) -{ -//writes geometry to the file - fGAFile->cd(); - TGeometry* geo = GetAliRun()->GetGeometry(); - if (geo == 0x0) - { - AliError("Can not get geometry from gAlice"); - return 1; - } - geo->Write(); - return 0; -} -/**************************************************************************/ - Int_t AliRunLoader::WriteHeader(Option_t* opt) { //writes treeE diff --git a/STEER/AliRunLoader.h b/STEER/AliRunLoader.h index 23f4ebf3a0d..f1cf1ac0bc8 100644 --- a/STEER/AliRunLoader.h +++ b/STEER/AliRunLoader.h @@ -103,7 +103,6 @@ class AliRunLoader: public TNamed AliRun* GetAliRun()const; - Int_t WriteGeometry(Option_t* opt=""); Int_t WriteHeader(Option_t* opt=""); Int_t WriteTrigger(Option_t* opt=""); Int_t WriteAliRun(Option_t* opt=""); diff --git a/STEER/AliSimulation.cxx b/STEER/AliSimulation.cxx index 339616ca4bd..f7bfe70428e 100644 --- a/STEER/AliSimulation.cxx +++ b/STEER/AliSimulation.cxx @@ -166,7 +166,6 @@ AliSimulation::AliSimulation(const char* configFileName, fDeleteIntermediateFiles(kFALSE), fWriteSelRawData(kFALSE), fStopOnError(kFALSE), - fNEvents(1), fConfigFileName(configFileName), fGAliceFileName("galice.root"), @@ -201,76 +200,6 @@ AliSimulation::AliSimulation(const char* configFileName, fQASteer->SetTasks(fQATasks) ; } -//_____________________________________________________________________________ -AliSimulation::AliSimulation(const AliSimulation& sim) : - TNamed(sim), - - fRunGeneration(sim.fRunGeneration), - fRunSimulation(sim.fRunSimulation), - fLoadAlignFromCDB(sim.fLoadAlignFromCDB), - fLoadAlObjsListOfDets(sim.fLoadAlObjsListOfDets), - fMakeSDigits(sim.fMakeSDigits), - fMakeDigits(sim.fMakeDigits), - fMakeTrigger(sim.fMakeTrigger), - fMakeDigitsFromHits(sim.fMakeDigitsFromHits), - fWriteRawData(sim.fWriteRawData), - fRawDataFileName(""), - fDeleteIntermediateFiles(kFALSE), - fWriteSelRawData(kFALSE), - fStopOnError(sim.fStopOnError), - - fNEvents(sim.fNEvents), - fConfigFileName(sim.fConfigFileName), - fGAliceFileName(sim.fGAliceFileName), - fEventsPerFile(), - fBkgrdFileNames(NULL), - fAlignObjArray(NULL), - fUseBkgrdVertex(sim.fUseBkgrdVertex), - fRegionOfInterest(sim.fRegionOfInterest), - fCDBUri(sim.fCDBUri), - fSpecCDBUri(), - fRun(-1), - fSeed(0), - fInitCDBCalled(sim.fInitCDBCalled), - fInitRunNumberCalled(sim.fInitRunNumberCalled), - fSetRunNumberFromDataCalled(sim.fSetRunNumberFromDataCalled), - fEmbeddingFlag(sim.fEmbeddingFlag), - fQADetectors(sim.fQADetectors), - fQATasks(sim.fQATasks), - fQASteer(sim.fQASteer), - fRunQA(sim.fRunQA), - fRunHLT(sim.fRunHLT), - fWriteGRPEntry(sim.fWriteGRPEntry) -{ -// copy constructor - - for (Int_t i = 0; i < sim.fEventsPerFile.GetEntriesFast(); i++) { - if (!sim.fEventsPerFile[i]) continue; - fEventsPerFile.Add(sim.fEventsPerFile[i]->Clone()); - } - - fBkgrdFileNames = new TObjArray; - for (Int_t i = 0; i < sim.fBkgrdFileNames->GetEntriesFast(); i++) { - if (!sim.fBkgrdFileNames->At(i)) continue; - fBkgrdFileNames->Add(sim.fBkgrdFileNames->At(i)->Clone()); - } - - for (Int_t i = 0; i < sim.fSpecCDBUri.GetEntriesFast(); i++) { - if (sim.fSpecCDBUri[i]) fSpecCDBUri.Add(sim.fSpecCDBUri[i]->Clone()); - } - fgInstance = this; -} - -//_____________________________________________________________________________ -AliSimulation& AliSimulation::operator = (const AliSimulation& sim) -{ -// assignment operator - - this->~AliSimulation(); - new(this) AliSimulation(sim); - return *this; -} - //_____________________________________________________________________________ AliSimulation::~AliSimulation() { @@ -944,7 +873,7 @@ Bool_t AliSimulation::RunSimulation(Int_t nEvents) AliInfo("running gAlice"); AliSysInfo::AddStamp("Start_simulation"); StdoutToAliInfo(StderrToAliError( - gAlice->Run(nEvents); + gAlice->RunMC(nEvents); );); AliSysInfo::AddStamp("Stop_simulation"); delete runLoader; diff --git a/STEER/AliSimulation.h b/STEER/AliSimulation.h index 44cc7f26cd6..b92a3089fd0 100644 --- a/STEER/AliSimulation.h +++ b/STEER/AliSimulation.h @@ -27,8 +27,6 @@ public: AliSimulation(const char* configFileName = "Config.C", const char* name = "AliSimulation", const char* title = "generation, simulation and digitization"); - AliSimulation(const AliSimulation& sim); - AliSimulation& operator = (const AliSimulation& sim); virtual ~AliSimulation(); static AliSimulation *GetInstance() {return fgInstance;} @@ -114,6 +112,10 @@ public: void WriteGRPEntry(); private: + + AliSimulation(const AliSimulation&); // Not implemented + AliSimulation& operator = (const AliSimulation&); // Not implemented + void InitCDB(); void InitRunNumber(); void SetCDBLock(); @@ -163,7 +165,7 @@ private: static const char * fgkDetectorName[fgkNDetectors] ; // names of detectors TString fQADetectors ; // list of detectors to be QA'ed TString fQATasks ; // list of QA tasks to be performed - AliQADataMakerSteer * fQASteer ; // steering object to run QA + AliQADataMakerSteer * fQASteer ; // steering object to run QA Bool_t fRunQA ; // Runs the QA at the end of simulation //HLT diff --git a/STEER/CMake_libSTEER.txt b/STEER/CMake_libSTEER.txt index 214d448d5d1..e3e6106c191 100644 --- a/STEER/CMake_libSTEER.txt +++ b/STEER/CMake_libSTEER.txt @@ -4,8 +4,8 @@ set(SRCS AliRunLoader.cxx AliLoader.cxx AliDataLoader.cxx AliObjectLoader.cxx AliBaseLoader.cxx AliTreeLoader.cxx AliTaskLoader.cxx AliDetector.cxx -AliDigit.cxx AliHit.cxx AliPoints.cxx -AliDisplay.cxx AliRun.cxx AliGenerator.cxx AliVertexGenerator.cxx +AliDigit.cxx AliHit.cxx +AliRun.cxx AliGenerator.cxx AliVertexGenerator.cxx AliLego.cxx AliModule.cxx AliDigitNew.cxx AliGeometry.cxx AliRecPoint.cxx AliHitMap.cxx AliMagFC.cxx AliMagFCM.cxx diff --git a/STEER/CMake_libSTEER.txt.ori b/STEER/CMake_libSTEER.txt.ori deleted file mode 100644 index 615d9afba5d..00000000000 --- a/STEER/CMake_libSTEER.txt.ori +++ /dev/null @@ -1,121 +0,0 @@ -# -*- mode: cmake -*- - -set(SRCS -AliRunLoader.cxx -AliLoader.cxx -AliDataLoader.cxx -AliObjectLoader.cxx -AliBaseLoader.cxx -AliTreeLoader.cxx -AliTaskLoader.cxx -AliDetector.cxx -AliDigit.cxx -AliHit.cxx -AliPoints.cxx -AliDisplay.cxx -AliRun.cxx -AliGenerator.cxx -AliVertexGenerator.cxx -AliLego.cxx -AliModule.cxx -AliDigitNew.cxx -AliGeometry.cxx -AliRecPoint.cxx -AliSegmentation.cxx -AliHitMap.cxx -AliMagFC.cxx -AliMagFCM.cxx -AliMagFDM.cxx -AliLegoGenerator.cxx -AliLegoGeneratorXYZ.cxx -AliLegoGeneratorPhiZ.cxx -AliLegoGeneratorEta.cxx -AliLegoGeneratorEtaR.cxx -AliRndm.cxx -AliMCQA.cxx -AliDebugVolume.cxx -AliConfig.cxx -AliRunDigitizer.cxx -AliDigitizer.cxx -AliStream.cxx -AliMergeCombi.cxx -AliMagFMaps.cxx -AliFieldMap.cxx -AliMagFCheb.cxx -AliCheb3D.cxx -AliCheb3DCalc.cxx -AliGausCorr.cxx -AliTrackMap.cxx -AliTrackMapper.cxx -AliMemoryWatcher.cxx -AliVertexer.cxx -AliV0vertexer.cxx -AliCascadeVertexer.cxx -AliMC.cxx -AliSimulation.cxx -AliReconstruction.cxx -AliVertexGenFile.cxx -AliReconstructor.cxx -AliGeomManager.cxx -AliAlignObj.cxx -AliAlignObjParams.cxx -AliAlignObjMatrix.cxx -AliTriggerInput.cxx -AliTriggerDetector.cxx -AliTriggerConfiguration.cxx -AliTriggerBCMask.cxx -AliTriggerInteraction.cxx -AliTriggerDescriptor.cxx -AliTriggerClass.cxx -AliTriggerCluster.cxx -AliTriggerPFProtection.cxx -AliCentralTrigger.cxx -AliRieman.cxx -AliTrackFitter.cxx -AliTrackFitterRieman.cxx -AliTrackFitterKalman.cxx -AliTrackFitterStraight.cxx -AliTrackResiduals.cxx -AliTrackResidualsChi2.cxx -AliTrackResidualsFast.cxx -AliTrackResidualsLinear.cxx -AliAlignmentTracks.cxx -AliRelAlignerKalman.cxx -AliExpression.cxx -AliCTPRawStream.cxx -AliMathBase.cxx -AliSignalProcesor.cxx -AliTracker.cxx -AliCluster.cxx -AliCluster3D.cxx -AliHelix.cxx -AliV0.cxx -AliKink.cxx -AliSelectorRL.cxx -AliMagFMapsV1.cxx -AliMagWrapCheb.cxx -AliSurveyObj.cxx -AliSurveyPoint.cxx -AliFstream.cxx -AliCTPRawData.cxx -AliQADataMaker.cxx -AliGlobalQADataMaker.cxx -AliQADataMakerSim.cxx -AliQADataMakerRec.cxx -AliQADataMakerSteer.cxx -AliQAChecker.cxx -AliQACheckerBase.cxx -AliMillepede.cxx -AliRecoParam.cxx -AliDetectorRecoParam.cxx -AliPlaneEff.cxx -AliTriggerRunScalers.cxx -AliGRPPreprocessor.cxx -AliEventInfo.cxx -) - -# fill list of header files from list of source files -# by exchanging the file extension -String(REPLACE ".cxx" ".h" HDRS "${SRCS}") - -AddLibrary(STEER "${SRCS}" "${HDRS}" "${HDRS}") diff --git a/STEER/STEERLinkDef.h b/STEER/STEERLinkDef.h index a45c6f64730..650ba977f3c 100644 --- a/STEER/STEERLinkDef.h +++ b/STEER/STEERLinkDef.h @@ -21,8 +21,6 @@ #pragma link C++ class AliDetector+; #pragma link C++ class AliDigit+; #pragma link C++ class AliHit+; -#pragma link C++ class AliDisplay+; -#pragma link C++ class AliPoints+; #pragma link C++ class AliMagFC+; #pragma link C++ class AliMagFCM+; #pragma link C++ class AliMagFMaps-; diff --git a/STEER/libSTEER.pkg b/STEER/libSTEER.pkg index 1b0816e8a17..2375fac1643 100644 --- a/STEER/libSTEER.pkg +++ b/STEER/libSTEER.pkg @@ -3,8 +3,8 @@ SRCS = AliRunLoader.cxx AliLoader.cxx AliDataLoader.cxx \ AliObjectLoader.cxx AliBaseLoader.cxx AliTreeLoader.cxx AliTaskLoader.cxx \ AliDetector.cxx \ -AliDigit.cxx AliHit.cxx AliPoints.cxx \ -AliDisplay.cxx AliRun.cxx AliGenerator.cxx AliVertexGenerator.cxx \ +AliDigit.cxx AliHit.cxx \ +AliRun.cxx AliGenerator.cxx AliVertexGenerator.cxx \ AliLego.cxx AliModule.cxx AliDigitNew.cxx \ AliGeometry.cxx AliRecPoint.cxx \ AliHitMap.cxx AliMagFC.cxx AliMagFCM.cxx \ diff --git a/STRUCT/AliFRAMEv0.cxx b/STRUCT/AliFRAMEv0.cxx deleted file mode 100644 index ca472e5e3e1..00000000000 --- a/STRUCT/AliFRAMEv0.cxx +++ /dev/null @@ -1,142 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//------------------------------------------------------------------------- -// Space frame class -// Reads the geometry from an Euclid file -// Author: A.Morsch -//------------------------------------------------------------------------- - -#include "AliFRAMEv0.h" -#include "AliRun.h" -#include "TSystem.h" -#include - -ClassImp(AliFRAMEv0) - -//_____________________________________________________________________________ -AliFRAMEv0::AliFRAMEv0() -{ -// Constructor -} - -//_____________________________________________________________________________ -AliFRAMEv0::AliFRAMEv0(const char *name, const char *title) - : AliFRAME(name,title) -{ -// Constructor - printf("Create FRAMEv0 object\n"); - fEuclidGeometry="$(ALICE_ROOT)/Euclid/frame1099h.euc"; - fEuclidMaterial="$(ALICE_ROOT)/Euclid/frame.tme"; -} - - -//___________________________________________ -void AliFRAMEv0::CreateGeometry() -{ -//Begin_Html -/* - -*/ -//End_Html - - -//Begin_Html -/* - -*/ -//End_Html - - char *filetmp; - char topvol[5]; - -// -// The Space frame - filetmp = gSystem->ExpandPathName(fEuclidGeometry.Data()); - FILE *file = fopen(filetmp,"r"); - delete [] filetmp; - if(file) { - fclose(file); - printf(" Reading FRAME geometry\n"); - ReadEuclid(fEuclidGeometry.Data(),topvol); - } else { - Warning("CreateGeometry","The Euclid file %s does not exist!\n", - fEuclidGeometry.Data()); - exit(1); - } -// -// --- Place the FRAME ghost volume (B010) in its mother volume (ALIC) -// and make it invisible -// -// AliMatrix(idrotm[2001],90.,0.,90.,90.,180.,0.); - - gMC->Gspos(topvol,1,"ALIC",0,0,0,0,"ONLY"); - - gMC->Gsatt(topvol, "SEEN", 0); -} - - -//___________________________________________ -void AliFRAMEv0::CreateMaterials() -{ -// Create Geant materials -// - char *filetmp; - printf("Create FRAMEv0 materials\n"); - filetmp = gSystem->ExpandPathName(fEuclidMaterial.Data()); - FILE *file = fopen(filetmp,"r"); - delete [] filetmp; - if(file) { - fclose(file); - ReadEuclidMedia(fEuclidMaterial.Data()); - } else { - Warning("CreateMaterials","The material file %s does not exist!\n", - fEuclidMaterial.Data()); - exit(1); - } -} - -//_____________________________________________________________________________ -void AliFRAMEv0::Init() -{ - // - // Initialise the module after the geometry has been defined - // - - printf("**************************************" - " FRAME " - "**************************************\n"); - printf("\n Version 0 of FRAME initialised, " - "with openings for PHOS and HMPID\n\n"); - printf("**************************************" - " FRAME " - "**************************************\n"); - -} - - - - - - - - - - - - - diff --git a/STRUCT/AliFRAMEv0.h b/STRUCT/AliFRAMEv0.h deleted file mode 100644 index b0a7dc18a65..00000000000 --- a/STRUCT/AliFRAMEv0.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef ALIFRAMEV0_H -#define ALIFRAMEV0_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////// -// Manager and class for detector: FRAME version 0 // -///////////////////////////////////////////////////////// - -#include "AliFRAME.h" - -class AliFRAMEv0 : public AliFRAME { - -public: - AliFRAMEv0(); - AliFRAMEv0(const char *name, const char *title); - virtual ~AliFRAMEv0() {} - virtual void CreateGeometry(); - virtual void CreateMaterials(); - virtual void Init(); - virtual Int_t IsVersion() const {return 0;} - - ClassDef(AliFRAMEv0,1) //Class for FRAME version 0 -}; - -#endif diff --git a/STRUCT/AliFRAMEv1.cxx b/STRUCT/AliFRAMEv1.cxx deleted file mode 100644 index 0b43aaf0fd4..00000000000 --- a/STRUCT/AliFRAMEv1.cxx +++ /dev/null @@ -1,127 +0,0 @@ -/************************************************************************** - * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * * - * Author: The ALICE Off-line Project. * - * Contributors are mentioned in the code where appropriate. * - * * - * Permission to use, copy, modify and distribute this software and its * - * documentation strictly for non-commercial purposes is hereby granted * - * without fee, provided that the above copyright notice appears in all * - * copies and that both the copyright notice and this permission notice * - * appear in the supporting documentation. The authors make no claims * - * about the suitability of this software for any purpose. It is * - * provided "as is" without express or implied warranty. * - **************************************************************************/ - -/* $Id$ */ - -//------------------------------------------------------------------------- -// AliFRAMEv1.cxx -// symmetric space frame without holes -// Author: -//------------------------------------------------------------------------- - -#include -#include - -#include "AliFRAMEv1.h" -#include "AliRun.h" - -ClassImp(AliFRAMEv1) - -//_____________________________________________________________________________ -AliFRAMEv1::AliFRAMEv1() -{ -// Constructor -} - -//_____________________________________________________________________________ -AliFRAMEv1::AliFRAMEv1(const char *name, const char *title) - : AliFRAME(name,title) -{ -// Constructor - AliDebugClass(1,"Create FRAMEv1 object"); - fEuclidGeometry="$(ALICE_ROOT)/Euclid/frame1099i.euc"; - fEuclidMaterial="$(ALICE_ROOT)/Euclid/frame.tme"; -} - - -//___________________________________________ -void AliFRAMEv1::CreateGeometry() -{ -//Begin_Html -/* - -*/ -//End_Html - - -//Begin_Html -/* - -*/ -//End_Html - - char *filetmp; - char topvol[5]; - -// -// The Space frame - filetmp = gSystem->ExpandPathName(fEuclidGeometry.Data()); - FILE *file = fopen(filetmp,"r"); - delete [] filetmp; - if(file) { - fclose(file); - AliDebugClass(1,"Reading FRAME geometry"); - ReadEuclid(fEuclidGeometry.Data(),topvol); - } else - Fatal("CreateGeometry","The Euclid file %s does not exist!\n", - fEuclidGeometry.Data()); -// -// --- Place the FRAME ghost volume (B010) in its mother volume (ALIC) -// and make it invisible -// -// AliMatrix(idrotm[2001],90.,0.,90.,90.,180.,0.); - - gMC->Gspos(topvol,1,"ALIC",0,0,0,0,"ONLY"); - - gMC->Gsatt(topvol, "SEEN", 0); -} - - -//___________________________________________ -void AliFRAMEv1::CreateMaterials() -{ -// Create materials and media (from Euclid file) - char *filetmp; - AliDebugClass(1,"Create FRAMEv1 materials\n"); - filetmp = gSystem->ExpandPathName(fEuclidMaterial.Data()); - FILE *file = fopen(filetmp,"r"); - delete [] filetmp; - if(file) { - fclose(file); - ReadEuclidMedia(fEuclidMaterial.Data()); - } else { - Warning("CreateMaterials","The material file %s does not exist!\n", - fEuclidMaterial.Data()); - exit(1); - } -} - -//_____________________________________________________________________________ -void AliFRAMEv1::Init() -{ - // - // Initialise the module after the geometry has been defined - // - - if(AliLog::GetGlobalDebugLevel()>0) { - printf("%s: **************************************" - " FRAME " - "**************************************\n",ClassName()); - printf("\n%s: Version 1 of FRAME initialised, symmetric FRAME\n\n",ClassName()); - printf("%s: **************************************" - " FRAME " - "**************************************\n",ClassName()); - } -} diff --git a/STRUCT/AliFRAMEv1.h b/STRUCT/AliFRAMEv1.h deleted file mode 100644 index 84addbc986c..00000000000 --- a/STRUCT/AliFRAMEv1.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef ALIFRAMEV1_H -#define ALIFRAMEV1_H -/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * - * See cxx source for full Copyright notice */ - -/* $Id$ */ - -///////////////////////////////////////////////////////// -// Manager and class for detector: FRAME version 0 // -///////////////////////////////////////////////////////// - -#include "AliFRAME.h" - -class AliFRAMEv1 : public AliFRAME { - -public: - AliFRAMEv1(); - AliFRAMEv1(const char *name, const char *title); - virtual ~AliFRAMEv1() {} - virtual void CreateGeometry(); - virtual void CreateMaterials(); - virtual void Init(); - virtual Int_t IsVersion() const {return 1;} - - ClassDef(AliFRAMEv1,1) //Class for FRAME version 0 -}; - -#endif diff --git a/STRUCT/CMake_libSTRUCT.txt b/STRUCT/CMake_libSTRUCT.txt index ebc15ece372..a5454b90fb5 100644 --- a/STRUCT/CMake_libSTRUCT.txt +++ b/STRUCT/CMake_libSTRUCT.txt @@ -3,7 +3,7 @@ set(SRCS AliMAG.cxx AliABSO.cxx AliABSOv0.cxx AliDIPO.cxx AliDIPOv2.cxx AliDIPOv3.cxx - AliFRAME.cxx AliFRAMEv0.cxx AliFRAMEv1.cxx AliFRAMEv2.cxx + AliFRAME.cxx AliFRAMEv2.cxx AliHALL.cxx AliHALLv3.cxx AliSHIL.cxx AliSHILv0.cxx AliABSOv3.cxx AliPIPE.cxx AliPIPEv0.cxx AliPIPEv3.cxx diff --git a/STRUCT/STRUCTLinkDef.h b/STRUCT/STRUCTLinkDef.h index 01e20506d36..4d7e0e4690d 100644 --- a/STRUCT/STRUCTLinkDef.h +++ b/STRUCT/STRUCTLinkDef.h @@ -17,8 +17,6 @@ #pragma link C++ class AliDIPOv2+; #pragma link C++ class AliDIPOv3+; #pragma link C++ class AliFRAME+; -#pragma link C++ class AliFRAMEv0+; -#pragma link C++ class AliFRAMEv1+; #pragma link C++ class AliFRAMEv2+; #pragma link C++ class AliHALL+; #pragma link C++ class AliHALLv3+; diff --git a/STRUCT/libSTRUCT.pkg b/STRUCT/libSTRUCT.pkg index 9387854a41d..85006dfdf84 100644 --- a/STRUCT/libSTRUCT.pkg +++ b/STRUCT/libSTRUCT.pkg @@ -2,7 +2,7 @@ SRCS= AliMAG.cxx AliABSO.cxx AliABSOv0.cxx \ AliDIPO.cxx AliDIPOv2.cxx AliDIPOv3.cxx \ - AliFRAME.cxx AliFRAMEv0.cxx AliFRAMEv1.cxx AliFRAMEv2.cxx \ + AliFRAME.cxx AliFRAMEv2.cxx \ AliHALL.cxx AliHALLv3.cxx \ AliSHIL.cxx AliSHILv0.cxx AliABSOv3.cxx\ AliPIPE.cxx AliPIPEv0.cxx AliPIPEv3.cxx \ diff --git a/T0/AliT0.cxx b/T0/AliT0.cxx index fdb413bb90f..2788580cc66 100644 --- a/T0/AliT0.cxx +++ b/T0/AliT0.cxx @@ -158,44 +158,6 @@ void AliT0::AddDigit(Int_t besttimeright, Int_t besttimeleft, Int_t meantime, fDigits->SetRefPoint(refpoint); } - -//_____________________________________________________________________________ -void AliT0::BuildGeometry() -{ - // - // Build simple ROOT TNode geometry for event display - // - TNode *node, *top; - const int kColorT0 = 19; - - top=gAlice->GetGeometry()->GetNode("alice"); - - // T0 define the different volumes - new TRotMatrix("rotx999","rot999", 90,0,90,90,180,0); - - new TTUBE("S_0ST1","T0 volume 1","void",5.,10.7,5.3); - top->cd(); - node = new TNode("0ST1","0ST01","S_0ST1",0,0,-69.7,""); - node->SetLineColor(kColorT0); - fNodes->Add(node); - - new TTUBE("S_0ST2","T0 volume 2","void",5.,10.7,5.3); - top->cd(); - node = new TNode("0ST2","0ST2","S_0ST2",0,0,350,"rotx999"); - node->SetLineColor(kColorT0); - fNodes->Add(node); -} - -//_____________________________________________________________________________ -Int_t AliT0::DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/) -{ - // - // Calculate the distance from the mouse to the T0 on the screen - // Dummy routine - // - return 9999; -} - //------------------------------------------------------------------------- void AliT0::Init() { diff --git a/T0/AliT0.h b/T0/AliT0.h index b058b4ed96b..b5908ab1f02 100644 --- a/T0/AliT0.h +++ b/T0/AliT0.h @@ -36,10 +36,8 @@ public: virtual void AddDigit(Int_t besttimeright, Int_t besttimeleft, Int_t meantime, Int_t timediff, Int_t sumMult, Int_t refpoint, TArrayI *time, TArrayI *adc, TArrayI *timeAmp, TArrayI *adcAmp); - virtual void BuildGeometry(); virtual void CreateGeometry(){} virtual void CreateMaterials(){} - virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual void DrawDetector(){} virtual Int_t IsVersion()const {return 0;} virtual void Init(); diff --git a/TOF/AliTOF.cxx b/TOF/AliTOF.cxx index 13328232b54..cf618099aeb 100644 --- a/TOF/AliTOF.cxx +++ b/TOF/AliTOF.cxx @@ -447,15 +447,6 @@ void AliTOF::DrawModule() const gMC->Gdopt("hide","off"); } -//_____________________________________________________________________________ -Int_t AliTOF::DistancetoPrimitive(Int_t , Int_t ) -{ - // - // Returns distance from mouse pointer to detector, default version - // - return 9999; -} - //___________________________________________ void AliTOF::ResetHits () { diff --git a/TOF/AliTOF.h b/TOF/AliTOF.h index af3d26fd030..7beea7e293f 100644 --- a/TOF/AliTOF.h +++ b/TOF/AliTOF.h @@ -53,7 +53,6 @@ public: virtual void Makehits(Bool_t hits=1); virtual void FinishEvent(); virtual Int_t IsVersion() const =0; - Int_t DistancetoPrimitive(Int_t px, Int_t py); virtual void StepManager()=0; virtual void TOFpc(Float_t /*xtof*/, Float_t /*ytof*/, Float_t /*zlenC*/, Float_t /*zlenB*/, Float_t /*zlenA*/, Float_t /*ztof0*/){}; diff --git a/TOF/AliTOFv0.cxx b/TOF/AliTOFv0.cxx index 05aef4b265c..5e1f5418fa4 100644 --- a/TOF/AliTOFv0.cxx +++ b/TOF/AliTOFv0.cxx @@ -91,94 +91,6 @@ AliTOFv0::AliTOFv0(const char *name, const char *title) } -//____________________________________________________________________________ - -void AliTOFv0::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fZtof - fZlenC*0.5; - Float_t zOffsetB = fZtof - fZlenC - fZlenB*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[7], nodeName1[7], nodeName2[7]; - char nodeName3[7], nodeName4[7], rotMatNum[7]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // end loop on nodeNum -} - - - //_____________________________________________________________________________ void AliTOFv0::CreateGeometry() { diff --git a/TOF/AliTOFv0.h b/TOF/AliTOFv0.h index b1650a7c8e7..2e088e3cc82 100644 --- a/TOF/AliTOFv0.h +++ b/TOF/AliTOFv0.h @@ -21,7 +21,6 @@ public: AliTOFv0(); AliTOFv0(const char *name, const char *title); virtual ~AliTOFv0() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv1.cxx b/TOF/AliTOFv1.cxx index bce79d94a05..693b53a3d55 100644 --- a/TOF/AliTOFv1.cxx +++ b/TOF/AliTOFv1.cxx @@ -89,98 +89,6 @@ AliTOFv1::AliTOFv1(const char *name, const char *title) Error("Ctor","FRAME version 1 needed with this version of TOF\n"); exit(1); } - - - -} - -//____________________________________________________________________________ - -void AliTOFv1::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fZtof - fZlenC*0.5; - Float_t zOffsetB = fZtof - fZlenC - fZlenB*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[7], nodeName1[7], nodeName2[7]; - char nodeName3[7], nodeName4[7], rotMatNum[7]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - if (nodeNum<7 || nodeNum>11) { - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Modules A which are not to be installed for PHOS holes. - } // end loop on nodeNum - } //_____________________________________________________________________________ diff --git a/TOF/AliTOFv1.h b/TOF/AliTOFv1.h index 5f65832fdcf..bb5c4b54501 100644 --- a/TOF/AliTOFv1.h +++ b/TOF/AliTOFv1.h @@ -21,7 +21,6 @@ public: AliTOFv1(); AliTOFv1(const char *name, const char *title); virtual ~AliTOFv1() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv2.cxx b/TOF/AliTOFv2.cxx index 362603bd838..20b2ad7c153 100644 --- a/TOF/AliTOFv2.cxx +++ b/TOF/AliTOFv2.cxx @@ -92,98 +92,6 @@ AliTOFv2::AliTOFv2(const char *name, const char *title) } -//____________________________________________________________________________ - -void AliTOFv2::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fZtof - fZlenC*0.5; - Float_t zOffsetB = fZtof - fZlenC - fZlenB*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[6], nodeName1[6], nodeName2[6]; - char nodeName3[6], nodeName4[6], rotMatNum[6]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - if (nodeNum !=1 && nodeNum!=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for HMPID detector - - if ((nodeNum<7 || nodeNum>11) && nodeNum !=1 && nodeNum!=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for PHOS detector (+ Holes for HMPID detector, central part) - } // end loop on nodeNum -} - - //_____________________________________________________________________________ void AliTOFv2::CreateGeometry() { diff --git a/TOF/AliTOFv2.h b/TOF/AliTOFv2.h index 68516ea3b97..bcc08868e20 100644 --- a/TOF/AliTOFv2.h +++ b/TOF/AliTOFv2.h @@ -21,7 +21,6 @@ public: AliTOFv2(); AliTOFv2(const char *name, const char *title); virtual ~AliTOFv2() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv2FHoles.cxx b/TOF/AliTOFv2FHoles.cxx index 572171a5421..749465d5628 100644 --- a/TOF/AliTOFv2FHoles.cxx +++ b/TOF/AliTOFv2FHoles.cxx @@ -90,104 +90,6 @@ AliTOFv2FHoles::AliTOFv2FHoles(const char *name, const char *title) exit(1); } } - -//____________________________________________________________________________ - -void AliTOFv2FHoles::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // fixing parameters as requested by FRAME v0 (Morsch 16-10-2001) - //Float_t zlenA = 124.; // cm (A module length) original size 106. enlarged - Float_t zlenB = 154.; // cm (B module length) original size 141. enlarged - Float_t zlenC = 159.5; // cm (C module length) original size 175.5 reduced - Float_t ztof0 = 375.5; // total half-length of a TOF sector original size 371.5cm - - Float_t zOffsetC = ztof0 - zlenC*0.5; - Float_t zOffsetB = ztof0 - zlenC - zlenB*0.5; - Float_t zOffsetA = 0.00; - - // Define TOF basic volume - - char nodeName0[6], nodeName1[6], nodeName2[6]; - char nodeName3[6], nodeName4[6], rotMatNum[6]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - if (nodeNum !=1 && nodeNum!=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for HMPID detector - - if ((nodeNum<7 || nodeNum>11) && nodeNum !=1 && nodeNum!=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for PHOS detector (+ Holes for HMPID detector, central part) - } // end loop on nodeNum -} - //_____________________________________________________________________________ void AliTOFv2FHoles::CreateGeometry() diff --git a/TOF/AliTOFv2FHoles.h b/TOF/AliTOFv2FHoles.h index af123b15e93..a746182021d 100644 --- a/TOF/AliTOFv2FHoles.h +++ b/TOF/AliTOFv2FHoles.h @@ -22,7 +22,6 @@ public: AliTOFv2FHoles(); AliTOFv2FHoles(const char *name, const char *title); virtual ~AliTOFv2FHoles() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv3.cxx b/TOF/AliTOFv3.cxx index 4c871b3bf68..e4f27efedda 100644 --- a/TOF/AliTOFv3.cxx +++ b/TOF/AliTOFv3.cxx @@ -90,99 +90,6 @@ AliTOFv3::AliTOFv3(const char *name, const char *title) } } - -//____________________________________________________________________________ - -void AliTOFv3::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fZtof - fZlenC*0.5; - Float_t zOffsetB = fZtof - fZlenC - fZlenB*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[7], nodeName1[7], nodeName2[7]; - char nodeName3[7], nodeName4[7], rotMatNum[7]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - if (nodeNum !=1 && nodeNum!=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for HMPID detector - - if (nodeNum !=1 && nodeNum !=17 && nodeNum !=18) - { - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // Holes for HMPID detector, central part - } -} - - //_____________________________________________________________________________ void AliTOFv3::CreateGeometry() diff --git a/TOF/AliTOFv3.h b/TOF/AliTOFv3.h index c3a68205f5f..82659a10e93 100644 --- a/TOF/AliTOFv3.h +++ b/TOF/AliTOFv3.h @@ -21,7 +21,6 @@ public: AliTOFv3(); AliTOFv3(const char *name, const char *title); virtual ~AliTOFv3() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv4.cxx b/TOF/AliTOFv4.cxx index 8be9ad4c694..9115e997d61 100644 --- a/TOF/AliTOFv4.cxx +++ b/TOF/AliTOFv4.cxx @@ -91,94 +91,6 @@ AliTOFv4::AliTOFv4(const char *name, const char *title) } } - -//____________________________________________________________________________ - -void AliTOFv4::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - // Find top TNODE - top = gAlice->GetGeometry()->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fRmax+fRmin)/2; - const Float_t khTof = fRmax-fRmin; - const Int_t kNTof = fNTof; - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fZtof - fZlenC*0.5; - Float_t zOffsetB = fZtof - fZlenC - fZlenB*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[7], nodeName1[7], nodeName2[7]; - char nodeName3[7], nodeName4[7], rotMatNum[7]; - - new TBRIK("S_TOF_C","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenC*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenB*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fStripLn*0.5,khTof*0.5,fZlenA*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A",krTof*TMath::Cos(ang),krTof*TMath::Sin(ang),zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // end loop on nodeNum -} - - //_____________________________________________________________________________ void AliTOFv4::CreateGeometry() diff --git a/TOF/AliTOFv4.h b/TOF/AliTOFv4.h index 0e03213a4d5..4d90323d8a9 100644 --- a/TOF/AliTOFv4.h +++ b/TOF/AliTOFv4.h @@ -21,7 +21,6 @@ public: AliTOFv4(); AliTOFv4(const char *name, const char *title); virtual ~AliTOFv4() {} - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv4T0.cxx b/TOF/AliTOFv4T0.cxx index c3cba263b11..a422e57f3fb 100644 --- a/TOF/AliTOFv4T0.cxx +++ b/TOF/AliTOFv4T0.cxx @@ -121,94 +121,6 @@ AliTOFv4T0::AliTOFv4T0(const char *name, const char *title): saveDir->cd(); } - -//____________________________________________________________________________ -void AliTOFv4T0::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - TGeometry *globalGeometry = (TGeometry*)gAlice->GetGeometry(); - - // Find top TNODE - top = (TNode*)globalGeometry->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fTOFGeometry->Rmax()+fTOFGeometry->Rmin())/2.; - const Float_t khTof = fTOFGeometry->Rmax()-fTOFGeometry->Rmin(); - const Int_t kNTof = fTOFGeometry->NSectors(); - const Float_t kPi = TMath::Pi(); - const Float_t kangle = 2*kPi/kNTof; - Float_t ang; - - // define offset for nodes - Float_t zOffsetC = fTOFGeometry->MaxhZtof() - fTOFGeometry->ZlenC()*0.5; - Float_t zOffsetB = fTOFGeometry->MaxhZtof() - fTOFGeometry->ZlenC() - fTOFGeometry->ZlenB()*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[7], nodeName1[7], nodeName2[7]; - char nodeName3[7], nodeName4[7], rotMatNum[7]; - - new TBRIK("S_TOF_C","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenC()*0.5); - new TBRIK("S_TOF_B","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5); - new TBRIK("S_TOF_A","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenA()*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - top->cd(); - node = new TNode(nodeName0,nodeName0,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName1,nodeName1,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetC,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // end loop on nodeNum - -} //_____________________________________________________________________________ void AliTOFv4T0::CreateGeometry() diff --git a/TOF/AliTOFv4T0.h b/TOF/AliTOFv4T0.h index d7ef688e92c..45c1f1fdf8f 100644 --- a/TOF/AliTOFv4T0.h +++ b/TOF/AliTOFv4T0.h @@ -22,7 +22,6 @@ public: AliTOFv4T0(); AliTOFv4T0(const char *name, const char *title); virtual ~AliTOFv4T0() {}; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv5T0.cxx b/TOF/AliTOFv5T0.cxx index 1c3ea185dee..9e84155dab1 100644 --- a/TOF/AliTOFv5T0.cxx +++ b/TOF/AliTOFv5T0.cxx @@ -338,89 +338,6 @@ void AliTOFv5T0::AddAlignableVolumes() const } -} -//____________________________________________________________________________ -void AliTOFv5T0::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - TGeometry *globalGeometry = (TGeometry*)gAlice->GetGeometry(); - - // Find top TNODE - top = globalGeometry->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fTOFGeometry->Rmax()+fTOFGeometry->Rmin())/2.; - const Float_t khTof = fTOFGeometry->Rmax()-fTOFGeometry->Rmin(); - const Int_t kNTof = fTOFGeometry->NSectors(); - const Float_t kangle = k2PI/kNTof; - - const Float_t kInterCentrModBorder1 = 49.5; - const Float_t kInterCentrModBorder2 = 57.5; - - Float_t ang; - - // define offset for nodes - Float_t zOffsetB = (fTOFGeometry->ZlenA()*0.5 + (kInterCentrModBorder1+kInterCentrModBorder2)*0.5)*0.5; - Float_t zOffsetA = 0.; - // Define TOF basic volume - - char nodeName0[16], nodeName1[16], nodeName2[16]; - char nodeName3[16], nodeName4[16], rotMatNum[16]; - - if (fTOFHoles) { - new TBRIK("S_TOF_B","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5); - new TBRIK("S_TOF_C","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5); - } - new TBRIK("S_TOF_A","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenA()*0.5); - - for (Int_t nodeNum=1;nodeNum<19;nodeNum++){ - - if (nodeNum<10) { - sprintf(rotMatNum,"rot50%i",nodeNum); - sprintf(nodeName0,"FTO00%i",nodeNum); - sprintf(nodeName1,"FTO10%i",nodeNum); - sprintf(nodeName2,"FTO20%i",nodeNum); - sprintf(nodeName3,"FTO30%i",nodeNum); - sprintf(nodeName4,"FTO40%i",nodeNum); - } - if (nodeNum>9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - if (fTOFHoles) { - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } - - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // end loop on nodeNum - } //_____________________________________________________________________________ diff --git a/TOF/AliTOFv5T0.h b/TOF/AliTOFv5T0.h index eac5354b8a7..8b5062d10d8 100644 --- a/TOF/AliTOFv5T0.h +++ b/TOF/AliTOFv5T0.h @@ -21,7 +21,6 @@ public: AliTOFv5T0(); AliTOFv5T0(const char *name, const char *title); virtual ~AliTOFv5T0() {}; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TOF/AliTOFv6T0.cxx b/TOF/AliTOFv6T0.cxx index b8c1e4528b9..6a6de72500e 100644 --- a/TOF/AliTOFv6T0.cxx +++ b/TOF/AliTOFv6T0.cxx @@ -350,86 +350,6 @@ void AliTOFv6T0::AddAlignableVolumes() const } -} -//____________________________________________________________________________ -void AliTOFv6T0::BuildGeometry() -{ - // - // Build TOF ROOT geometry for the ALICE event display - // - TNode *node, *top; - const int kColorTOF = 27; - - TGeometry *globalGeometry = (TGeometry*)gAlice->GetGeometry(); - - // Find top TNODE - top = globalGeometry->GetNode("alice"); - - // Position the different copies - const Float_t krTof =(fTOFGeometry->Rmax()+fTOFGeometry->Rmin())/2.; - const Float_t khTof = fTOFGeometry->Rmax()-fTOFGeometry->Rmin(); - const Int_t kNTof = fTOFGeometry->NSectors(); - const Float_t kangle = k2PI/kNTof; - - Float_t ang; - - // define offset for nodes - Float_t zOffsetB = (fTOFGeometry->ZlenA()*0.5 + (fgkInterCentrModBorder1+fgkInterCentrModBorder2)*0.5)*0.5; - Float_t zOffsetA = 0.; - - // Define TOF basic volume - char nodeName0[16], nodeName1[16], nodeName2[16]; - char nodeName3[16], nodeName4[16], rotMatNum[16]; - - if (fTOFHoles) { - new TBRIK("S_TOF_B","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5); - new TBRIK("S_TOF_C","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenB()*0.5); - } - new TBRIK("S_TOF_A","TOF box","void", - fTOFGeometry->StripLength()*0.5, khTof*0.5, fTOFGeometry->ZlenA()*0.5); - - for (Int_t nodeNum=1;nodeNum9) { - sprintf(rotMatNum,"rot5%i",nodeNum); - sprintf(nodeName0,"FTO0%i",nodeNum); - sprintf(nodeName1,"FTO1%i",nodeNum); - sprintf(nodeName2,"FTO2%i",nodeNum); - sprintf(nodeName3,"FTO3%i",nodeNum); - sprintf(nodeName4,"FTO4%i",nodeNum); - } - - new TRotMatrix(rotMatNum,rotMatNum,90,-20*nodeNum,90,90-20*nodeNum,0,0); - ang = (4.5-nodeNum) * kangle; - - if (fTOFHoles) { - top->cd(); - node = new TNode(nodeName2,nodeName2,"S_TOF_B", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - - top->cd(); - node = new TNode(nodeName3,nodeName3,"S_TOF_C", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang),-zOffsetB,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } - - top->cd(); - node = new TNode(nodeName4,nodeName4,"S_TOF_A", krTof*TMath::Cos(ang), krTof*TMath::Sin(ang), zOffsetA,rotMatNum); - node->SetLineColor(kColorTOF); - fNodes->Add(node); - } // end loop on nodeNum - } //_____________________________________________________________________________ diff --git a/TOF/AliTOFv6T0.h b/TOF/AliTOFv6T0.h index 3c0c32d0809..4b89cb9df58 100644 --- a/TOF/AliTOFv6T0.h +++ b/TOF/AliTOFv6T0.h @@ -21,7 +21,6 @@ public: AliTOFv6T0(); AliTOFv6T0(const char *name, const char *title); virtual ~AliTOFv6T0() {}; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void Init(); diff --git a/TPC/AliTPC.cxx b/TPC/AliTPC.cxx index 1b2ae454530..863412ef200 100644 --- a/TPC/AliTPC.cxx +++ b/TPC/AliTPC.cxx @@ -57,7 +57,6 @@ #include "AliDigits.h" #include "AliMagF.h" -#include "AliPoints.h" #include "AliRun.h" #include "AliRunLoader.h" #include "AliSimDigits.h" @@ -223,91 +222,6 @@ void AliTPC::AddHit(Int_t track, Int_t *vol, Float_t *hits) AddHit2(track,vol,hits); } -//_____________________________________________________________________________ -void AliTPC::BuildGeometry() -{ - - // - // Build TPC ROOT TNode geometry for the event display - // - TNode *nNode, *nTop; - TTUBS *tubs; - Int_t i; - const int kColorTPC=19; - char name[5], title[25]; - const Double_t kDegrad=TMath::Pi()/180; - const Double_t kRaddeg=180./TMath::Pi(); - - - Float_t innerOpenAngle = fTPCParam->GetInnerAngle(); - Float_t outerOpenAngle = fTPCParam->GetOuterAngle(); - - Float_t innerAngleShift = fTPCParam->GetInnerAngleShift(); - Float_t outerAngleShift = fTPCParam->GetOuterAngleShift(); - - Int_t nLo = fTPCParam->GetNInnerSector()/2; - Int_t nHi = fTPCParam->GetNOuterSector()/2; - - const Double_t kloAng = (Double_t)TMath::Nint(innerOpenAngle*kRaddeg); - const Double_t khiAng = (Double_t)TMath::Nint(outerOpenAngle*kRaddeg); - const Double_t kloAngSh = (Double_t)TMath::Nint(innerAngleShift*kRaddeg); - const Double_t khiAngSh = (Double_t)TMath::Nint(outerAngleShift*kRaddeg); - - - const Double_t kloCorr = 1/TMath::Cos(0.5*kloAng*kDegrad); - const Double_t khiCorr = 1/TMath::Cos(0.5*khiAng*kDegrad); - - Double_t rl,ru; - - - // - // Get ALICE top node - // - - nTop=gAlice->GetGeometry()->GetNode("alice"); - - // inner sectors - - rl = fTPCParam->GetInnerRadiusLow(); - ru = fTPCParam->GetInnerRadiusUp(); - - - for(i=0;iSetNumberOfDivisions(1); - nTop->cd(); - nNode = new TNode(name,title,name,0,0,0,""); - nNode->SetLineColor(kColorTPC); - fNodes->Add(nNode); - } - - // Outer sectors - - rl = fTPCParam->GetOuterRadiusLow(); - ru = fTPCParam->GetOuterRadiusUp(); - - for(i=0;iSetNumberOfDivisions(1); - nTop->cd(); - nNode = new TNode(name,title,name,0,0,0,""); - nNode->SetLineColor(kColorTPC); - fNodes->Add(nNode); - } - -} - //_____________________________________________________________________________ void AliTPC::CreateMaterials() { @@ -2429,16 +2343,6 @@ AliHit* AliTPC::NextHit2() return 0; } -void AliTPC::LoadPoints(Int_t) -{ - // - Int_t a = 0; - - if(fHitType==1) AliDetector::LoadPoints(a); - else LoadPoints2(a); -} - - void AliTPC::RemapTrackHitIDs(Int_t *map) { // @@ -2505,169 +2409,6 @@ Bool_t AliTPC::TrackInVolume(Int_t id,Int_t track) } -//_____________________________________________________________________________ -void AliTPC::LoadPoints2(Int_t) -{ - // - // Store x, y, z of all hits in memory - // - // if (fTrackHits == 0 && fTrackHitsOld==0) return; - if (fTrackHits == 0 ) return; - // - Int_t nhits =0; - if (fHitType&4) nhits = fTrackHits->GetEntriesFast(); - // if (fHitType&2) nhits = fTrackHitsOld->GetEntriesFast(); - - if (nhits == 0) return; - Int_t tracks = gAlice->GetMCApp()->GetNtrack(); - if (fPoints == 0) fPoints = new TObjArray(tracks); - AliHit *ahit; - // - Int_t *ntrk=new Int_t[tracks]; - Int_t *limi=new Int_t[tracks]; - Float_t **coor=new Float_t*[tracks]; - for(Int_t i=0;iGetTrack(); - if(ntrk[trk]==limi[trk]) { - // - // Initialise a new track - fp=new Float_t[3*(limi[trk]+chunk)]; - if(coor[trk]) { - memcpy(fp,coor[trk],sizeof(Float_t)*3*limi[trk]); - delete [] coor[trk]; - } - limi[trk]+=chunk; - coor[trk] = fp; - } else { - fp = coor[trk]; - } - fp[3*ntrk[trk] ] = ahit->X(); - fp[3*ntrk[trk]+1] = ahit->Y(); - fp[3*ntrk[trk]+2] = ahit->Z(); - ntrk[trk]++; - ahit = NextHit2(); - } - - - - // - for(trk=0; trkSetMarkerColor(kYellow); //PH kYellow it the default in TPC - points->SetMarkerSize(1);//PH Default size=1 - points->SetDetector(this); - points->SetParticle(trk); - points->SetPolyMarker(ntrk[trk],coor[trk],1); // Default style=1 - fPoints->AddAt(points,trk); - delete [] coor[trk]; - coor[trk]=0; - } - } - delete [] coor; - delete [] ntrk; - delete [] limi; -} - - -//_____________________________________________________________________________ -void AliTPC::LoadPoints3(Int_t) -{ - // - // Store x, y, z of all hits in memory - // - only intersection point with pad row - if (fTrackHits == 0) return; - // - Int_t nhits = fTrackHits->GetEntriesFast(); - if (nhits == 0) return; - Int_t tracks = gAlice->GetMCApp()->GetNtrack(); - if (fPoints == 0) fPoints = new TObjArray(2*tracks); - fPoints->Expand(2*tracks); - AliHit *ahit; - // - Int_t *ntrk=new Int_t[tracks]; - Int_t *limi=new Int_t[tracks]; - Float_t **coor=new Float_t*[tracks]; - for(Int_t i=0;iGetTrack(); - Float_t x[3]={ahit->X(),ahit->Y(),ahit->Z()}; - Int_t index[3]={1,((AliTPChit*)ahit)->fSector,0}; - Int_t currentrow = fTPCParam->GetPadRow(x,index) ; - if (currentrow!=lastrow){ - lastrow = currentrow; - //later calculate intersection point - if(ntrk[trk]==limi[trk]) { - // - // Initialise a new track - fp=new Float_t[3*(limi[trk]+chunk)]; - if(coor[trk]) { - memcpy(fp,coor[trk],sizeof(Float_t)*3*limi[trk]); - delete [] coor[trk]; - } - limi[trk]+=chunk; - coor[trk] = fp; - } else { - fp = coor[trk]; - } - fp[3*ntrk[trk] ] = ahit->X(); - fp[3*ntrk[trk]+1] = ahit->Y(); - fp[3*ntrk[trk]+2] = ahit->Z(); - ntrk[trk]++; - } - ahit = NextHit2(); - } - - // - for(trk=0; trkSetMarkerColor(kMagenta); //PH kYellow + 1 is kMagenta - points->SetMarkerStyle(5); - points->SetMarkerSize(0.2); - points->SetDetector(this); - points->SetParticle(trk); - points->SetPolyMarker(ntrk[trk],coor[trk],30); - fPoints->AddAt(points,tracks+trk); - delete [] coor[trk]; - coor[trk]=0; - } - } - delete [] coor; - delete [] ntrk; - delete [] limi; -} - - AliLoader* AliTPC::MakeLoader(const char* topfoldername) { diff --git a/TPC/AliTPC.h b/TPC/AliTPC.h index 5c128ce9729..7d7f470ef2b 100644 --- a/TPC/AliTPC.h +++ b/TPC/AliTPC.h @@ -38,7 +38,6 @@ public: virtual ~AliTPC(); virtual void AddHit(Int_t a1, Int_t *a2, Float_t *a3); - virtual void BuildGeometry(); virtual void CreateGeometry() {} virtual void CreateMaterials(); virtual void AddAlignableVolumes() const {} @@ -81,9 +80,6 @@ public: virtual AliHit* NextHit(); virtual AliHit* FirstHit2(Int_t track); virtual AliHit* NextHit2(); - virtual void LoadPoints(Int_t dummy); - virtual void LoadPoints2(Int_t dummy); - virtual void LoadPoints3(Int_t dumy); virtual void FinishPrimary(); virtual void RemapTrackHitIDs(Int_t *map); void SetHitType(Int_t type){fHitType =type;} //set type of hit container diff --git a/TRD/AliTRD.cxx b/TRD/AliTRD.cxx index e329f2534cc..00c80ba7791 100644 --- a/TRD/AliTRD.cxx +++ b/TRD/AliTRD.cxx @@ -313,115 +313,6 @@ void AliTRD::AddHit(Int_t track, Int_t det, Float_t *hits, Int_t q } } - -//_____________________________________________________________________________ -void AliTRD::BuildGeometry() -{ - // - // Create the ROOT TNode geometry for the TRD - // - - TNode *node; - TNode *top; - TPGON *pgon; - - // The dimensions of the TRD super module - const Float_t kRmin = 291.0; - const Float_t kRmax = 369.0; - const Float_t kZmax1 = 378.35; - const Float_t kZmax2 = 302.0; - - Float_t rmin; - Float_t rmax; - Float_t zmax1; - Float_t zmax2; - - Int_t iLayer; - - const Int_t kColorTRD = 46; - - // Find the top node alice - top = gAlice->GetGeometry()->GetNode("alice"); - - if (fDisplayType == 0) { - - pgon = new TPGON("S_TRD","TRD","void",0,360,AliTRDgeometry::Nsector(),4); - rmin = kRmin; - rmax = kRmax; - pgon->DefineSection(0,-kZmax1,rmax,rmax); - pgon->DefineSection(1,-kZmax2,rmin,rmax); - pgon->DefineSection(2, kZmax2,rmin,rmax); - pgon->DefineSection(3, kZmax1,rmax,rmax); - top->cd(); - node = new TNode("TRD","TRD","S_TRD",0,0,0,""); - node->SetLineColor(kColorTRD); - fNodes->Add(node); - - } - else if (fDisplayType == 1) { - - Char_t name[7]; - - Float_t slope = (kZmax1 - kZmax2) / (kRmax - kRmin); - - rmin = kRmin + AliTRDgeometry::CraHght(); - rmax = rmin + AliTRDgeometry::CdrHght(); - - Float_t thickness = rmin - kRmin; - zmax2 = kZmax2 + slope * thickness; - zmax1 = zmax2 + slope * AliTRDgeometry::DrThick(); - - for (iLayer = 0; iLayer < AliTRDgeometry::Nlayer(); iLayer++) { - - sprintf(name,"S_TR1%d",iLayer); - pgon = new TPGON(name,"TRD","void",0,360,AliTRDgeometry::Nsector(),4); - pgon->DefineSection(0,-zmax1,rmax,rmax); - pgon->DefineSection(1,-zmax2,rmin,rmax); - pgon->DefineSection(2, zmax2,rmin,rmax); - pgon->DefineSection(3, zmax1,rmax,rmax); - top->cd(); - node = new TNode("TRD","TRD",name,0,0,0,""); - node->SetLineColor(kColorTRD); - fNodes->Add(node); - - Float_t height = AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace(); - rmin = rmin + height; - rmax = rmax + height; - zmax1 = zmax1 + slope * height; - zmax2 = zmax2 + slope * height; - - } - - thickness += AliTRDgeometry::DrThick(); - rmin = kRmin + thickness; - rmax = rmin + AliTRDgeometry::AmThick(); - zmax2 = kZmax2 + slope * thickness; - zmax1 = zmax2 + slope * AliTRDgeometry::AmThick(); - - for (iLayer = 0; iLayer < AliTRDgeometry::Nlayer(); iLayer++) { - - sprintf(name,"S_TR2%d",iLayer); - pgon = new TPGON(name,"TRD","void",0,360,AliTRDgeometry::Nsector(),4); - pgon->DefineSection(0,-zmax1,rmax,rmax); - pgon->DefineSection(1,-zmax2,rmin,rmax); - pgon->DefineSection(2, zmax2,rmin,rmax); - pgon->DefineSection(3, zmax1,rmax,rmax); - top->cd(); - node = new TNode("TRD","TRD",name,0,0,0,""); - node->SetLineColor(kColorTRD); - fNodes->Add(node); - - Float_t height = AliTRDgeometry::Cheight() + AliTRDgeometry::Cspace(); - rmin = rmin + height; - rmax = rmax + height; - zmax1 = zmax1 + slope * height; - zmax2 = zmax2 + slope * height; - - } - - } - -} //_____________________________________________________________________________ void AliTRD::CreateGeometry() diff --git a/TRD/AliTRD.h b/TRD/AliTRD.h index 822f33070f4..7f63a74cbb1 100644 --- a/TRD/AliTRD.h +++ b/TRD/AliTRD.h @@ -41,7 +41,6 @@ class AliTRD : public AliDetector { virtual Int_t IsVersion() const = 0; virtual void ResetDigits(); - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; diff --git a/TRD/Macros/AliTRDComparison.C b/TRD/Macros/AliTRDComparison.C index c670102ee8e..acfdba8f3ba 100644 --- a/TRD/Macros/AliTRDComparison.C +++ b/TRD/Macros/AliTRDComparison.C @@ -81,7 +81,6 @@ comptof->fTree =treetof; #include "AliTracker.h" #include "AliMagF.h" #include "AliHelix.h" -#include "AliPoints.h" #include "AliESDtrack.h" #include "AliTRDtrack.h" #include "AliITStrackMI.h" diff --git a/VZERO/AliVZERO.cxx b/VZERO/AliVZERO.cxx index 922afccaf70..f5abff84cab 100755 --- a/VZERO/AliVZERO.cxx +++ b/VZERO/AliVZERO.cxx @@ -125,14 +125,6 @@ AliVZERO::~AliVZERO() fDigits=0; } } -//_____________________________________________________________________________ -void AliVZERO::BuildGeometry() -{ - // - // Builds simple ROOT TNode geometry for event display - // -} - //_____________________________________________________________________________ void AliVZERO::CreateGeometry() { @@ -148,17 +140,6 @@ void AliVZERO::CreateMaterials() // } -//_____________________________________________________________________________ -Int_t AliVZERO::DistanceToPrimitive(Int_t /*px*/, Int_t /*py*/) -{ - // - // Calculates the distance from the mouse to the VZERO on the screen - // Dummy routine - // - - return 9999; -} - //_____________________________________________________________________________ void AliVZERO::Init() { diff --git a/VZERO/AliVZERO.h b/VZERO/AliVZERO.h index 0bf998805b7..a1ea7d4ae44 100755 --- a/VZERO/AliVZERO.h +++ b/VZERO/AliVZERO.h @@ -36,11 +36,9 @@ public: virtual ~AliVZERO(); // virtual void AddHit(Int_t track , Int_t *vol, Float_t *hits)=0; // virtual void AddDigits(Int_t* tracks, Int_t* digits)=0; - virtual void BuildGeometry(); virtual void CreateGeometry(); virtual void CreateMaterials(); virtual void AddAlignableVolumes() const {} - virtual Int_t DistanceToPrimitive(Int_t px, Int_t py); virtual Int_t IsVersion() const = 0; virtual void Init(); virtual AliLoader* MakeLoader(const char* topfoldername); diff --git a/VZERO/AliVZEROv2.cxx b/VZERO/AliVZEROv2.cxx index d7be156b5bd..0976af45c4c 100755 --- a/VZERO/AliVZEROv2.cxx +++ b/VZERO/AliVZEROv2.cxx @@ -345,415 +345,7 @@ void AliVZEROv2::CreateGeometry() ncellsL = (ndetL - 1) * 6; AliInfo(Form("Number of cells on Left side = %d", ncellsL)); -} - -//_____________________________________________________________________________ -void AliVZEROv2::BuildGeometry() -{ - -// Builds simple ROOT TNode geometry for event display - - AliDebug(2,"VZERO BuildGeometry"); - - TNode *top; - - TNode *v0Rnode, *v0Rnode0, *v0Rnode6 , *v0Rnode7, *v0Rnode8, *v0Rnode9; - TNode *v0Rnode1, *v0Rnode2, *v0Rnode3, *v0Rnode4, *v0Rnode5; - TNode *v0Lnode, *v0Lnode0; - TNode *v0Lnode1, *v0Lnode2, *v0Lnode3, *v0Lnode4, *v0Lnode5, *v0Lnode6; - - const int kColorVZERO = kGreen; - - top = gAlice->GetGeometry()->GetNode("alice"); - - Float_t height1, height2, height3, height4, height5; - Float_t height; - Float_t theta; - - Float_t halfThickQua; - Float_t zdet; - Float_t r0, r5; - Float_t pi = TMath::Pi(); - - height1 = 1.82; // height of cell 1, in cm - height2 = 3.81; // height of cell 2, in cm - height3 = 4.72; // height of cell 3, in cm - height4 = 7.12; // height of cell 4, in cm - height5 = 10.83; // height of cell 5, in cm - - theta = pi/6.0/2.0; - - halfThickQua = fThickness1/2.0; - - zdet = 90.0 - 0.6 - fThickness/2.0; - r0 = 4.05; - height = height1 + height2 + height3 + height4 + height5; - r5 = r0 + height; - - Int_t ndiv = 1; - - Float_t partube[3]; - - partube[0] = r0 - 0.2; - partube[1] = r5 + 1.0; - partube[2] = fThickness/2.0; - - TTUBE *v0RI = new TTUBE("V0RI", "V0RI", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Rnode = new TNode("V0RI","V0RI",v0RI,0.0,0.0,-zdet,0); - - v0Rnode->SetLineColor(kYellow); - fNodes->Add(v0Rnode); - v0Rnode->SetVisibility(2); - -// Rondelles de carbone (epaisseur 2 mm) de maintien des cellules ... - - Float_t lidThickness = 0.2; - - partube[0] = r0; - partube[1] = r5; - partube[2] = +lidThickness/2.0; - - TTUBE *v0CA = new TTUBE("V0CA", "V0CA", "void",partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode6 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0, fThickness/2.0-partube[2],0); - v0Rnode6->SetLineColor(kYellow); - fNodes->Add(v0Rnode6); - v0Rnode->cd(); - v0Rnode7 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0,-fThickness/2.0+partube[2],0); - v0Rnode7->SetLineColor(kYellow); - fNodes->Add(v0Rnode7); - - partube[0] = r0 - 0.2; - partube[1] = r0; - partube[2] = +fThickness/2.0; - - TTUBE *v0IR = new TTUBE("V0IR","V0IR","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode8 = new TNode("V0IR", "V0IR",v0IR,0.0,0.0,0.0,0); - v0Rnode8->SetLineColor(kYellow); - fNodes->Add(v0Rnode8); - - partube[0] = r5; - partube[1] = r5 + 1.0; - partube[2] = +fThickness/2.0; - - TTUBE *v0ER = new TTUBE("V0ER","V0ER","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode9 = new TNode("V0ER", "V0ER",v0ER,0.0,0.0,0.0,0); - v0Rnode9->SetLineColor(kYellow); - fNodes->Add(v0Rnode9); - - Float_t partubs[5]; - - partubs[0] = r0; - partubs[1] = r5; - partubs[2] = fThickness/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0R0 = new TTUBS("V0R0", "V0R0", "void",partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R0->SetNumberOfDivisions(ndiv); - - Float_t r1 = r0 + height1; - Float_t offset = fThickness/2.0 - lidThickness - fThickness1/2.0; - Float_t offsetFibers = 1.0; - - partubs[0] = r0; - partubs[1] = r1; - partubs[2] = fThickness1/2.0; - - TTUBS *v0R1 = new TTUBS("V0R1", "V0R1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R1->SetNumberOfDivisions(ndiv); - - Float_t r2 = r1 + height2; - - partubs[0] = r1; - partubs[1] = r2; - - TTUBS *v0R2 = new TTUBS("V0R2", "V0R2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R2->SetNumberOfDivisions(ndiv); - - Float_t r3 = r2 + height3; - - partubs[0] = r2; - partubs[1] = r3; - - TTUBS *v0R3 = new TTUBS("V0R3", "V0R3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R3->SetNumberOfDivisions(ndiv); - - Float_t r4 = r3 + height4; - - partubs[0] = r3; - partubs[1] = r4; - - TTUBS *v0R4 = new TTUBS("V0R4", "V0R4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R4->SetNumberOfDivisions(ndiv); - - partubs[0] = r4; - partubs[1] = r5; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-30.0; - - TTUBS *v0R5 = new TTUBS("V0R5", "V0R5", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R5->SetNumberOfDivisions(ndiv); - - partubs[3] = 120.0-30.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0R6 = new TTUBS("V0R6", "V0R6", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R6->SetNumberOfDivisions(ndiv); - - Float_t phi; - Float_t phiDeg= 180./6.; - - Int_t ndetR = 1; - - char nameNode[12]; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDER%d",ndetR); - - v0Rnode->cd(); - v0Rnode0 = new TNode(nameNode,nameNode,v0R0,0.0,0.0, 0.0,mat920); - v0Rnode0->SetLineColor(kYellow); - fNodes->Add(v0Rnode0); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode1 = new TNode(nameNode,nameNode,v0R1,0.0,0.0, -offset,0); - v0Rnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode1); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode2 = new TNode(nameNode,nameNode,v0R2,0.0,0.0, -offset + offsetFibers,0); - v0Rnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode2); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode3 = new TNode(nameNode,nameNode,v0R3,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode3); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode4 = new TNode(nameNode,nameNode,v0R4,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode4); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode5 = new TNode(nameNode,nameNode,v0R5,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode5->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode5); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode6 = new TNode(nameNode,nameNode,v0R6,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode6->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode6); - ndetR++; - - v0Rnode0->SetVisibility(2); - - } - -// Left side of VZERO : - - Float_t r0Left = 4.3; - Float_t height1Left = 2.6; - Float_t height2Left = 4.1; - Float_t height3Left = 6.4; - Float_t height4Left = 10.2; - Float_t height5Left = 16.9; - Float_t heightLeft = height1Left + height2Left + height3Left - + height4Left + height5Left; - Float_t r5Left = r0Left + heightLeft; - - partube[0] = r0Left; - partube[1] = r5Left; - partube[2] = fThickness1/2.0; - - TTUBE *v0LE = new TTUBE("V0LE", "V0LE", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Lnode = new TNode("V0LE","V0LE",v0LE,0.0,0.0,350.0+fThickness1/2.0,0); - - v0Lnode->SetLineColor(kBlue); - fNodes->Add(v0Lnode); - - v0Lnode->SetVisibility(2); - - partubs[0] = r0Left; - partubs[1] = r5Left; - partubs[2] = fThickness1/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0L0 = new TTUBS("V0L0", "V0L0", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L0->SetNumberOfDivisions(ndiv); - v0L0->SetLineColor(7); - - Float_t offsetLeft; - offsetLeft = - fThickness1/2.0; - - Float_t r1Left = r0Left + height1Left; - - partubs[0] = r0Left; - partubs[1] = r1Left; - - TTUBS *v0L1 = new TTUBS("V0L1", "V0L1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L1->SetNumberOfDivisions(ndiv); - - Float_t r2Left = r1Left + height2Left; - - partubs[0] = r1Left; - partubs[1] = r2Left; - - TTUBS *v0L2 = new TTUBS("V0L2", "V0L2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L2->SetNumberOfDivisions(ndiv); - - Float_t r3Left = r2Left + height3Left; - - partubs[0] = r2Left; - partubs[1] = r3Left; - - TTUBS *v0L3 = new TTUBS("V0L3", "V0L3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L3->SetNumberOfDivisions(ndiv); - - Float_t r4Left = r3Left + height4Left; - - partubs[0] = r3Left; - partubs[1] = r4Left; - - TTUBS *v0L4 = new TTUBS("V0L4", "V0L4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L4->SetNumberOfDivisions(ndiv); - - partubs[0] = r4Left; - partubs[1] = r5Left; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-30.0; - - TTUBS *v0L5 = new TTUBS("V0L5", "V0L5", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - - v0L5->SetNumberOfDivisions(ndiv); - - partubs[3] = 120.0-30.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0L6 = new TTUBS("V0L6", "V0L6", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L6->SetNumberOfDivisions(ndiv); - - Int_t ndetL = 1; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - - sprintf(nameNode,"SUBDEL%d",ndetL); - - v0Lnode->cd(); - v0Lnode0 = new TNode(nameNode,nameNode,v0L0,0.0,0.0, offsetLeft + halfThickQua,mat920); - v0Lnode0->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode0); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode1 = new TNode(nameNode,nameNode,v0L1,0.0,0.0, 0.0,0); - v0Lnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode1); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode2 = new TNode(nameNode,nameNode,v0L2,0.0,0.0, 0.0,0); - v0Lnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode2); - ndetL++; - - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode3 = new TNode(nameNode,nameNode,v0L3,0.0,0.0, 0.0,0); - v0Lnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode3); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode4 = new TNode(nameNode,nameNode,v0L4,0.0,0.0, 0.0,0); - v0Lnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode4); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode5 = new TNode(nameNode,nameNode,v0L5,0.0,0.0, 0.0,0); - v0Lnode5->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode5); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode6 = new TNode(nameNode,nameNode,v0L6,0.0,0.0, 0.0,0); - v0Lnode6->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode6); - ndetL++; - - v0Lnode0->SetVisibility(2); - - } - -} +} //_____________________________________________________________________________ void AliVZEROv2::CreateMaterials() diff --git a/VZERO/AliVZEROv2.h b/VZERO/AliVZEROv2.h index 6dd0747ceac..dc6bb617045 100755 --- a/VZERO/AliVZEROv2.h +++ b/VZERO/AliVZEROv2.h @@ -21,7 +21,6 @@ public: virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void Init(); diff --git a/VZERO/AliVZEROv3.cxx b/VZERO/AliVZEROv3.cxx index ca5b726b031..36c4c74849e 100755 --- a/VZERO/AliVZEROv3.cxx +++ b/VZERO/AliVZEROv3.cxx @@ -315,304 +315,6 @@ void AliVZEROv3::CreateGeometry() } -//_____________________________________________________________________________ -void AliVZEROv3::BuildGeometry() -{ - -// Builds simple ROOT TNode geometry for event display - - AliDebug(2,"VZERO BuildGeometry"); - - TNode *top; - - TNode *v0Rnode, *v0Rnode0, *v0Rnode6 , *v0Rnode7, *v0Rnode8, *v0Rnode9; - TNode *v0Rnode1, *v0Rnode2, *v0Rnode3; - TNode *v0Lnode, *v0Lnode0; - TNode *v0Lnode1, *v0Lnode2, *v0Lnode3; - - const int kColorVZERO = kGreen; - - top = gAlice->GetGeometry()->GetNode("alice"); - - Float_t height1Right, height2Right, height3Right; - Float_t heightRight; - Float_t theta; - - Float_t halfThickQua; - Float_t zdet; - Float_t r0Right, r3Right; - Float_t pi = TMath::Pi(); - - height1Right = 1.82 + 3.81; // height of cell 1, in cm - height2Right = 4.72 + 7.12; // height of cell 2, in cm - height3Right = 10.83; // height of cell 3, in cm - - theta = pi/6.0/2.0; - - halfThickQua = fThickness1/2.0; - - zdet = 90.0 - 0.6 - fThickness/2.0; - r0Right = 4.05; - heightRight = height1Right + height2Right + height3Right; - r3Right = r0Right + heightRight; - - Int_t ndiv = 1; - - Float_t partube[3]; - - partube[0] = r0Right - 0.2; - partube[1] = r3Right + 1.0; - partube[2] = fThickness/2.0; - - TTUBE *v0RI = new TTUBE("V0RI", "V0RI", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Rnode = new TNode("V0RI","V0RI",v0RI,0.0,0.0,-zdet,0); - - v0Rnode->SetLineColor(kYellow); - fNodes->Add(v0Rnode); - v0Rnode->SetVisibility(2); - -// Rondelles de carbone (epaisseur 3.5 mm) de maintien des cellules ... - - Float_t lidThickness = 0.35; - - partube[0] = r0Right; - partube[1] = r3Right; - partube[2] = +lidThickness/2.0; - - TTUBE *v0CA = new TTUBE("V0CA", "V0CA", "void",partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode6 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0, fThickness/2.0-partube[2],0); - v0Rnode6->SetLineColor(kYellow); - fNodes->Add(v0Rnode6); - v0Rnode->cd(); - v0Rnode7 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0,-fThickness/2.0+partube[2],0); - v0Rnode7->SetLineColor(kYellow); - fNodes->Add(v0Rnode7); - - partube[0] = r0Right - 0.2; - partube[1] = r0Right; - partube[2] = +fThickness/2.0; - - TTUBE *v0IR = new TTUBE("V0IR","V0IR","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode8 = new TNode("V0IR", "V0IR",v0IR,0.0,0.0,0.0,0); - v0Rnode8->SetLineColor(kYellow); - fNodes->Add(v0Rnode8); - - partube[0] = r3Right; - partube[1] = r3Right + 1.0; - partube[2] = +fThickness/2.0; - - TTUBE *v0ER = new TTUBE("V0ER","V0ER","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode9 = new TNode("V0ER", "V0ER",v0ER,0.0,0.0,0.0,0); - v0Rnode9->SetLineColor(kYellow); - fNodes->Add(v0Rnode9); - - Float_t partubs[5]; - - partubs[0] = r0Right; - partubs[1] = r3Right; - partubs[2] = fThickness/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0R0 = new TTUBS("V0R0", "V0R0", "void",partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R0->SetNumberOfDivisions(ndiv); - - Float_t r1Right = r0Right + height1Right; - Float_t offset = fThickness/2.0 - lidThickness - fThickness1/2.0; - Float_t offsetFibers = 1.7; - - partubs[0] = r0Right; - partubs[1] = r1Right; - partubs[2] = fThickness1/2.0; - - TTUBS *v0R1 = new TTUBS("V0R1", "V0R1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R1->SetNumberOfDivisions(ndiv); - - Float_t r2Right = r1Right + height2Right; - - partubs[0] = r1Right; - partubs[1] = r2Right; - - TTUBS *v0R2 = new TTUBS("V0R2", "V0R2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R2->SetNumberOfDivisions(ndiv); - - partubs[0] = r2Right; - partubs[1] = r3Right; - - TTUBS *v0R3 = new TTUBS("V0R3", "V0R3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R3->SetNumberOfDivisions(ndiv); - - Float_t phi; - Float_t phiDeg= 180./6.; - - Int_t ndetR = 1; - - char nameNode[12]; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDER%d",ndetR); - - v0Rnode->cd(); - v0Rnode0 = new TNode(nameNode,nameNode,v0R0,0.0,0.0, 0.0,mat920); - v0Rnode0->SetLineColor(kYellow); - fNodes->Add(v0Rnode0); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode1 = new TNode(nameNode,nameNode,v0R1,0.0,0.0, -offset+ offsetFibers ,0); - v0Rnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode1); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode2 = new TNode(nameNode,nameNode,v0R2,0.0,0.0, -offset,0); - v0Rnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode2); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode3 = new TNode(nameNode,nameNode,v0R3,0.0,0.0, -offset,0); - v0Rnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode3); - ndetR++; - - v0Rnode0->SetVisibility(2); - - } - -// Left side of VZERO : - - Float_t r0Left = 4.3; - Float_t height1Left = 2.6 + 4.1; - Float_t height2Left = 6.4 + 10.2; - Float_t height3Left = 16.9; - Float_t heightLeft = height1Left + height2Left + height3Left; - - Float_t r3Left = r0Left + heightLeft; - - partube[0] = r0Left; - partube[1] = r3Left; - partube[2] = fThickness1/2.0; - - TTUBE *v0LE = new TTUBE("V0LE", "V0LE", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Lnode = new TNode("V0LE","V0LE",v0LE,0.0,0.0,350.0+fThickness1/2.0,0); - - v0Lnode->SetLineColor(kBlue); - fNodes->Add(v0Lnode); - - v0Lnode->SetVisibility(2); - - partubs[0] = r0Left; - partubs[1] = r3Left; - partubs[2] = fThickness1/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0L0 = new TTUBS("V0L0", "V0L0", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L0->SetNumberOfDivisions(ndiv); - v0L0->SetLineColor(7); - - Float_t offsetLeft; - offsetLeft = - fThickness1/2.0; - - Float_t r1Left = r0Left + height1Left; - - partubs[0] = r0Left; - partubs[1] = r1Left; - - TTUBS *v0L1 = new TTUBS("V0L1", "V0L1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L1->SetNumberOfDivisions(ndiv); - - Float_t r2Left = r1Left + height2Left; - - partubs[0] = r1Left; - partubs[1] = r2Left; - - TTUBS *v0L2 = new TTUBS("V0L2", "V0L2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L2->SetNumberOfDivisions(ndiv); - - partubs[0] = r2Left; - partubs[1] = r3Left; - - TTUBS *v0L3 = new TTUBS("V0L3", "V0L3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L3->SetNumberOfDivisions(ndiv); - - Int_t ndetL = 1; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - - sprintf(nameNode,"SUBDEL%d",ndetL); - - v0Lnode->cd(); - v0Lnode0 = new TNode(nameNode,nameNode,v0L0,0.0,0.0, offsetLeft + halfThickQua,mat920); - v0Lnode0->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode0); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode1 = new TNode(nameNode,nameNode,v0L1,0.0,0.0, 0.0,0); - v0Lnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode1); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode2 = new TNode(nameNode,nameNode,v0L2,0.0,0.0, 0.0,0); - v0Lnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode2); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode3 = new TNode(nameNode,nameNode,v0L3,0.0,0.0, 0.0,0); - v0Lnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode3); - ndetL++; - - v0Lnode0->SetVisibility(2); - - } - -} - //_____________________________________________________________________________ void AliVZEROv3::CreateMaterials() { diff --git a/VZERO/AliVZEROv3.h b/VZERO/AliVZEROv3.h index 7f16e9be1c4..cbfc68ac78b 100755 --- a/VZERO/AliVZEROv3.h +++ b/VZERO/AliVZEROv3.h @@ -23,7 +23,6 @@ public: virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void Init(); diff --git a/VZERO/AliVZEROv4.cxx b/VZERO/AliVZEROv4.cxx index fe2a2c1a02e..83e0f5af2ee 100755 --- a/VZERO/AliVZEROv4.cxx +++ b/VZERO/AliVZEROv4.cxx @@ -328,334 +328,7 @@ void AliVZEROv4::CreateGeometry() ncellsL = (ndetL - 1) * 4; AliInfo(Form("Number of cells on Left side = %d", ncellsL)); -} - -//_____________________________________________________________________________ -void AliVZEROv4::BuildGeometry() -{ - -// Builds simple ROOT TNode geometry for event display - - AliDebug(2,"VZERO BuildGeometry "); - - TNode *top; - - TNode *v0Rnode, *v0Rnode0, *v0Rnode6 , *v0Rnode7, *v0Rnode8, *v0Rnode9; - TNode *v0Rnode1, *v0Rnode2, *v0Rnode3, *v0Rnode4; - TNode *v0Lnode, *v0Lnode0; - TNode *v0Lnode1, *v0Lnode2, *v0Lnode3, *v0Lnode4; - - const int kColorVZERO = kGreen; - - top = gAlice->GetGeometry()->GetNode("alice"); - - Float_t height1Right, height2Right, height3Right, height4Right; - Float_t heightRight; - Float_t theta; - - Float_t halfThickQua; - Float_t zdet; - Float_t r0Right, r4Right; - Float_t pi = TMath::Pi(); - - height1Right = 3.42; // height of cell 1, in cm - height2Right = 6.78; // height of cell 2, in cm - height3Right = 7.11; // height of cell 3, in cm - height4Right = 10.91; // height of cell 4, in cm - - theta = pi/6.0/2.0; - - halfThickQua = fThickness1/2.0; - - zdet = 90.0 - 0.6 - fThickness/2.0; - r0Right = 4.05; - heightRight = height1Right + height2Right + height3Right + height4Right; - r4Right = r0Right + heightRight; - - Int_t ndiv = 1; - - Float_t partube[3]; - - partube[0] = r0Right - 0.2; - partube[1] = r4Right + 1.0; - partube[2] = fThickness/2.0; - - TTUBE *v0RI = new TTUBE("V0RI", "V0RI", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Rnode = new TNode("V0RI","V0RI",v0RI,0.0,0.0,-zdet,0); - - v0Rnode->SetLineColor(kYellow); - fNodes->Add(v0Rnode); - v0Rnode->SetVisibility(2); - -// Rondelles de carbone (epaisseur 3.5 mm) de maintien des cellules ... - - Float_t lidThickness = 0.35; - - partube[0] = r0Right; - partube[1] = r4Right; - partube[2] = +lidThickness/2.0; - - TTUBE *v0CA = new TTUBE("V0CA", "V0CA", "void",partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode6 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0, fThickness/2.0-partube[2],0); - v0Rnode6->SetLineColor(kYellow); - fNodes->Add(v0Rnode6); - v0Rnode->cd(); - v0Rnode7 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0,-fThickness/2.0+partube[2],0); - v0Rnode7->SetLineColor(kYellow); - fNodes->Add(v0Rnode7); - - partube[0] = r0Right - 0.2; - partube[1] = r0Right; - partube[2] = +fThickness/2.0; - - TTUBE *v0IR = new TTUBE("V0IR","V0IR","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode8 = new TNode("V0IR", "V0IR",v0IR,0.0,0.0,0.0,0); - v0Rnode8->SetLineColor(kYellow); - fNodes->Add(v0Rnode8); - - partube[0] = r4Right; - partube[1] = r4Right + 1.0; - partube[2] = +fThickness/2.0; - - TTUBE *v0ER = new TTUBE("V0ER","V0ER","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode9 = new TNode("V0ER", "V0ER",v0ER,0.0,0.0,0.0,0); - v0Rnode9->SetLineColor(kYellow); - fNodes->Add(v0Rnode9); - - Float_t partubs[5]; - - partubs[0] = r0Right; - partubs[1] = r4Right; - partubs[2] = fThickness/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0R0 = new TTUBS("V0R0", "V0R0", "void",partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R0->SetNumberOfDivisions(ndiv); - - Float_t r1Right = r0Right + height1Right; - Float_t offset = fThickness/2.0 - lidThickness - fThickness1/2.0; - Float_t offsetFibers = 1.7; - - partubs[0] = r0Right; - partubs[1] = r1Right; - partubs[2] = fThickness1/2.0; - - TTUBS *v0R1 = new TTUBS("V0R1", "V0R1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R1->SetNumberOfDivisions(ndiv); - - Float_t r2Right = r1Right + height2Right; - - partubs[0] = r1Right; - partubs[1] = r2Right; - - TTUBS *v0R2 = new TTUBS("V0R2", "V0R2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R2->SetNumberOfDivisions(ndiv); - - Float_t r3Right = r2Right + height3Right; - - partubs[0] = r2Right; - partubs[1] = r3Right; - - TTUBS *v0R3 = new TTUBS("V0R3", "V0R3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R3->SetNumberOfDivisions(ndiv); - - partubs[0] = r3Right; - partubs[1] = r4Right; - - TTUBS *v0R4 = new TTUBS("V0R4", "V0R4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R4->SetNumberOfDivisions(ndiv); - - Float_t phi; - Float_t phiDeg= 180./6.; - - Int_t ndetR = 1; - - char nameNode[12]; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDER%d",ndetR); - - v0Rnode->cd(); - v0Rnode0 = new TNode(nameNode,nameNode,v0R0,0.0,0.0, 0.0,mat920); - v0Rnode0->SetLineColor(kYellow); - fNodes->Add(v0Rnode0); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode1 = new TNode(nameNode,nameNode,v0R1,0.0,0.0, -offset+ offsetFibers ,0); - v0Rnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode1); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode2 = new TNode(nameNode,nameNode,v0R2,0.0,0.0, -offset,0); - v0Rnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode2); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode3 = new TNode(nameNode,nameNode,v0R3,0.0,0.0, -offset,0); - v0Rnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode3); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode4 = new TNode(nameNode,nameNode,v0R4,0.0,0.0, -offset,0); - v0Rnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode4); - ndetR++; - - v0Rnode0->SetVisibility(2); - } - -// Left side of VZERO : - - Float_t r0Left = 4.3; - Float_t height1Left = 3.6; - Float_t height2Left = 6.4; - Float_t height3Left = 14.9; - Float_t height4Left = 14.4; - Float_t heightLeft = height1Left + height2Left + height3Left + height4Left; - - Float_t r4Left = r0Left + heightLeft; - - partube[0] = r0Left; - partube[1] = r4Left; - partube[2] = fThickness1/2.0; - - TTUBE *v0LE = new TTUBE("V0LE", "V0LE", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Lnode = new TNode("V0LE","V0LE",v0LE,0.0,0.0,350.0+fThickness1/2.0,0); - - v0Lnode->SetLineColor(kBlue); - fNodes->Add(v0Lnode); - - v0Lnode->SetVisibility(2); - - partubs[0] = r0Left; - partubs[1] = r4Left; - partubs[2] = fThickness1/2.0; - partubs[3] = 90.0-15.0; - partubs[4] = 120.0-15.0; - - TTUBS *v0L0 = new TTUBS("V0L0", "V0L0", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L0->SetNumberOfDivisions(ndiv); - v0L0->SetLineColor(7); - - Float_t offsetLeft; - offsetLeft = - fThickness1/2.0; - - Float_t r1Left = r0Left + height1Left; - - partubs[0] = r0Left; - partubs[1] = r1Left; - - TTUBS *v0L1 = new TTUBS("V0L1", "V0L1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L1->SetNumberOfDivisions(ndiv); - - Float_t r2Left = r1Left + height2Left; - - partubs[0] = r1Left; - partubs[1] = r2Left; - - TTUBS *v0L2 = new TTUBS("V0L2", "V0L2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L2->SetNumberOfDivisions(ndiv); - - Float_t r3Left = r2Left + height3Left; - - partubs[0] = r2Left; - partubs[1] = r3Left; - - TTUBS *v0L3 = new TTUBS("V0L3", "V0L3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L3->SetNumberOfDivisions(ndiv); - - partubs[0] = r3Left; - partubs[1] = r4Left; - - TTUBS *v0L4 = new TTUBS("V0L4", "V0L4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L4->SetNumberOfDivisions(ndiv); - - Int_t ndetL = 1; - - for (phi = 15.0; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDEL%d",ndetL); - - v0Lnode->cd(); - v0Lnode0 = new TNode(nameNode,nameNode,v0L0,0.0,0.0, offsetLeft + halfThickQua,mat920); - v0Lnode0->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode0); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode1 = new TNode(nameNode,nameNode,v0L1,0.0,0.0, 0.0,0); - v0Lnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode1); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode2 = new TNode(nameNode,nameNode,v0L2,0.0,0.0, 0.0,0); - v0Lnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode2); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode3 = new TNode(nameNode,nameNode,v0L3,0.0,0.0, 0.0,0); - v0Lnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode3); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode4 = new TNode(nameNode,nameNode,v0L4,0.0,0.0, 0.0,0); - v0Lnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode4); - ndetL++; - - v0Lnode0->SetVisibility(2); - } -} +} //_____________________________________________________________________________ void AliVZEROv4::CreateMaterials() diff --git a/VZERO/AliVZEROv4.h b/VZERO/AliVZEROv4.h index 62b7a1430c0..900a8f56705 100755 --- a/VZERO/AliVZEROv4.h +++ b/VZERO/AliVZEROv4.h @@ -23,7 +23,6 @@ public: virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void Init(); diff --git a/VZERO/AliVZEROv5.cxx b/VZERO/AliVZEROv5.cxx index e7c032c3ae4..4b208c4e979 100755 --- a/VZERO/AliVZEROv5.cxx +++ b/VZERO/AliVZEROv5.cxx @@ -343,370 +343,6 @@ void AliVZEROv5::CreateGeometry() } -//_____________________________________________________________________________ -void AliVZEROv5::BuildGeometry() -{ - -// Builds simple ROOT TNode geometry for event display - - AliDebug(2,"VZERO BuildGeometry"); - - TNode *top; - - TNode *v0Rnode, *v0Rnode0, *v0Rnode7, *v0Rnode8, *v0Rnode9, *v0Rnode10; - TNode *v0Rnode1, *v0Rnode2, *v0Rnode3, *v0Rnode4, *v0Rnode5, *v0Rnode6; - TNode *v0Lnode, *v0Lnode0; - TNode *v0Lnode1, *v0Lnode2, *v0Lnode3, *v0Lnode4; - - const int kColorVZERO = kGreen; - - top = gAlice->GetGeometry()->GetNode("alice"); - - Float_t height1Right, height2Right, height3Right, height4Right; - Float_t heightRight; - Float_t theta; - - Float_t halfThickQua; - Float_t zdet; - Float_t r0Right, r4Right, rBoxRight; - Float_t pi = TMath::Pi(); - - height1Right = 2.6; // height of cell 1, in cm - height2Right = 4.6; // height of cell 2, in cm - height3Right = 7.6; // height of cell 3, in cm - height4Right = 12.7; // height of cell 4, in cm - - theta = pi/4.0/2.0; - - halfThickQua = fThickness1/2.0; - - zdet = 90.0 - 0.6 - fThickness/2.0; - r0Right = 4.20; - heightRight = height1Right + height2Right + height3Right + height4Right; - r4Right = r0Right + heightRight + 0.3; - rBoxRight = 38.0; - - Int_t ndiv = 1; - - Float_t partube[3]; - - partube[0] = r0Right - 0.2; - partube[1] = r4Right + 1.0; - partube[2] = fThickness/2.0; - - TTUBE *v0RI = new TTUBE("V0RI", "V0RI", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Rnode = new TNode("V0RI","V0RI",v0RI,0.0,0.0,-zdet,0); - - v0Rnode->SetLineColor(kYellow); - fNodes->Add(v0Rnode); - v0Rnode->SetVisibility(2); - -// Rondelles de carbone (epaisseur 3.0 mm) de maintien des cellules ... - - Float_t lidThickness = 0.30; - - partube[0] = r0Right; - partube[1] = rBoxRight; - partube[2] = +lidThickness/2.0; - - TTUBE *v0CA = new TTUBE("V0CA", "V0CA", "void",partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode7 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0, fThickness/2.0-partube[2],0); - v0Rnode7->SetLineColor(kYellow); - fNodes->Add(v0Rnode7); - v0Rnode->cd(); - v0Rnode8 = new TNode("V0CA", "V0CA",v0CA,0.0,0.0,-fThickness/2.0+partube[2],0); - v0Rnode8->SetLineColor(kYellow); - fNodes->Add(v0Rnode8); - - partube[0] = r0Right; - partube[1] = r0Right + 0.3; - partube[2] = +fThickness/2.0; - - TTUBE *v0IR = new TTUBE("V0IR","V0IR","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode9 = new TNode("V0IR", "V0IR",v0IR,0.0,0.0,0.0,0); - v0Rnode9->SetLineColor(kYellow); - fNodes->Add(v0Rnode9); - - partube[0] = rBoxRight - 0.3; - partube[1] = rBoxRight; - partube[2] = +fThickness/2.0; - - TTUBE *v0ER = new TTUBE("V0ER","V0ER","void", partube[0], partube[1], partube[2]); - - v0Rnode->cd(); - v0Rnode10 = new TNode("V0ER", "V0ER",v0ER,0.0,0.0,0.0,0); - v0Rnode10->SetLineColor(kYellow); - fNodes->Add(v0Rnode10); - - Float_t partubs[5]; - - partubs[0] = r0Right; - partubs[1] = r4Right; - partubs[2] = fThickness/2.0; - partubs[3] = 90.0-22.5; - partubs[4] = 135.0-22.5; - - TTUBS *v0R0 = new TTUBS("V0R0", "V0R0", "void",partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R0->SetNumberOfDivisions(ndiv); - - Float_t r1Right = r0Right + 0.3 + height1Right; - Float_t offset = fThickness/2.0 - lidThickness - fThickness1/2.0; - Float_t offsetFibers = 1.0; - - partubs[0] = r0Right + 0.3; - partubs[1] = r1Right; - partubs[2] = fThickness1/2.0; - - TTUBS *v0R1 = new TTUBS("V0R1", "V0R1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R1->SetNumberOfDivisions(ndiv); - - Float_t r2Right = r1Right + height2Right; - - partubs[0] = r1Right; - partubs[1] = r2Right; - - TTUBS *v0R2 = new TTUBS("V0R2", "V0R2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0R2->SetNumberOfDivisions(ndiv); - -// Ring 3 : - - Float_t r3Right = r2Right + height3Right; - - partubs[0] = r2Right; - partubs[1] = r3Right; - partubs[3] = 90.0-22.5; - partubs[4] = 112.5-22.5; - - TTUBS *v0R3 = new TTUBS("V0R3", "V0R3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R3->SetNumberOfDivisions(ndiv); - - partubs[3] = 112.5-22.5; - partubs[4] = 135.0-22.5; - - TTUBS *v0R4 = new TTUBS("V0R4", "V0R4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R4->SetNumberOfDivisions(ndiv); - -// Ring 4 : - - partubs[0] = r3Right; - partubs[1] = r4Right; - partubs[3] = 90.0-22.5; - partubs[4] = 112.5-22.5; - - TTUBS *v0R5 = new TTUBS("V0R5", "V0R5", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R5->SetNumberOfDivisions(ndiv); - - partubs[3] = 112.5-22.5; - partubs[4] = 135.0-22.5; - - TTUBS *v0R6 = new TTUBS("V0R6", "V0R6", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0R6->SetNumberOfDivisions(ndiv); - - Float_t phi; - Float_t phiDeg= 180./4.; - - Int_t ndetR = 1; - - char nameNode[12]; - - for (phi = 22.5; phi < 360.0; phi = phi + phiDeg) - - { - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDER%d",ndetR); - - v0Rnode->cd(); - v0Rnode0 = new TNode(nameNode,nameNode,v0R0,0.0,0.0, 0.0,mat920); - v0Rnode0->SetLineColor(kYellow); - fNodes->Add(v0Rnode0); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode1 = new TNode(nameNode,nameNode,v0R1,0.0,0.0, -offset ,0); - v0Rnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode1); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode2 = new TNode(nameNode,nameNode,v0R2,0.0,0.0, -offset + offsetFibers,0); - v0Rnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode2); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode3 = new TNode(nameNode,nameNode,v0R3,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode3); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode4 = new TNode(nameNode,nameNode,v0R4,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode4); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode5 = new TNode(nameNode,nameNode,v0R5,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode5->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode5); - ndetR++; - - sprintf(nameNode,"SUBDER%d",ndetR); - v0Rnode0->cd(); - v0Rnode6 = new TNode(nameNode,nameNode,v0R6,0.0,0.0, -offset + 2.0*offsetFibers,0); - v0Rnode6->SetLineColor(kColorVZERO); - fNodes->Add(v0Rnode6); - ndetR++; - - v0Rnode0->SetVisibility(2); - } - -// Left side of VZERO : - - Float_t r0Left = 4.3; - Float_t height1Left = 3.3; - Float_t height2Left = 6.2; - Float_t height3Left = 8.9; - Float_t height4Left = 20.9; - Float_t heightLeft = height1Left + height2Left + height3Left + height4Left; - - Float_t r4Left = r0Left + heightLeft; - - partube[0] = r0Left; - partube[1] = r4Left; - partube[2] = fThickness1/2.0; - - TTUBE *v0LE = new TTUBE("V0LE", "V0LE", "void", partube[0], partube[1], partube[2]); - - top->cd(); - - v0Lnode = new TNode("V0LE","V0LE",v0LE,0.0,0.0,339.0+fThickness1/2.0,0); - - v0Lnode->SetLineColor(kBlue); - fNodes->Add(v0Lnode); - - v0Lnode->SetVisibility(2); - - partubs[0] = r0Left; - partubs[1] = r4Left; - partubs[2] = fThickness1/2.0; - partubs[3] = 90.0-22.5; - partubs[4] = 135.0-22.5; - - TTUBS *v0L0 = new TTUBS("V0L0", "V0L0", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - - v0L0->SetNumberOfDivisions(ndiv); - v0L0->SetLineColor(7); - - Float_t offsetLeft; - offsetLeft = - fThickness1/2.0; - - Float_t r1Left = r0Left + height1Left; - - partubs[0] = r0Left; - partubs[1] = r1Left; - - TTUBS *v0L1 = new TTUBS("V0L1", "V0L1", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L1->SetNumberOfDivisions(ndiv); - - Float_t r2Left = r1Left + height2Left; - - partubs[0] = r1Left; - partubs[1] = r2Left; - - TTUBS *v0L2 = new TTUBS("V0L2", "V0L2", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L2->SetNumberOfDivisions(ndiv); - - Float_t r3Left = r2Left + height3Left; - - partubs[0] = r2Left; - partubs[1] = r3Left; - - TTUBS *v0L3 = new TTUBS("V0L3", "V0L3", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L3->SetNumberOfDivisions(ndiv); - - partubs[0] = r3Left; - partubs[1] = r4Left; - - TTUBS *v0L4 = new TTUBS("V0L4", "V0L4", "void", partubs[0], partubs[1], partubs[2], - partubs[3], partubs[4]); - v0L4->SetNumberOfDivisions(ndiv); - - Int_t ndetL = 1; - - for (phi = 22.5; phi < 360.0; phi = phi + phiDeg) - - { - - TRotMatrix* mat920 = new TRotMatrix("rot920","rot920", 90.0, +phi, 90., 90.+phi, 0.0, 0.0 ); - - sprintf(nameNode,"SUBDEL%d",ndetL); - - v0Lnode->cd(); - v0Lnode0 = new TNode(nameNode,nameNode,v0L0,0.0,0.0, offsetLeft + halfThickQua,mat920); - v0Lnode0->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode0); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode1 = new TNode(nameNode,nameNode,v0L1,0.0,0.0, 0.0,0); - v0Lnode1->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode1); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode2 = new TNode(nameNode,nameNode,v0L2,0.0,0.0, 0.0,0); - v0Lnode2->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode2); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode3 = new TNode(nameNode,nameNode,v0L3,0.0,0.0, 0.0,0); - v0Lnode3->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode3); - ndetL++; - - sprintf(nameNode,"SUBDEL%d",ndetL); - v0Lnode0->cd(); - v0Lnode4 = new TNode(nameNode,nameNode,v0L4,0.0,0.0, 0.0,0); - v0Lnode4->SetLineColor(kColorVZERO); - fNodes->Add(v0Lnode4); - ndetL++; - - v0Lnode0->SetVisibility(2); - } -} - //_____________________________________________________________________________ void AliVZEROv5::CreateMaterials() { diff --git a/VZERO/AliVZEROv5.h b/VZERO/AliVZEROv5.h index b3c68956b5a..1d83eaec6bd 100755 --- a/VZERO/AliVZEROv5.h +++ b/VZERO/AliVZEROv5.h @@ -24,7 +24,6 @@ public: virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void Init(); diff --git a/VZERO/AliVZEROv6.cxx b/VZERO/AliVZEROv6.cxx index 171e1c134fa..ea3f7c70566 100644 --- a/VZERO/AliVZEROv6.cxx +++ b/VZERO/AliVZEROv6.cxx @@ -127,13 +127,6 @@ AliVZEROv6::AliVZEROv6(const char *name, const char *title): // fFibToPhot = 0.3; // Attenuation at fiber-photocathode interface } -//_____________________________________________________________________________ - -void AliVZEROv6::BuildGeometry() -{ - -} - //_____________________________________________________________________________ void AliVZEROv6::CreateGeometry() { diff --git a/VZERO/AliVZEROv6.h b/VZERO/AliVZEROv6.h index 0d06f95d09e..a93901e5c29 100755 --- a/VZERO/AliVZEROv6.h +++ b/VZERO/AliVZEROv6.h @@ -47,7 +47,6 @@ public: virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void DrawGeometry(); diff --git a/VZERO/AliVZEROv7.cxx b/VZERO/AliVZEROv7.cxx index 87df63909cc..aff0533f059 100644 --- a/VZERO/AliVZEROv7.cxx +++ b/VZERO/AliVZEROv7.cxx @@ -237,12 +237,7 @@ AliVZEROv7::AliVZEROv7(const char *name, const char *title):AliVZERO(name,title) // fV0AnMeters = fV0AR6*0.01; // Tentative value, in meters // fV0AFibToPhot = 0.3; // Attenuation at fiber-photocathode interface } -//_____________________________________________________________________________ -void AliVZEROv7::BuildGeometry() -{ -} - //_____________________________________________________________________________ void AliVZEROv7::CreateGeometry() { diff --git a/VZERO/AliVZEROv7.h b/VZERO/AliVZEROv7.h index b555ffa85b5..c0e9fd770f4 100644 --- a/VZERO/AliVZEROv7.h +++ b/VZERO/AliVZEROv7.h @@ -26,7 +26,6 @@ public: virtual void AddDigits(Int_t *tracks, Int_t *digits); virtual void CreateGeometry(); virtual void AddAlignableVolumes() const; - virtual void BuildGeometry(); virtual void CreateMaterials(); virtual void DrawModule() const; virtual void DrawGeometry(); diff --git a/ZDC/AliZDC.cxx b/ZDC/AliZDC.cxx index 7c03470f312..73aaa997476 100644 --- a/ZDC/AliZDC.cxx +++ b/ZDC/AliZDC.cxx @@ -210,30 +210,6 @@ void AliZDC::AddHit(Int_t track, Int_t *vol, Float_t *hits) delete newquad; } -//_____________________________________________________________________________ -void AliZDC::BuildGeometry() -{ - // - // Build the ROOT TNode geometry for event display - // in the Zero Degree Calorimeter - // This routine is dummy for the moment - // - - TNode *node, *top; - TBRIK *brik; - const int kColorZDC = kBlue; - - // - top=gAlice->GetGeometry()->GetNode("alice"); - - // ZDC - brik = new TBRIK("S_ZDC","ZDC box","void",300,300,5); - top->cd(); - node = new TNode("ZDC","ZDC","S_ZDC",0,0,600,""); - node->SetLineColor(kColorZDC); - fNodes->Add(node); -} - //____________________________________________________________________________ Float_t AliZDC::ZMin(void) const { diff --git a/ZDC/AliZDC.h b/ZDC/AliZDC.h index bbd1dc218c1..2e33afa9972 100644 --- a/ZDC/AliZDC.h +++ b/ZDC/AliZDC.h @@ -26,7 +26,6 @@ public: AliZDC(const AliZDC&); // virtual void AddHit(Int_t track, Int_t *vol, Float_t *hits); - virtual void BuildGeometry(); virtual void CreateGeometry() {} virtual void CreateMaterials() {} virtual Int_t IsVersion() const =0; diff --git a/build/module.dep b/build/module.dep index c9ee7aa8d71..6ad7979b391 100644 --- a/build/module.dep +++ b/build/module.dep @@ -1,13 +1,12 @@ #-*- Mode: Makefile -*- ALIROOT/module.mk: ALIROOT/binaliroot.pkg -ANALYSIS/module.mk: ANALYSIS/libANALYSIS.pkg ANALYSIS/libANALYSISalice.pkg ANALYSIS/libAnalysisOld.pkg ANALYSIS/libANALYSISRL.pkg ANALYSIS/libAliengui.pkg ANALYSIS/binaliengui.pkg +ANALYSIS/module.mk: ANALYSIS/libANALYSIS.pkg ANALYSIS/libANALYSISalice.pkg ANALYSIS/libANALYSISRL.pkg ANALYSIS/libAliengui.pkg ANALYSIS/binaliengui.pkg ACORDE/module.mk: ACORDE/libACORDEbase.pkg ACORDE/libACORDErec.pkg ACORDE/libACORDEsim.pkg EMCAL/module.mk: EMCAL/libEMCALbase.pkg EMCAL/libEMCALsim.pkg EMCAL/libEMCALrec.pkg EMCAL/libEMCALcalib.pkg EVGEN/module.mk: EVGEN/libEVGEN.pkg FMD/module.mk: FMD/libFMDbase.pkg FMD/libFMDsim.pkg FMD/libFMDrec.pkg FMD/libFMDutil.pkg FMD/libFMDflow.pkg FMD/analysis/FMDanalysisLinkDef.h FASTSIM/module.mk: FASTSIM/libFASTSIM.pkg -HBTAN/module.mk: HBTAN/libHBTAN.pkg HERWIG/module.mk: HERWIG/libherwig.pkg HIJING/module.mk: HIJING/libhijing.pkg HLT/module.mk: HLT/bindHLTdumpraw.pkg HLT/libAliHLTRCU.pkg HLT/libHLTbase.pkg HLT/libAliHLTComp.pkg HLT/libAliHLTSample.pkg HLT/libHLTinterface.pkg HLT/libAliHLTHOMER.pkg HLT/libAliHLTTPC.pkg HLT/libHLTrec.pkg HLT/libAliHLTITS.pkg HLT/libAliHLTTRD.pkg HLT/libHLTshuttle.pkg HLT/libAliHLTMUON.pkg HLT/libAliHLTTrigger.pkg HLT/libHLTsim.pkg HLT/libAliHLTPHOS.pkg HLT/libAliHLTEMCAL.pkg HLT/libAliHLTUtil.pkg HLT/libHLTpendolino.pkg @@ -138,7 +137,6 @@ $(LIBPATH)/libTPHIC.$(SOEXT): $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libEVGEN.$ $(LIBPATH)/libANALYSIS.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libANALYSISalice.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libAOD.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libANALYSIS.$(SOEXT) $(LIBPATH)/libANALYSISRL.$(SOEXT): $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libANALYSIS.$(SOEXT) -$(LIBPATH)/libAnalysisOld.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libTPCrec.$(SOEXT) $(LIBPATH)/libITSrec.$(SOEXT) $(LIBPATH)/libAliengui.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libANALYSISalice.$(SOEXT) $(LIBPATH)/libCORRFW.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libAOD.$(SOEXT) $(LIBPATH)/libANALYSIS.$(SOEXT) $(LIBPATH)/libTDPMjet.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libEVGEN.$(SOEXT) $(LIBPATH)/libdpmjet.$(SOEXT) @@ -167,7 +165,6 @@ $(LIBPATH)/libAliHLTTRD.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libA $(LIBPATH)/libAliHLTTPC.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libAliHLTRCU.$(SOEXT) $(LIBPATH)/libAliHLTUtil.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libCDB.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libTPCrec.$(SOEXT) $(LIBPATH)/libTPCcalib.$(SOEXT) $(LIBPATH)/libTPCbase.$(SOEXT) $(LIBPATH)/libRAWDatarec.$(SOEXT) $(LIBPATH)/libRAWDatabase.$(SOEXT) $(LIBPATH)/libAliHLTMUON.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libMUONmapping.$(SOEXT) $(LIBPATH)/libMUONbase.$(SOEXT) $(LIBPATH)/libMUONevaluation.$(SOEXT) $(LIBPATH)/libMUONsim.$(SOEXT) $(LIBPATH)/libMUONcore.$(SOEXT) $(LIBPATH)/libMUONcalib.$(SOEXT) $(LIBPATH)/libMUONgeometry.$(SOEXT) $(LIBPATH)/libMUONraw.$(SOEXT) $(LIBPATH)/libMUONtrigger.$(SOEXT) $(LIBPATH)/libMUONrec.$(SOEXT) $(LIBPATH)/libCDB.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libRAWDatarec.$(SOEXT) $(LIBPATH)/libRAWDatasim.$(SOEXT) $(LIBPATH)/libAliHLTEMCAL.$(SOEXT): $(LIBPATH)/libHLTbase.$(SOEXT) $(LIBPATH)/libAliHLTUtil.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libCDB.$(SOEXT) $(LIBPATH)/libEMCALrec.$(SOEXT) $(LIBPATH)/libEMCALsim.$(SOEXT) $(LIBPATH)/libEMCALbase.$(SOEXT) $(LIBPATH)/libTPCrec.$(SOEXT) $(LIBPATH)/libTPCbase.$(SOEXT) $(LIBPATH)/libTRDrec.$(SOEXT) $(LIBPATH)/libTRDbase.$(SOEXT) $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libRAWDatarec.$(SOEXT) -$(LIBPATH)/libHBTAN.$(SOEXT): $(LIBPATH)/libAnalysisOld.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libTHbtp.$(SOEXT): $(LIBPATH)/libSTEER.$(SOEXT) $(LIBPATH)/libEVGEN.$(SOEXT) $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libmicrocern.$(SOEXT) $(LIBPATH)/libPWG0base.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) $(LIBPATH)/libESD.$(SOEXT) $(LIBPATH)/libANALYSIS.$(SOEXT) $(LIBPATH)/libPWG0dep.$(SOEXT): $(LIBPATH)/libSTEERBase.$(SOEXT) -- 2.43.0